From dbbb43472377b585efac7520a0f98e4482894e4f Mon Sep 17 00:00:00 2001 From: Kevin Papst Date: Fri, 17 Aug 2018 23:17:02 +0200 Subject: [PATCH] dashboard widgets are configurable via config (#269) --- UPGRADING.md | 10 +- config/packages/kimai.yaml | 60 ++- config/services.yaml | 13 + package.json | 2 +- public/build/app.js | 42 +- public/build/manifest.json | 2 +- src/Controller/DashboardController.php | 57 ++- src/DataFixtures/TimesheetFixtures.php | 31 +- src/DependencyInjection/AppExtension.php | 2 + src/DependencyInjection/Configuration.php | 422 ++++++++++++------ src/Event/DashboardEvent.php | 18 +- src/EventSubscriber/DashboardSubscriber.php | 182 ++++---- src/Model/DashboardSection.php | 105 +++++ src/Model/TimesheetGlobalStatistic.php | 77 ---- src/Model/UserStatistic.php | 37 -- src/Model/Widget.php | 219 +++++++++ src/Model/WidgetRow.php | 71 --- src/Repository/ActivityRepository.php | 16 +- src/Repository/CustomerRepository.php | 16 +- src/Repository/ProjectRepository.php | 16 +- src/Repository/TimesheetRepository.php | 185 ++++---- src/Repository/UserRepository.php | 17 +- src/Repository/WidgetRepository.php | 82 ++++ src/Twig/Extensions.php | 2 + templates/dashboard/index.html.twig | 23 +- templates/dashboard/section-chart.html.twig | 180 ++++++++ templates/dashboard/section-simple.html.twig | 34 ++ templates/embeds/widget-counter.html.twig | 10 + templates/embeds/widget-more.html.twig | 14 + templates/macros/widgets.html.twig | 33 -- templates/user/profile.html.twig | 108 +++-- tests/Controller/TimesheetControllerTest.php | 3 +- .../DashboardSubscriberTest.php | 91 ++++ tests/Repository/WidgetRepositoryTest.php | 82 ++++ tests/Twig/ExtensionsTest.php | 34 +- translations/messages.de.xliff | 76 +++- translations/messages.en.xliff | 76 +++- translations/messages.it.xliff | 42 +- translations/messages.ru.xliff | 42 +- var/docs/README.md | 16 +- var/docs/calendar.md | 45 ++ var/docs/configurations.md | 61 +-- var/docs/dashboard.md | 126 ++++++ var/docs/developers.md | 21 +- var/docs/installation.md | 2 +- var/docs/theme.md | 98 ++++ var/docs/timesheet.md | 14 +- var/docs/users.md | 6 +- yarn.lock | 28 +- 49 files changed, 2011 insertions(+), 938 deletions(-) create mode 100644 src/Model/DashboardSection.php delete mode 100644 src/Model/TimesheetGlobalStatistic.php delete mode 100644 src/Model/UserStatistic.php create mode 100644 src/Model/Widget.php delete mode 100644 src/Model/WidgetRow.php create mode 100644 src/Repository/WidgetRepository.php create mode 100644 templates/dashboard/section-chart.html.twig create mode 100644 templates/dashboard/section-simple.html.twig create mode 100644 templates/embeds/widget-counter.html.twig create mode 100644 templates/embeds/widget-more.html.twig create mode 100644 tests/EventSubscriber/DashboardSubscriberTest.php create mode 100644 tests/Repository/WidgetRepositoryTest.php create mode 100644 var/docs/calendar.md create mode 100644 var/docs/dashboard.md create mode 100644 var/docs/theme.md diff --git a/UPGRADING.md b/UPGRADING.md index 4b49168e..ef6931fb 100644 --- a/UPGRADING.md +++ b/UPGRADING.md @@ -15,17 +15,17 @@ which leads to problems between Composer and Symfony Flex, resulting in an error Declaration of Symfony\Flex\ParallelDownloader::getRemoteContents($originUrl, $fileUrl, $context) should be compatible with Composer\Util\RemoteFilesystem::getRemoteContents($originUrl, $fileUrl, $context, ?array &$responseHeaders = NULL) ``` -This can be fixed by updating composer before the Kimai update and running composer without the flex plugin: +This can be fixed by updating Composer and Flex before executing the Kimai update: ``` -composer self-update -sudo -u www-data composer install --no-plugins +sudo composer self-update +sudo -u www-data composer update symfony/flex --no-plugins ``` -So the full update goes like that: +Then the full update can be executed as usual: ```bash git pull origin master -sudo -u www-data composer install --no-dev --optimize-autoloader --no-plugins +sudo -u www-data composer install --no-dev --optimize-autoloader sudo -u www-data bin/console cache:clear --env=prod sudo -u www-data bin/console cache:warmup --env=prod bin/console doctrine:migrations:migrate diff --git a/config/packages/kimai.yaml b/config/packages/kimai.yaml index 9ec6dfab..608f3d88 100644 --- a/config/packages/kimai.yaml +++ b/config/packages/kimai.yaml @@ -68,10 +68,68 @@ kimai: # id: 'de.german#holiday@group.v.calendar.google.com' # color: '#ccc' - # theme related settings, will be available as twig settings + # theme related settings, will be available as twig globals at "kimai_context.*" + # please see documentation at var/docs/theme.md theme: # display a warning color if the user has at least X active recordings active_warning: 3 # fallback color for all widgets that don't have a dedicated color # possible options: blue, black, purple, yellow, red, green box_color: 'green' + + # Dashboard widget sections, please see documentation at var/docs/dashboard.md + dashboard: + user_duration: + title: dashboard.you + order: 10 + permission: ROLE_USER + widgets: [userDurationToday, userDurationWeek, userDurationMonth, userDurationYear] + user_rates: + title: ~ + order: 20 + permission: ROLE_USER + widgets: [userAmountToday, userAmountWeek, userAmountMonth, userAmountYear] + duration: + title: dashboard.all + order: 30 + permission: ROLE_TEAMLEAD + widgets: [durationToday, durationWeek, durationMonth, durationYear] + active_users: + title: ~ + order: 40 + permission: ROLE_TEAMLEAD + widgets: [activeUsersToday, activeUsersWeek, activeUsersMonth, activeUsersYear] + rates: + title: ~ + order: 50 + permission: ROLE_ADMIN + widgets: [amountToday, amountWeek, amountMonth, amountYear] + + # All available widgets, please see documentation at var/docs/dashboard.md + widgets: + userDurationToday: { title: stats.durationToday, query: duration, user: true, begin: '00:00:00', end: '23:59:59', icon: duration, color: green } + userDurationWeek: { title: stats.durationWeek, query: duration, user: true, begin: 'monday this week 00:00:00', end: 'sunday this week 23:59:59', icon: duration, color: blue } + userDurationMonth: { title: stats.durationMonth, query: duration, user: true, begin: 'first day of this month 00:00:00', end: 'last day of this month 23:59:59', icon: duration, color: purple } + userDurationYear: { title: stats.durationYear, query: duration, user: true, begin: '01 january this year 00:00:00', end: '31 december this year 23:59:59', icon: duration, color: yellow } + userDurationTotal: { title: stats.durationTotal, query: duration, user: true, icon: duration, color: red } + userAmountToday: { title: stats.amountToday, query: rate, user: true, begin: '00:00:00', end: '23:59:59', icon: money, color: green } + userAmountWeek: { title: stats.amountWeek, query: rate, user: true, begin: 'monday this week 00:00:00', end: 'sunday this week 23:59:59', icon: money, color: blue } + userAmountMonth: { title: stats.amountMonth, query: rate, user: true, begin: 'first day of this month 00:00:00', end: 'last day of this month 23:59:59', icon: money, color: purple } + userAmountYear: { title: stats.amountYear, query: rate, user: true, begin: '01 january this year 00:00:00', end: '31 december this year 23:59:59', icon: money, color: yellow } + userAmountTotal: { title: stats.amountTotal, query: rate, user: true, icon: money, color: red } + durationToday: { title: stats.durationToday, query: duration, begin: '00:00:00', end: '23:59:59', icon: duration, color: green } + durationWeek: { title: stats.durationWeek, query: duration, begin: 'monday this week 00:00:00', end: 'sunday this week 23:59:59', icon: duration, color: blue } + durationMonth: { title: stats.durationMonth, query: duration, begin: 'first day of this month 00:00:00', end: 'last day of this month 23:59:59', icon: duration, color: purple } + durationYear: { title: stats.durationYear, query: duration, begin: '01 january this year 00:00:00', end: '31 december this year 23:59:59', icon: duration, color: yellow } + durationTotal: { title: stats.durationTotal, query: duration, icon: duration, color: red } + amountToday: { title: stats.amountToday, query: rate, begin: '00:00:00', end: '23:59:59', icon: money, color: green } + amountWeek: { title: stats.amountWeek, query: rate, begin: 'monday this week 00:00:00', end: 'sunday this week 23:59:59', icon: money, color: blue } + amountMonth: { title: stats.amountMonth, query: rate, begin: 'first day of this month 00:00:00', end: 'last day of this month 23:59:59', icon: money, color: purple } + amountYear: { title: stats.amountYear, query: rate, begin: '01 january this year 00:00:00', end: '31 december this year 23:59:59', icon: money, color: yellow } + amountTotal: { title: stats.amountTotal, query: rate, icon: money, color: red } + activeUsersToday: { title: stats.userActiveToday, query: users, begin: '00:00:00', end: '23:59:59', icon: user, color: green } + activeUsersWeek: { title: stats.userActiveWeek, query: users, begin: 'monday this week 00:00:00', end: 'sunday this week 23:59:59', icon: user, color: blue } + activeUsersMonth: { title: stats.userActiveMonth, query: users, begin: 'first day of this month 00:00:00', end: 'last day of this month 23:59:59', icon: user, color: purple } + activeUsersYear: { title: stats.userActiveYear, query: users, begin: '01 january this year 00:00:00', end: '31 december this year 23:59:59', icon: user, color: yellow } + activeUsersTotal: { title: stats.userActiveTotal, query: users, icon: user, color: red } + activeRecordings: { title: stats.activeRecordings, query: active, icon: duration, color: red } diff --git a/config/services.yaml b/config/services.yaml index fde402b0..5b2e289c 100644 --- a/config/services.yaml +++ b/config/services.yaml @@ -46,6 +46,14 @@ services: arguments: $config: "%kimai.calendar%" + App\Repository\WidgetRepository: + arguments: + $widgets: "%kimai.widgets%" + + App\Controller\DashboardController: + arguments: + $dashboard: "%kimai.dashboard%" + # ================================================================================ # DATABASE # ================================================================================ @@ -109,6 +117,11 @@ services: # REPOSITORIES # ================================================================================ + App\Repository\TimesheetRepository: + class: Doctrine\ORM\EntityRepository + factory: ['@doctrine.orm.entity_manager', getRepository] + arguments: ['App\Entity\Timesheet'] + App\Repository\UserRepository: class: Doctrine\ORM\EntityRepository factory: ['@doctrine.orm.entity_manager', getRepository] diff --git a/package.json b/package.json index aaad6242..068b52d5 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "admin-lte": "~2.3.11", "bootstrap-sass": "^3.3.7", "bootstrap-select": "^1.13.1", - "chart.js": "1.1.*", + "chart.js": "~2.7.2", "daterangepicker": "^3.0.3", "fullcalendar": "^3.9.0", "icheck": "^1.0.2", diff --git a/public/build/app.js b/public/build/app.js index 12022bab..a035a509 100644 --- a/public/build/app.js +++ b/public/build/app.js @@ -1,4 +1,13 @@ -!function(e){function t(i){if(n[i])return n[i].exports;var s=n[i]={i:i,l:!1,exports:{}};return e[i].call(s.exports,s,s.exports,t),s.l=!0,s.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,i){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:i})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s="ET/6")}({"+27R":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";function t(e,t,n,i){var s={s:["thodde secondanim","thodde second"],ss:[e+" secondanim",e+" second"],m:["eka mintan","ek minute"],mm:[e+" mintanim",e+" mintam"],h:["eka horan","ek hor"],hh:[e+" horanim",e+" horam"],d:["eka disan","ek dis"],dd:[e+" disanim",e+" dis"],M:["eka mhoinean","ek mhoino"],MM:[e+" mhoineanim",e+" mhoine"],y:["eka vorsan","ek voros"],yy:[e+" vorsanim",e+" vorsam"]};return t?s[n][0]:s[n][1]}return e.defineLocale("gom-latn",{months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Ieta to] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fatlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(e,t){switch(t){case"D":return e+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return e}},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(e,t){return 12===e&&(e=0),"rati"===t?e<4?e:e+12:"sokalli"===t?e:"donparam"===t?e>12?e:e+12:"sanje"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"rati":e<12?"sokalli":e<16?"donparam":e<20?"sanje":"rati"}})})},"+7/x":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";var t={1:"௧",2:"௨",3:"௩",4:"௪",5:"௫",6:"௬",7:"௭",8:"௮",9:"௯",0:"௦"},n={"௧":"1","௨":"2","௩":"3","௪":"4","௫":"5","௬":"6","௭":"7","௮":"8","௯":"9","௦":"0"};return e.defineLocale("ta",{months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),weekdaysShort:"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[இன்று] LT",nextDay:"[நாளை] LT",nextWeek:"dddd, LT",lastDay:"[நேற்று] LT",lastWeek:"[கடந்த வாரம்] dddd, LT",sameElse:"L"},relativeTime:{future:"%s இல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",ss:"%d விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"%d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"},dayOfMonthOrdinalParse:/\d{1,2}வது/,ordinal:function(e){return e+"வது"},preparse:function(e){return e.replace(/[௧௨௩௪௫௬௭௮௯௦]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function(e,t,n){return e<2?" யாமம்":e<6?" வைகறை":e<10?" காலை":e<14?" நண்பகல்":e<18?" எற்பாடு":e<22?" மாலை":" யாமம்"},meridiemHour:function(e,t){return 12===e&&(e=0),"யாமம்"===t?e<2?e:e+12:"வைகறை"===t||"காலை"===t?e:"நண்பகல்"===t&&e>=10?e:e+12},week:{dow:0,doy:6}})})},"/6P1":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";function t(e,t,n,i){return t?"kelios sekundės":i?"kelių sekundžių":"kelias sekundes"}function n(e,t,n,i){return t?s(n)[0]:i?s(n)[1]:s(n)[2]}function i(e){return e%10==0||e>10&&e<20}function s(e){return r[e].split("_")}function a(e,t,a,r){var o=e+" ";return 1===e?o+n(e,t,a[0],r):t?o+(i(e)?s(a)[1]:s(a)[0]):r?o+s(a)[1]:o+(i(e)?s(a)[1]:s(a)[2])}var r={ss:"sekundė_sekundžių_sekundes",m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"};return e.defineLocale("lt",{months:{format:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:t,ss:a,m:n,mm:a,h:n,hh:a,d:n,dd:a,M:n,MM:a,y:n,yy:a},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(e){return e+"-oji"},week:{dow:1,doy:4}})})},"/bsm":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";return e.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}})})},"/mhn":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";var t={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};return e.defineLocale("ne",{months:"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),monthsParseExact:!0,weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),weekdaysMin:"आ._सो._मं._बु._बि._शु._श.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"Aको h:mm बजे",LTS:"Aको h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, Aको h:mm बजे",LLLL:"dddd, D MMMM YYYY, Aको h:mm बजे"},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function(e,t){return 12===e&&(e=0),"राति"===t?e<4?e:e+12:"बिहान"===t?e:"दिउँसो"===t?e>=10?e:e+12:"साँझ"===t?e+12:void 0},meridiem:function(e,t,n){return e<3?"राति":e<12?"बिहान":e<16?"दिउँसो":e<20?"साँझ":"राति"},calendar:{sameDay:"[आज] LT",nextDay:"[भोलि] LT",nextWeek:"[आउँदो] dddd[,] LT",lastDay:"[हिजो] LT",lastWeek:"[गएको] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sमा",past:"%s अगाडि",s:"केही क्षण",ss:"%d सेकेण्ड",m:"एक मिनेट",mm:"%d मिनेट",h:"एक घण्टा",hh:"%d घण्टा",d:"एक दिन",dd:"%d दिन",M:"एक महिना",MM:"%d महिना",y:"एक बर्ष",yy:"%d बर्ष"},week:{dow:0,doy:6}})})},"0X8Q":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";return e.defineLocale("vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(e){return/^ch$/i.test(e)},meridiem:function(e,t,n){return e<12?n?"sa":"SA":n?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",ss:"%d giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}})})},"2pmY":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";var t={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},n={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"};return e.defineLocale("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(e){return/بعد از ظهر/.test(e)},meridiem:function(e,t,n){return e<12?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چند ثانیه",ss:"ثانیه d%",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(e){return e.replace(/[۰-۹]/g,function(e){return n[e]}).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]}).replace(/,/g,"،")},dayOfMonthOrdinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}})})},"2s1U":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";function t(e,t,n,i){var s=e+" ";switch(n){case"s":return t||i?"nekaj sekund":"nekaj sekundami";case"ss":return s+=1===e?t?"sekundo":"sekundi":2===e?t||i?"sekundi":"sekundah":e<5?t||i?"sekunde":"sekundah":"sekund";case"m":return t?"ena minuta":"eno minuto";case"mm":return s+=1===e?t?"minuta":"minuto":2===e?t||i?"minuti":"minutama":e<5?t||i?"minute":"minutami":t||i?"minut":"minutami";case"h":return t?"ena ura":"eno uro";case"hh":return s+=1===e?t?"ura":"uro":2===e?t||i?"uri":"urama":e<5?t||i?"ure":"urami":t||i?"ur":"urami";case"d":return t||i?"en dan":"enim dnem";case"dd":return s+=1===e?t||i?"dan":"dnem":2===e?t||i?"dni":"dnevoma":t||i?"dni":"dnevi";case"M":return t||i?"en mesec":"enim mesecem";case"MM":return s+=1===e?t||i?"mesec":"mesecem":2===e?t||i?"meseca":"mesecema":e<5?t||i?"mesece":"meseci":t||i?"mesecev":"meseci";case"y":return t||i?"eno leto":"enim letom";case"yy":return s+=1===e?t||i?"leto":"letom":2===e?t||i?"leti":"letoma":e<5?t||i?"leta":"leti":t||i?"let":"leti"}}return e.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejšnjo] [nedeljo] [ob] LT";case 3:return"[prejšnjo] [sredo] [ob] LT";case 6:return"[prejšnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},"3CJN":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";return e.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(e){return/^nm$/i.test(e)},meridiem:function(e,t,n){return e<12?n?"vm":"VM":n?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}})})},"3EEf":function(e,t){},"3IRH":function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},"3K28":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";var t="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),i=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],s=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;return e.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,i){return e?/-MMM-/.test(i)?n[e.month()]:t[e.month()]:t},monthsRegex:s,monthsShortRegex:s,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:i,longMonthsParse:i,shortMonthsParse:i,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}})})},"3LKG":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";return e.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}})})},"3MVc":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";var t={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},i=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},s={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},a=function(e){return function(t,n,a,r){var o=i(t),d=s[e][i(t)];return 2===o&&(d=d[n?0:1]),d.replace(/%d/i,t)}},r=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];return e.defineLocale("ar",{months:r,monthsShort:r,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,t,n){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:a("s"),ss:a("s"),m:a("m"),mm:a("m"),h:a("h"),hh:a("h"),d:a("d"),dd:a("d"),M:a("M"),MM:a("M"),y:a("y"),yy:a("y")},preparse:function(e){return e.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(e){return n[e]}).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]}).replace(/,/g,"،")},week:{dow:6,doy:12}})})},"3hfc":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";function t(e,t){var n=e.split("_");return t%10==1&&t%100!=11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,i){var s={ss:n?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:n?"хвіліна_хвіліны_хвілін":"хвіліну_хвіліны_хвілін",hh:n?"гадзіна_гадзіны_гадзін":"гадзіну_гадзіны_гадзін",dd:"дзень_дні_дзён",MM:"месяц_месяцы_месяцаў",yy:"год_гады_гадоў"};return"m"===i?n?"хвіліна":"хвіліну":"h"===i?n?"гадзіна":"гадзіну":e+" "+t(s[i],+e)}return e.defineLocale("be",{months:{format:"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_"),standalone:"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_")},monthsShort:"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdays:{format:"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_"),standalone:"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),isFormat:/\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/},weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_"),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сёння ў] LT",nextDay:"[Заўтра ў] LT",lastDay:"[Учора ў] LT",nextWeek:function(){return"[У] dddd [ў] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[У мінулую] dddd [ў] LT";case 1:case 2:case 4:return"[У мінулы] dddd [ў] LT"}},sameElse:"L"},relativeTime:{future:"праз %s",past:"%s таму",s:"некалькі секунд",m:n,mm:n,h:n,hh:n,d:"дзень",dd:n,M:"месяц",MM:n,y:"год",yy:n},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(e){return/^(дня|вечара)$/.test(e)},meridiem:function(e,t,n){return e<4?"ночы":e<12?"раніцы":e<17?"дня":"вечара"},dayOfMonthOrdinalParse:/\d{1,2}-(і|ы|га)/,ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":case"w":case"W":return e%10!=2&&e%10!=3||e%100==12||e%100==13?e+"-ы":e+"-і";case"D":return e+"-га";default:return e}},week:{dow:1,doy:7}})})},"5Omq":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";return e.defineLocale("se",{months:"ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu".split("_"),monthsShort:"ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov".split("_"),weekdays:"sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),weekdaysShort:"sotn_vuos_maŋ_gask_duor_bear_láv".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s geažes",past:"maŋit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta mánnu",MM:"%d mánut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},"5SNd":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";var t={0:"-ум",1:"-ум",2:"-юм",3:"-юм",4:"-ум",5:"-ум",6:"-ум",7:"-ум",8:"-ум",9:"-ум",10:"-ум",12:"-ум",13:"-ум",20:"-ум",30:"-юм",40:"-ум",50:"-ум",60:"-ум",70:"-ум",80:"-ум",90:"-ум",100:"-ум"};return e.defineLocale("tg",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе".split("_"),weekdaysShort:"яшб_дшб_сшб_чшб_пшб_ҷум_шнб".split("_"),weekdaysMin:"яш_дш_сш_чш_пш_ҷм_шб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Имрӯз соати] LT",nextDay:"[Пагоҳ соати] LT",lastDay:"[Дирӯз соати] LT",nextWeek:"dddd[и] [ҳафтаи оянда соати] LT",lastWeek:"dddd[и] [ҳафтаи гузашта соати] LT",sameElse:"L"},relativeTime:{future:"баъди %s",past:"%s пеш",s:"якчанд сония",m:"як дақиқа",mm:"%d дақиқа",h:"як соат",hh:"%d соат",d:"як рӯз",dd:"%d рӯз",M:"як моҳ",MM:"%d моҳ",y:"як сол",yy:"%d сол"},meridiemParse:/шаб|субҳ|рӯз|бегоҳ/,meridiemHour:function(e,t){return 12===e&&(e=0),"шаб"===t?e<4?e:e+12:"субҳ"===t?e:"рӯз"===t?e>=11?e:e+12:"бегоҳ"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"шаб":e<11?"субҳ":e<16?"рӯз":e<19?"бегоҳ":"шаб"},dayOfMonthOrdinalParse:/\d{1,2}-(ум|юм)/,ordinal:function(e){var n=e%10,i=e>=100?100:null;return e+(t[e]||t[n]||t[i])},week:{dow:1,doy:7}})})},"5j66":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";var t={1:"១",2:"២",3:"៣",4:"៤",5:"៥",6:"៦",7:"៧",8:"៨",9:"៩",0:"០"},n={"១":"1","២":"2","៣":"3","៤":"4","៥":"5","៦":"6","៧":"7","៨":"8","៩":"9","០":"0"};return e.defineLocale("km",{months:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),monthsShort:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),weekdays:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysShort:"អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),weekdaysMin:"អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/ព្រឹក|ល្ងាច/,isPM:function(e){return"ល្ងាច"===e},meridiem:function(e,t,n){return e<12?"ព្រឹក":"ល្ងាច"},calendar:{sameDay:"[ថ្ងៃនេះ ម៉ោង] LT",nextDay:"[ស្អែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោង] LT",lastWeek:"dddd [សប្តាហ៍មុន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future:"%sទៀត",past:"%sមុន",s:"ប៉ុន្មានវិនាទី",ss:"%d វិនាទី",m:"មួយនាទី",mm:"%d នាទី",h:"មួយម៉ោង",hh:"%d ម៉ោង",d:"មួយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មួយខែ",MM:"%d ខែ",y:"មួយឆ្នាំ",yy:"%d ឆ្នាំ"},dayOfMonthOrdinalParse:/ទី\d{1,2}/,ordinal:"ទី%d",preparse:function(e){return e.replace(/[១២៣៤៥៦៧៨៩០]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},week:{dow:1,doy:4}})})},"5vPg":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";function t(e,t,n,i){var s="";if(t)switch(n){case"s":s="काही सेकंद";break;case"ss":s="%d सेकंद";break;case"m":s="एक मिनिट";break;case"mm":s="%d मिनिटे";break;case"h":s="एक तास";break;case"hh":s="%d तास";break;case"d":s="एक दिवस";break;case"dd":s="%d दिवस";break;case"M":s="एक महिना";break;case"MM":s="%d महिने";break;case"y":s="एक वर्ष";break;case"yy":s="%d वर्षे"}else switch(n){case"s":s="काही सेकंदां";break;case"ss":s="%d सेकंदां";break;case"m":s="एका मिनिटा";break;case"mm":s="%d मिनिटां";break;case"h":s="एका तासा";break;case"hh":s="%d तासां";break;case"d":s="एका दिवसा";break;case"dd":s="%d दिवसां";break;case"M":s="एका महिन्या";break;case"MM":s="%d महिन्यां";break;case"y":s="एका वर्षा";break;case"yy":s="%d वर्षां"}return s.replace(/%d/i,e)}var n={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},i={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};return e.defineLocale("mr",{months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm वाजता",LTS:"A h:mm:ss वाजता",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm वाजता",LLLL:"dddd, D MMMM YYYY, A h:mm वाजता"},calendar:{sameDay:"[आज] LT",nextDay:"[उद्या] LT",nextWeek:"dddd, LT",lastDay:"[काल] LT",lastWeek:"[मागील] dddd, LT",sameElse:"L"},relativeTime:{future:"%sमध्ये",past:"%sपूर्वी",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(e){return i[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return n[e]})},meridiemParse:/रात्री|सकाळी|दुपारी|सायंकाळी/,meridiemHour:function(e,t){return 12===e&&(e=0),"रात्री"===t?e<4?e:e+12:"सकाळी"===t?e:"दुपारी"===t?e>=10?e:e+12:"सायंकाळी"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"रात्री":e<10?"सकाळी":e<17?"दुपारी":e<20?"सायंकाळी":"रात्री"},week:{dow:0,doy:6}})})},"6cf8":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";var t={0:"-чү",1:"-чи",2:"-чи",3:"-чү",4:"-чү",5:"-чи",6:"-чы",7:"-чи",8:"-чи",9:"-чу",10:"-чу",20:"-чы",30:"-чу",40:"-чы",50:"-чү",60:"-чы",70:"-чи",80:"-чи",90:"-чу",100:"-чү"};return e.defineLocale("ky",{months:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),monthsShort:"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),weekdays:"Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби".split("_"),weekdaysShort:"Жек_Дүй_Шей_Шар_Бей_Жум_Ише".split("_"),weekdaysMin:"Жк_Дй_Шй_Шр_Бй_Жм_Иш".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгүн саат] LT",nextDay:"[Эртең саат] LT",nextWeek:"dddd [саат] LT",lastDay:"[Кече саат] LT",lastWeek:"[Өткен аптанын] dddd [күнү] [саат] LT",sameElse:"L"},relativeTime:{future:"%s ичинде",past:"%s мурун",s:"бирнече секунд",ss:"%d секунд",m:"бир мүнөт",mm:"%d мүнөт",h:"бир саат",hh:"%d саат",d:"бир күн",dd:"%d күн",M:"бир ай",MM:"%d ай",y:"бир жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(чи|чы|чү|чу)/,ordinal:function(e){var n=e%10,i=e>=100?100:null;return e+(t[e]||t[n]||t[i])},week:{dow:1,doy:7}})})},"7LV+":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";function t(e){return e%10<5&&e%10>1&&~~(e/10)%10!=1}function n(e,n,i){var s=e+" ";switch(i){case"ss":return s+(t(e)?"sekundy":"sekund");case"m":return n?"minuta":"minutę";case"mm":return s+(t(e)?"minuty":"minut");case"h":return n?"godzina":"godzinę";case"hh":return s+(t(e)?"godziny":"godzin");case"MM":return s+(t(e)?"miesiące":"miesięcy");case"yy":return s+(t(e)?"lata":"lat")}}var i="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),s="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_");return e.defineLocale("pl",{months:function(e,t){return e?""===t?"("+s[e.month()]+"|"+i[e.month()]+")":/D MMMM/.test(t)?s[e.month()]:i[e.month()]:i},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_śr_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedzielę o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W środę o] LT";case 6:return"[W sobotę o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:n,m:n,mm:n,h:n,hh:n,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:n,y:"rok",yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},"7MHZ":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";var t="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),i=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],s=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;return e.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,i){return e?/-MMM-/.test(i)?n[e.month()]:t[e.month()]:t},monthsRegex:s,monthsShortRegex:s,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:i,longMonthsParse:i,shortMonthsParse:i,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},"7OnE":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";var t={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"};return e.defineLocale("ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,t,n){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(e){return e.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(e){return n[e]}).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]}).replace(/,/g,"،")},week:{dow:0,doy:6}})})},"7Q8x":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";return e.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(e,t,n){return e<11?"ekuseni":e<15?"emini":e<19?"entsambama":"ebusuku"},meridiemHour:function(e,t){return 12===e&&(e=0),"ekuseni"===t?e:"emini"===t?e>=11?e:e+12:"entsambama"===t||"ebusuku"===t?0===e?0:e+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}})})},"7t+N":function(e,t,n){var i,s;/*! +!function(e){function t(i){if(n[i])return n[i].exports;var a=n[i]={i:i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,i){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:i})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s="ET/6")}({"+27R":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";function t(e,t,n,i){var a={s:["thodde secondanim","thodde second"],ss:[e+" secondanim",e+" second"],m:["eka mintan","ek minute"],mm:[e+" mintanim",e+" mintam"],h:["eka horan","ek hor"],hh:[e+" horanim",e+" horam"],d:["eka disan","ek dis"],dd:[e+" disanim",e+" dis"],M:["eka mhoinean","ek mhoino"],MM:[e+" mhoineanim",e+" mhoine"],y:["eka vorsan","ek voros"],yy:[e+" vorsanim",e+" vorsam"]};return t?a[n][0]:a[n][1]}return e.defineLocale("gom-latn",{months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Ieta to] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fatlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(e,t){switch(t){case"D":return e+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return e}},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(e,t){return 12===e&&(e=0),"rati"===t?e<4?e:e+12:"sokalli"===t?e:"donparam"===t?e>12?e:e+12:"sanje"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"rati":e<12?"sokalli":e<16?"donparam":e<20?"sanje":"rati"}})})},"+7/x":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";var t={1:"௧",2:"௨",3:"௩",4:"௪",5:"௫",6:"௬",7:"௭",8:"௮",9:"௯",0:"௦"},n={"௧":"1","௨":"2","௩":"3","௪":"4","௫":"5","௬":"6","௭":"7","௮":"8","௯":"9","௦":"0"};return e.defineLocale("ta",{months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),weekdaysShort:"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[இன்று] LT",nextDay:"[நாளை] LT",nextWeek:"dddd, LT",lastDay:"[நேற்று] LT",lastWeek:"[கடந்த வாரம்] dddd, LT",sameElse:"L"},relativeTime:{future:"%s இல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",ss:"%d விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"%d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"},dayOfMonthOrdinalParse:/\d{1,2}வது/,ordinal:function(e){return e+"வது"},preparse:function(e){return e.replace(/[௧௨௩௪௫௬௭௮௯௦]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function(e,t,n){return e<2?" யாமம்":e<6?" வைகறை":e<10?" காலை":e<14?" நண்பகல்":e<18?" எற்பாடு":e<22?" மாலை":" யாமம்"},meridiemHour:function(e,t){return 12===e&&(e=0),"யாமம்"===t?e<2?e:e+12:"வைகறை"===t||"காலை"===t?e:"நண்பகல்"===t&&e>=10?e:e+12},week:{dow:0,doy:6}})})},"/6P1":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";function t(e,t,n,i){return t?"kelios sekundės":i?"kelių sekundžių":"kelias sekundes"}function n(e,t,n,i){return t?a(n)[0]:i?a(n)[1]:a(n)[2]}function i(e){return e%10==0||e>10&&e<20}function a(e){return s[e].split("_")}function r(e,t,r,s){var o=e+" ";return 1===e?o+n(e,t,r[0],s):t?o+(i(e)?a(r)[1]:a(r)[0]):s?o+a(r)[1]:o+(i(e)?a(r)[1]:a(r)[2])}var s={ss:"sekundė_sekundžių_sekundes",m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"};return e.defineLocale("lt",{months:{format:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:t,ss:r,m:n,mm:r,h:n,hh:r,d:n,dd:r,M:n,MM:r,y:n,yy:r},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(e){return e+"-oji"},week:{dow:1,doy:4}})})},"/bsm":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";return e.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}})})},"/mhn":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";var t={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};return e.defineLocale("ne",{months:"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),monthsParseExact:!0,weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),weekdaysMin:"आ._सो._मं._बु._बि._शु._श.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"Aको h:mm बजे",LTS:"Aको h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, Aको h:mm बजे",LLLL:"dddd, D MMMM YYYY, Aको h:mm बजे"},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function(e,t){return 12===e&&(e=0),"राति"===t?e<4?e:e+12:"बिहान"===t?e:"दिउँसो"===t?e>=10?e:e+12:"साँझ"===t?e+12:void 0},meridiem:function(e,t,n){return e<3?"राति":e<12?"बिहान":e<16?"दिउँसो":e<20?"साँझ":"राति"},calendar:{sameDay:"[आज] LT",nextDay:"[भोलि] LT",nextWeek:"[आउँदो] dddd[,] LT",lastDay:"[हिजो] LT",lastWeek:"[गएको] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sमा",past:"%s अगाडि",s:"केही क्षण",ss:"%d सेकेण्ड",m:"एक मिनेट",mm:"%d मिनेट",h:"एक घण्टा",hh:"%d घण्टा",d:"एक दिन",dd:"%d दिन",M:"एक महिना",MM:"%d महिना",y:"एक बर्ष",yy:"%d बर्ष"},week:{dow:0,doy:6}})})},"0X8Q":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";return e.defineLocale("vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(e){return/^ch$/i.test(e)},meridiem:function(e,t,n){return e<12?n?"sa":"SA":n?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",ss:"%d giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}})})},"1QPC":function(e,t,n){var i,i;/*! + * Chart.js + * http://chartjs.org/ + * Version: 2.7.2 + * + * Copyright 2018 Chart.js Contributors + * Released under the MIT license + * https://github.com/chartjs/Chart.js/blob/master/LICENSE.md + */ +!function(t){e.exports=t()}(function(){return function e(t,n,a){function r(o,d){if(!n[o]){if(!t[o]){var l="function"==typeof i&&i;if(!d&&l)return i(o,!0);if(s)return s(o,!0);var u=new Error("Cannot find module '"+o+"'");throw u.code="MODULE_NOT_FOUND",u}var c=n[o]={exports:{}};t[o][0].call(c.exports,function(e){return r(t[o][1][e]||e)},c,c.exports,e,t,n,a)}return n[o].exports}for(var s="function"==typeof i&&i,o=0;on?(t+.05)/(n+.05):(n+.05)/(t+.05)},level:function(e){var t=this.contrast(e);return t>=7.1?"AAA":t>=4.5?"AA":""},dark:function(){var e=this.values.rgb;return(299*e[0]+587*e[1]+114*e[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var e=[],t=0;t<3;t++)e[t]=255-this.values.rgb[t];return this.setValues("rgb",e),this},lighten:function(e){var t=this.values.hsl;return t[2]+=t[2]*e,this.setValues("hsl",t),this},darken:function(e){var t=this.values.hsl;return t[2]-=t[2]*e,this.setValues("hsl",t),this},saturate:function(e){var t=this.values.hsl;return t[1]+=t[1]*e,this.setValues("hsl",t),this},desaturate:function(e){var t=this.values.hsl;return t[1]-=t[1]*e,this.setValues("hsl",t),this},whiten:function(e){var t=this.values.hwb;return t[1]+=t[1]*e,this.setValues("hwb",t),this},blacken:function(e){var t=this.values.hwb;return t[2]+=t[2]*e,this.setValues("hwb",t),this},greyscale:function(){var e=this.values.rgb,t=.3*e[0]+.59*e[1]+.11*e[2];return this.setValues("rgb",[t,t,t]),this},clearer:function(e){var t=this.values.alpha;return this.setValues("alpha",t-t*e),this},opaquer:function(e){var t=this.values.alpha;return this.setValues("alpha",t+t*e),this},rotate:function(e){var t=this.values.hsl,n=(t[0]+e)%360;return t[0]=n<0?360+n:n,this.setValues("hsl",t),this},mix:function(e,t){var n=this,i=e,a=void 0===t?.5:t,r=2*a-1,s=n.alpha()-i.alpha(),o=((r*s==-1?r:(r+s)/(1+r*s))+1)/2,d=1-o;return this.rgb(o*n.red()+d*i.red(),o*n.green()+d*i.green(),o*n.blue()+d*i.blue()).alpha(n.alpha()*a+i.alpha()*(1-a))},toJSON:function(){return this.rgb()},clone:function(){var e,t,n=new r,i=this.values,a=n.values;for(var s in i)i.hasOwnProperty(s)&&(e=i[s],"[object Array]"===(t={}.toString.call(e))?a[s]=e.slice(0):"[object Number]"===t?a[s]=e:console.error("unexpected color value:",e));return n}},r.prototype.spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},r.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},r.prototype.getValues=function(e){for(var t=this.values,n={},i=0;i.04045?Math.pow((t+.055)/1.055,2.4):t/12.92)+.3576*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.1805*(i=i>.04045?Math.pow((i+.055)/1.055,2.4):i/12.92)),100*(.2126*t+.7152*n+.0722*i),100*(.0193*t+.1192*n+.9505*i)]}function u(e){var t=l(e),n=t[0],i=t[1],a=t[2];return i/=100,a/=108.883,n=(n/=95.047)>.008856?Math.pow(n,1/3):7.787*n+16/116,[116*(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116)-16,500*(n-i),200*(i-(a=a>.008856?Math.pow(a,1/3):7.787*a+16/116))]}function c(e){var t,n,i,a,r,s=e[0]/360,o=e[1]/100,d=e[2]/100;if(0==o)return[r=255*d,r,r];t=2*d-(n=d<.5?d*(1+o):d+o-d*o),a=[0,0,0];for(var l=0;l<3;l++)(i=s+1/3*-(l-1))<0&&i++,i>1&&i--,r=6*i<1?t+6*(n-t)*i:2*i<1?n:3*i<2?t+(n-t)*(2/3-i)*6:t,a[l]=255*r;return a}function h(e){var t=e[0]/60,n=e[1]/100,i=e[2]/100,a=Math.floor(t)%6,r=t-Math.floor(t),s=255*i*(1-n),o=255*i*(1-n*r),d=255*i*(1-n*(1-r));switch(i*=255,a){case 0:return[i,d,s];case 1:return[o,i,s];case 2:return[s,i,d];case 3:return[s,o,i];case 4:return[d,s,i];case 5:return[i,s,o]}}function m(e){var t,n,i,a,s=e[0]/360,o=e[1]/100,d=e[2]/100,l=o+d;switch(l>1&&(o/=l,d/=l),i=6*s-(t=Math.floor(6*s)),0!=(1&t)&&(i=1-i),a=o+i*((n=1-d)-o),t){default:case 6:case 0:r=n,g=a,b=o;break;case 1:r=a,g=n,b=o;break;case 2:r=o,g=n,b=a;break;case 3:r=o,g=a,b=n;break;case 4:r=a,g=o,b=n;break;case 5:r=n,g=o,b=a}return[255*r,255*g,255*b]}function p(e){var t=e[0]/100,n=e[1]/100,i=e[2]/100,a=e[3]/100;return[255*(1-Math.min(1,t*(1-a)+a)),255*(1-Math.min(1,n*(1-a)+a)),255*(1-Math.min(1,i*(1-a)+a))]}function f(e){var t,n,i,a=e[0]/100,r=e[1]/100,s=e[2]/100;return n=-.9689*a+1.8758*r+.0415*s,i=.0557*a+-.204*r+1.057*s,t=(t=3.2406*a+-1.5372*r+-.4986*s)>.0031308?1.055*Math.pow(t,1/2.4)-.055:t*=12.92,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:n*=12.92,i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:i*=12.92,[255*(t=Math.min(Math.max(0,t),1)),255*(n=Math.min(Math.max(0,n),1)),255*(i=Math.min(Math.max(0,i),1))]}function _(e){var t=e[0],n=e[1],i=e[2];return n/=100,i/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(t-n),200*(n-(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116))]}function y(e){var t,n,i,a,r=e[0],s=e[1],o=e[2];return r<=8?a=(n=100*r/903.3)/100*7.787+16/116:(n=100*Math.pow((r+16)/116,3),a=Math.pow(n/100,1/3)),[t=t/95.047<=.008856?t=95.047*(s/500+a-16/116)/7.787:95.047*Math.pow(s/500+a,3),n,i=i/108.883<=.008859?i=108.883*(a-o/200-16/116)/7.787:108.883*Math.pow(a-o/200,3)]}function v(e){var t,n=e[0],i=e[1],a=e[2];return(t=360*Math.atan2(a,i)/2/Math.PI)<0&&(t+=360),[n,Math.sqrt(i*i+a*a),t]}function M(e){return f(y(e))}function L(e){var t,n=e[0],i=e[1];return t=e[2]/360*2*Math.PI,[n,i*Math.cos(t),i*Math.sin(t)]}function D(e){return k[e]}t.exports={rgb2hsl:i,rgb2hsv:a,rgb2hwb:s,rgb2cmyk:o,rgb2keyword:d,rgb2xyz:l,rgb2lab:u,rgb2lch:function(e){return v(u(e))},hsl2rgb:c,hsl2hsv:function(e){var t=e[0],n=e[1]/100,i=e[2]/100;return 0===i?[0,0,0]:[t,2*(n*=(i*=2)<=1?i:2-i)/(i+n)*100,(i+n)/2*100]},hsl2hwb:function(e){return s(c(e))},hsl2cmyk:function(e){return o(c(e))},hsl2keyword:function(e){return d(c(e))},hsv2rgb:h,hsv2hsl:function(e){var t,n,i=e[0],a=e[1]/100,r=e[2]/100;return t=a*r,[i,100*(t=(t/=(n=(2-a)*r)<=1?n:2-n)||0),100*(n/=2)]},hsv2hwb:function(e){return s(h(e))},hsv2cmyk:function(e){return o(h(e))},hsv2keyword:function(e){return d(h(e))},hwb2rgb:m,hwb2hsl:function(e){return i(m(e))},hwb2hsv:function(e){return a(m(e))},hwb2cmyk:function(e){return o(m(e))},hwb2keyword:function(e){return d(m(e))},cmyk2rgb:p,cmyk2hsl:function(e){return i(p(e))},cmyk2hsv:function(e){return a(p(e))},cmyk2hwb:function(e){return s(p(e))},cmyk2keyword:function(e){return d(p(e))},keyword2rgb:D,keyword2hsl:function(e){return i(D(e))},keyword2hsv:function(e){return a(D(e))},keyword2hwb:function(e){return s(D(e))},keyword2cmyk:function(e){return o(D(e))},keyword2lab:function(e){return u(D(e))},keyword2xyz:function(e){return l(D(e))},xyz2rgb:f,xyz2lab:_,xyz2lch:function(e){return v(_(e))},lab2xyz:y,lab2rgb:M,lab2lch:v,lch2lab:L,lch2xyz:function(e){return y(L(e))},lch2rgb:function(e){return M(L(e))}};var k={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},w={};for(var T in k)w[JSON.stringify(k[T])]=T},{}],5:[function(e,t,n){var i=e(4),a=function(){return new l};for(var r in i){a[r+"Raw"]=function(e){return function(t){return"number"==typeof t&&(t=Array.prototype.slice.call(arguments)),i[e](t)}}(r);var s=/(\w+)2(\w+)/.exec(r),o=s[1],d=s[2];(a[o]=a[o]||{})[d]=a[r]=function(e){return function(t){"number"==typeof t&&(t=Array.prototype.slice.call(arguments));var n=i[e](t);if("string"==typeof n||void 0===n)return n;for(var a=0;a0&&(e[0].yLabel?n=e[0].yLabel:t.labels.length>0&&e[0].index0?Math.min(s,i-n):s,n=i;return s}(n,l):-1,pixels:l,start:o,end:d,stackCount:i,scale:n}},calculateBarValuePixels:function(e,t){var n,i,a,r,s,o,d=this.chart,l=this.getMeta(),u=this.getValueScale(),c=d.data.datasets,h=u.getRightValue(c[e].data[t]),m=u.options.stacked,p=l.stack,f=0;if(m||void 0===m&&void 0!==p)for(n=0;n=0&&a>0)&&(f+=a));return r=u.getPixelForValue(f),{size:o=((s=u.getPixelForValue(f+h))-r)/2,base:r,head:s,center:s+o/2}},calculateBarIndexPixels:function(e,t,n){var i,a,s,o,d,l,u,c,h,m,p,f,_,g,y,v,M,b=n.scale.options,L="flex"===b.barThickness?(h=t,p=b,_=(m=n).pixels,g=_[h],y=h>0?_[h-1]:null,v=h<_.length-1?_[h+1]:null,M=p.categoryPercentage,null===y&&(y=g-(null===v?m.end-g:v-g)),null===v&&(v=g+g-y),f=g-(g-y)/2*M,{chunk:(v-y)/2*M/m.stackCount,ratio:p.barPercentage,start:f}):(i=t,a=n,l=(s=b).barThickness,u=a.stackCount,c=a.pixels[i],r.isNullOrUndef(l)?(o=a.min*s.categoryPercentage,d=s.barPercentage):(o=l*u,d=1),{chunk:o/u,ratio:d,start:c-o/2}),D=this.getStackIndex(e,this.getMeta().stack),k=L.start+L.chunk*D+L.chunk/2,w=Math.min(r.valueOrDefault(b.maxBarThickness,1/0),L.chunk*L.ratio);return{base:k-w/2,head:k+w/2,center:k,size:w}},draw:function(){var e=this.chart,t=this.getValueScale(),n=this.getMeta().data,i=this.getDataset(),a=n.length,s=0;for(r.canvas.clipArea(e.ctx,e.chartArea);s');var n=e.data,i=n.datasets,a=n.labels;if(i.length)for(var r=0;r'),a[r]&&t.push(a[r]),t.push("");return t.push(""),t.join("")},legend:{labels:{generateLabels:function(e){var t=e.data;return t.labels.length&&t.datasets.length?t.labels.map(function(n,i){var a=e.getDatasetMeta(0),s=t.datasets[0],o=a.data[i],d=o&&o.custom||{},l=r.valueAtIndexOrDefault,u=e.options.elements.arc;return{text:n,fillStyle:d.backgroundColor?d.backgroundColor:l(s.backgroundColor,i,u.backgroundColor),strokeStyle:d.borderColor?d.borderColor:l(s.borderColor,i,u.borderColor),lineWidth:d.borderWidth?d.borderWidth:l(s.borderWidth,i,u.borderWidth),hidden:isNaN(s.data[i])||a.data[i].hidden,index:i}}):[]}},onClick:function(e,t){var n,i,a,r=t.index,s=this.chart;for(n=0,i=(s.data.datasets||[]).length;n=Math.PI?-1:p<-Math.PI?1:0))+m,_=Math.cos(p),g=Math.sin(p),y=Math.cos(f),v=Math.sin(f),M=p<=0&&f>=0||p<=2*Math.PI&&2*Math.PI<=f,b=p<=.5*Math.PI&&.5*Math.PI<=f||p<=2.5*Math.PI&&2.5*Math.PI<=f,L=p<=-Math.PI&&-Math.PI<=f||p<=Math.PI&&Math.PI<=f,D=p<=.5*-Math.PI&&.5*-Math.PI<=f||p<=1.5*Math.PI&&1.5*Math.PI<=f,k=h/100,w=L?-1:Math.min(_*(_<0?1:k),y*(y<0?1:k)),T=D?-1:Math.min(g*(g<0?1:k),v*(v<0?1:k)),x=M?1:Math.max(_*(_>0?1:k),y*(y>0?1:k)),Y=b?1:Math.max(g*(g>0?1:k),v*(v>0?1:k)),S=.5*(x-w),H=.5*(Y-T);l=Math.min(o/S,d/H),u={x:-.5*(x+w),y:-.5*(Y+T)}}n.borderWidth=t.getMaxBorderWidth(c.data),n.outerRadius=Math.max((l-n.borderWidth)/2,0),n.innerRadius=Math.max(h?n.outerRadius/100*h:0,0),n.radiusLength=(n.outerRadius-n.innerRadius)/n.getVisibleDatasetCount(),n.offsetX=u.x*n.outerRadius,n.offsetY=u.y*n.outerRadius,c.total=t.calculateTotal(),t.outerRadius=n.outerRadius-n.radiusLength*t.getRingIndex(t.index),t.innerRadius=Math.max(t.outerRadius-n.radiusLength,0),r.each(c.data,function(n,i){t.updateElement(n,i,e)})},updateElement:function(e,t,n){var i=this,a=i.chart,s=a.chartArea,o=a.options,d=o.animation,l=(s.left+s.right)/2,u=(s.top+s.bottom)/2,c=o.rotation,h=o.rotation,m=i.getDataset(),p=n&&d.animateRotate?0:e.hidden?0:i.calculateCircumference(m.data[t])*(o.circumference/(2*Math.PI)),f=n&&d.animateScale?0:i.innerRadius,_=n&&d.animateScale?0:i.outerRadius,g=r.valueAtIndexOrDefault;r.extend(e,{_datasetIndex:i.index,_index:t,_model:{x:l+a.offsetX,y:u+a.offsetY,startAngle:c,endAngle:h,circumference:p,outerRadius:_,innerRadius:f,label:g(m.label,t,a.data.labels[t])}});var y=e._model;this.removeHoverStyle(e),n&&d.animateRotate||(y.startAngle=0===t?o.rotation:i.getMeta().data[t-1]._model.endAngle,y.endAngle=y.startAngle+y.circumference),e.pivot()},removeHoverStyle:function(t){e.DatasetController.prototype.removeHoverStyle.call(this,t,this.chart.options.elements.arc)},calculateTotal:function(){var e,t=this.getDataset(),n=this.getMeta(),i=0;return r.each(n.data,function(n,a){e=t.data[a],isNaN(e)||n.hidden||(i+=Math.abs(e))}),i},calculateCircumference:function(e){var t=this.getMeta().total;return t>0&&!isNaN(e)?2*Math.PI*(Math.abs(e)/t):0},getMaxBorderWidth:function(e){for(var t,n,i=0,a=this.index,r=e.length,s=0;s(i=t>i?t:i)?n:i;return i}})}},{25:25,40:40,45:45}],18:[function(e,t,n){"use strict";var i=e(25),a=e(40),r=e(45);i._set("line",{showLines:!0,spanGaps:!1,hover:{mode:"label"},scales:{xAxes:[{type:"category",id:"x-axis-0"}],yAxes:[{type:"linear",id:"y-axis-0"}]}}),t.exports=function(e){function t(e,t){return r.valueOrDefault(e.showLine,t.showLines)}e.controllers.line=e.DatasetController.extend({datasetElementType:a.Line,dataElementType:a.Point,update:function(e){var n,i,a,s=this,o=s.getMeta(),d=o.dataset,l=o.data||[],u=s.chart.options,c=u.elements.line,h=s.getScaleForId(o.yAxisID),m=s.getDataset(),p=t(m,u);for(p&&(a=d.custom||{},void 0!==m.tension&&void 0===m.lineTension&&(m.lineTension=m.tension),d._scale=h,d._datasetIndex=s.index,d._children=l,d._model={spanGaps:m.spanGaps?m.spanGaps:u.spanGaps,tension:a.tension?a.tension:r.valueOrDefault(m.lineTension,c.tension),backgroundColor:a.backgroundColor?a.backgroundColor:m.backgroundColor||c.backgroundColor,borderWidth:a.borderWidth?a.borderWidth:m.borderWidth||c.borderWidth,borderColor:a.borderColor?a.borderColor:m.borderColor||c.borderColor,borderCapStyle:a.borderCapStyle?a.borderCapStyle:m.borderCapStyle||c.borderCapStyle,borderDash:a.borderDash?a.borderDash:m.borderDash||c.borderDash,borderDashOffset:a.borderDashOffset?a.borderDashOffset:m.borderDashOffset||c.borderDashOffset,borderJoinStyle:a.borderJoinStyle?a.borderJoinStyle:m.borderJoinStyle||c.borderJoinStyle,fill:a.fill?a.fill:void 0!==m.fill?m.fill:c.fill,steppedLine:a.steppedLine?a.steppedLine:r.valueOrDefault(m.steppedLine,c.stepped),cubicInterpolationMode:a.cubicInterpolationMode?a.cubicInterpolationMode:r.valueOrDefault(m.cubicInterpolationMode,c.cubicInterpolationMode)},d.pivot()),n=0,i=l.length;n');var n=e.data,i=n.datasets,a=n.labels;if(i.length)for(var r=0;r'),a[r]&&t.push(a[r]),t.push("");return t.push(""),t.join("")},legend:{labels:{generateLabels:function(e){var t=e.data;return t.labels.length&&t.datasets.length?t.labels.map(function(n,i){var a=e.getDatasetMeta(0),s=t.datasets[0],o=a.data[i].custom||{},d=r.valueAtIndexOrDefault,l=e.options.elements.arc;return{text:n,fillStyle:o.backgroundColor?o.backgroundColor:d(s.backgroundColor,i,l.backgroundColor),strokeStyle:o.borderColor?o.borderColor:d(s.borderColor,i,l.borderColor),lineWidth:o.borderWidth?o.borderWidth:d(s.borderWidth,i,l.borderWidth),hidden:isNaN(s.data[i])||a.data[i].hidden,index:i}}):[]}},onClick:function(e,t){var n,i,a,r=t.index,s=this.chart;for(n=0,i=(s.data.datasets||[]).length;n0&&!isNaN(e)?2*Math.PI/t:0}})}},{25:25,40:40,45:45}],20:[function(e,t,n){"use strict";var i=e(25),a=e(40),r=e(45);i._set("radar",{scale:{type:"radialLinear"},elements:{line:{tension:0}}}),t.exports=function(e){e.controllers.radar=e.DatasetController.extend({datasetElementType:a.Line,dataElementType:a.Point,linkScales:r.noop,update:function(e){var t=this,n=t.getMeta(),i=n.dataset,a=n.data,s=i.custom||{},o=t.getDataset(),d=t.chart.options.elements.line,l=t.chart.scale;void 0!==o.tension&&void 0===o.lineTension&&(o.lineTension=o.tension),r.extend(n.dataset,{_datasetIndex:t.index,_scale:l,_children:a,_loop:!0,_model:{tension:s.tension?s.tension:r.valueOrDefault(o.lineTension,d.tension),backgroundColor:s.backgroundColor?s.backgroundColor:o.backgroundColor||d.backgroundColor,borderWidth:s.borderWidth?s.borderWidth:o.borderWidth||d.borderWidth,borderColor:s.borderColor?s.borderColor:o.borderColor||d.borderColor,fill:s.fill?s.fill:void 0!==o.fill?o.fill:d.fill,borderCapStyle:s.borderCapStyle?s.borderCapStyle:o.borderCapStyle||d.borderCapStyle,borderDash:s.borderDash?s.borderDash:o.borderDash||d.borderDash,borderDashOffset:s.borderDashOffset?s.borderDashOffset:o.borderDashOffset||d.borderDashOffset,borderJoinStyle:s.borderJoinStyle?s.borderJoinStyle:o.borderJoinStyle||d.borderJoinStyle}}),n.dataset.pivot(),r.each(a,function(n,i){t.updateElement(n,i,e)},t),t.updateBezierControlPoints()},updateElement:function(e,t,n){var i=this,a=e.custom||{},s=i.getDataset(),o=i.chart.scale,d=i.chart.options.elements.point,l=o.getPointPositionForValue(t,s.data[t]);void 0!==s.radius&&void 0===s.pointRadius&&(s.pointRadius=s.radius),void 0!==s.hitRadius&&void 0===s.pointHitRadius&&(s.pointHitRadius=s.hitRadius),r.extend(e,{_datasetIndex:i.index,_index:t,_scale:o,_model:{x:n?o.xCenter:l.x,y:n?o.yCenter:l.y,tension:a.tension?a.tension:r.valueOrDefault(s.lineTension,i.chart.options.elements.line.tension),radius:a.radius?a.radius:r.valueAtIndexOrDefault(s.pointRadius,t,d.radius),backgroundColor:a.backgroundColor?a.backgroundColor:r.valueAtIndexOrDefault(s.pointBackgroundColor,t,d.backgroundColor),borderColor:a.borderColor?a.borderColor:r.valueAtIndexOrDefault(s.pointBorderColor,t,d.borderColor),borderWidth:a.borderWidth?a.borderWidth:r.valueAtIndexOrDefault(s.pointBorderWidth,t,d.borderWidth),pointStyle:a.pointStyle?a.pointStyle:r.valueAtIndexOrDefault(s.pointStyle,t,d.pointStyle),hitRadius:a.hitRadius?a.hitRadius:r.valueAtIndexOrDefault(s.pointHitRadius,t,d.hitRadius)}}),e._model.skip=a.skip?a.skip:isNaN(e._model.x)||isNaN(e._model.y)},updateBezierControlPoints:function(){var e=this.chart.chartArea,t=this.getMeta();r.each(t.data,function(n,i){var a=n._model,s=r.splineCurve(r.previousItem(t.data,i,!0)._model,a,r.nextItem(t.data,i,!0)._model,a.tension);a.controlPointPreviousX=Math.max(Math.min(s.previous.x,e.right),e.left),a.controlPointPreviousY=Math.max(Math.min(s.previous.y,e.bottom),e.top),a.controlPointNextX=Math.max(Math.min(s.next.x,e.right),e.left),a.controlPointNextY=Math.max(Math.min(s.next.y,e.bottom),e.top),n.pivot()})},setHoverStyle:function(e){var t=this.chart.data.datasets[e._datasetIndex],n=e.custom||{},i=e._index,a=e._model;a.radius=n.hoverRadius?n.hoverRadius:r.valueAtIndexOrDefault(t.pointHoverRadius,i,this.chart.options.elements.point.hoverRadius),a.backgroundColor=n.hoverBackgroundColor?n.hoverBackgroundColor:r.valueAtIndexOrDefault(t.pointHoverBackgroundColor,i,r.getHoverColor(a.backgroundColor)),a.borderColor=n.hoverBorderColor?n.hoverBorderColor:r.valueAtIndexOrDefault(t.pointHoverBorderColor,i,r.getHoverColor(a.borderColor)),a.borderWidth=n.hoverBorderWidth?n.hoverBorderWidth:r.valueAtIndexOrDefault(t.pointHoverBorderWidth,i,a.borderWidth)},removeHoverStyle:function(e){var t=this.chart.data.datasets[e._datasetIndex],n=e.custom||{},i=e._index,a=e._model,s=this.chart.options.elements.point;a.radius=n.radius?n.radius:r.valueAtIndexOrDefault(t.pointRadius,i,s.radius),a.backgroundColor=n.backgroundColor?n.backgroundColor:r.valueAtIndexOrDefault(t.pointBackgroundColor,i,s.backgroundColor),a.borderColor=n.borderColor?n.borderColor:r.valueAtIndexOrDefault(t.pointBorderColor,i,s.borderColor),a.borderWidth=n.borderWidth?n.borderWidth:r.valueAtIndexOrDefault(t.pointBorderWidth,i,s.borderWidth)}})}},{25:25,40:40,45:45}],21:[function(e,t,n){"use strict";e(25)._set("scatter",{hover:{mode:"single"},scales:{xAxes:[{id:"x-axis-1",type:"linear",position:"bottom"}],yAxes:[{id:"y-axis-1",type:"linear",position:"left"}]},showLines:!1,tooltips:{callbacks:{title:function(){return""},label:function(e){return"("+e.xLabel+", "+e.yLabel+")"}}}}),t.exports=function(e){e.controllers.scatter=e.controllers.line}},{25:25}],22:[function(e,t,n){"use strict";var i=e(25),a=e(26),r=e(45);i._set("global",{animation:{duration:1e3,easing:"easeOutQuart",onProgress:r.noop,onComplete:r.noop}}),t.exports=function(e){e.Animation=a.extend({chart:null,currentStep:0,numSteps:60,easing:"",render:null,onAnimationProgress:null,onAnimationComplete:null}),e.animationService={frameDuration:17,animations:[],dropFrames:0,request:null,addAnimation:function(e,t,n,i){var a,r,s=this.animations;for(t.chart=e,i||(e.animating=!0),a=0,r=s.length;a1&&(n=Math.floor(e.dropFrames),e.dropFrames=e.dropFrames%1),e.advance(1+n);var i=Date.now();e.dropFrames+=(i-t)/e.frameDuration,e.animations.length>0&&e.requestAnimationFrame()},advance:function(e){for(var t,n,i=this.animations,a=0;a=t.numSteps?(r.callback(t.onAnimationComplete,[t],n),n.animating=!1,i.splice(a,1)):++a}},Object.defineProperty(e.Animation.prototype,"animationObject",{get:function(){return this}}),Object.defineProperty(e.Animation.prototype,"chartInstance",{get:function(){return this.chart},set:function(e){this.chart=e}})}},{25:25,26:26,45:45}],23:[function(e,t,n){"use strict";var i=e(25),a=e(45),r=e(28),s=e(30),o=e(48),d=e(31);t.exports=function(e){function t(e){return"top"===e||"bottom"===e}e.types={},e.instances={},e.controllers={},a.extend(e.prototype,{construct:function(t,n){var r,s,d=this;(s=(r=(r=n)||{}).data=r.data||{}).datasets=s.datasets||[],s.labels=s.labels||[],r.options=a.configMerge(i.global,i[r.type],r.options||{}),n=r;var l=o.acquireContext(t,n),u=l&&l.canvas,c=u&&u.height,h=u&&u.width;d.id=a.uid(),d.ctx=l,d.canvas=u,d.config=n,d.width=h,d.height=c,d.aspectRatio=c?h/c:null,d.options=n.options,d._bufferedRender=!1,d.chart=d,d.controller=d,e.instances[d.id]=d,Object.defineProperty(d,"data",{get:function(){return d.config.data},set:function(e){d.config.data=e}}),l&&u?(d.initialize(),d.update()):console.error("Failed to create chart: can't acquire context from the given item")},initialize:function(){var e=this;return d.notify(e,"beforeInit"),a.retinaScale(e,e.options.devicePixelRatio),e.bindEvents(),e.options.responsive&&e.resize(!0),e.ensureScalesHaveIDs(),e.buildOrUpdateScales(),e.initToolTip(),d.notify(e,"afterInit"),e},clear:function(){return a.canvas.clear(this),this},stop:function(){return e.animationService.cancelAnimation(this),this},resize:function(e){var t=this,n=t.options,i=t.canvas,r=n.maintainAspectRatio&&t.aspectRatio||null,s=Math.max(0,Math.floor(a.getMaximumWidth(i))),o=Math.max(0,Math.floor(r?s/r:a.getMaximumHeight(i)));if((t.width!==s||t.height!==o)&&(i.width=t.width=s,i.height=t.height=o,i.style.width=s+"px",i.style.height=o+"px",a.retinaScale(t,n.devicePixelRatio),!e)){var l={width:s,height:o};d.notify(t,"resize",[l]),t.options.onResize&&t.options.onResize(t,l),t.stop(),t.update(t.options.responsiveAnimationDuration)}},ensureScalesHaveIDs:function(){var e=this.options,t=e.scales||{},n=e.scale;a.each(t.xAxes,function(e,t){e.id=e.id||"x-axis-"+t}),a.each(t.yAxes,function(e,t){e.id=e.id||"y-axis-"+t}),n&&(n.id=n.id||"scale")},buildOrUpdateScales:function(){var n=this,i=n.options,r=n.scales||{},s=[],o=Object.keys(r).reduce(function(e,t){return e[t]=!1,e},{});i.scales&&(s=s.concat((i.scales.xAxes||[]).map(function(e){return{options:e,dtype:"category",dposition:"bottom"}}),(i.scales.yAxes||[]).map(function(e){return{options:e,dtype:"linear",dposition:"left"}}))),i.scale&&s.push({options:i.scale,dtype:"radialLinear",isDefault:!0,dposition:"chartArea"}),a.each(s,function(i){var s=i.options,d=s.id,l=a.valueOrDefault(s.type,i.dtype);t(s.position)!==t(i.dposition)&&(s.position=i.dposition),o[d]=!0;var u=null;if(d in r&&r[d].type===l)(u=r[d]).options=s,u.ctx=n.ctx,u.chart=n;else{var c=e.scaleService.getScaleConstructor(l);if(!c)return;u=new c({id:d,type:l,options:s,ctx:n.ctx,chart:n}),r[u.id]=u}u.mergeTicksOptions(),i.isDefault&&(n.scale=u)}),a.each(o,function(e,t){e||delete r[t]}),n.scales=r,e.scaleService.addScalesToLayout(this)},buildOrUpdateControllers:function(){var t=this,n=[],i=[];return a.each(t.data.datasets,function(a,r){var s=t.getDatasetMeta(r),o=a.type||t.config.type;if(s.type&&s.type!==o&&(t.destroyDatasetMeta(r),s=t.getDatasetMeta(r)),s.type=o,n.push(s.type),s.controller)s.controller.updateIndex(r),s.controller.linkScales();else{var d=e.controllers[s.type];if(void 0===d)throw new Error('"'+s.type+'" is not a chart type.');s.controller=new d(t,r),i.push(s.controller)}},t),i},resetElements:function(){var e=this;a.each(e.data.datasets,function(t,n){e.getDatasetMeta(n).controller.reset()},e)},reset:function(){this.resetElements(),this.tooltip.initialize()},update:function(t){var n,i,r=this;if(t&&"object"==typeof t||(t={duration:t,lazy:arguments[1]}),i=(n=r).options,a.each(n.scales,function(e){s.removeBox(n,e)}),i=a.configMerge(e.defaults.global,e.defaults[n.config.type],i),n.options=n.config.options=i,n.ensureScalesHaveIDs(),n.buildOrUpdateScales(),n.tooltip._options=i.tooltips,n.tooltip.initialize(),d._invalidate(r),!1!==d.notify(r,"beforeUpdate")){r.tooltip._data=r.data;var o=r.buildOrUpdateControllers();a.each(r.data.datasets,function(e,t){r.getDatasetMeta(t).controller.buildOrUpdateElements()},r),r.updateLayout(),r.options.animation&&r.options.animation.duration&&a.each(o,function(e){e.reset()}),r.updateDatasets(),r.tooltip.initialize(),r.lastActive=[],d.notify(r,"afterUpdate"),r._bufferedRender?r._bufferedRequest={duration:t.duration,easing:t.easing,lazy:t.lazy}:r.render(t)}},updateLayout:function(){!1!==d.notify(this,"beforeLayout")&&(s.update(this,this.width,this.height),d.notify(this,"afterScaleUpdate"),d.notify(this,"afterLayout"))},updateDatasets:function(){if(!1!==d.notify(this,"beforeDatasetsUpdate")){for(var e=0,t=this.data.datasets.length;e=0;--n)t.isDatasetVisible(n)&&t.drawDataset(n,e);d.notify(t,"afterDatasetsDraw",[e])}},drawDataset:function(e,t){var n=this.getDatasetMeta(e),i={meta:n,index:e,easingValue:t};!1!==d.notify(this,"beforeDatasetDraw",[i])&&(n.controller.draw(t),d.notify(this,"afterDatasetDraw",[i]))},_drawTooltip:function(e){var t=this.tooltip,n={tooltip:t,easingValue:e};!1!==d.notify(this,"beforeTooltipDraw",[n])&&(t.draw(),d.notify(this,"afterTooltipDraw",[n]))},getElementAtEvent:function(e){return r.modes.single(this,e)},getElementsAtEvent:function(e){return r.modes.label(this,e,{intersect:!0})},getElementsAtXAxis:function(e){return r.modes["x-axis"](this,e,{intersect:!0})},getElementsAtEventForMode:function(e,t,n){var i=r.modes[t];return"function"==typeof i?i(this,e,n):[]},getDatasetAtEvent:function(e){return r.modes.dataset(this,e,{intersect:!0})},getDatasetMeta:function(e){var t=this.data.datasets[e];t._meta||(t._meta={});var n=t._meta[this.id];return n||(n=t._meta[this.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null}),n},getVisibleDatasetCount:function(){for(var e=0,t=0,n=this.data.datasets.length;t0||(n.forEach(function(t){delete e[t]}),delete e._chartjs)}}var n=["push","pop","shift","splice","unshift"];e.DatasetController=function(e,t){this.initialize(e,t)},i.extend(e.DatasetController.prototype,{datasetElementType:null,dataElementType:null,initialize:function(e,t){this.chart=e,this.index=t,this.linkScales(),this.addElements()},updateIndex:function(e){this.index=e},linkScales:function(){var e=this,t=e.getMeta(),n=e.getDataset();null!==t.xAxisID&&t.xAxisID in e.chart.scales||(t.xAxisID=n.xAxisID||e.chart.options.scales.xAxes[0].id),null!==t.yAxisID&&t.yAxisID in e.chart.scales||(t.yAxisID=n.yAxisID||e.chart.options.scales.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(e){return this.chart.scales[e]},reset:function(){this.update(!0)},destroy:function(){this._data&&t(this._data,this)},createMetaDataset:function(){var e=this.datasetElementType;return e&&new e({_chart:this.chart,_datasetIndex:this.index})},createMetaData:function(e){var t=this.dataElementType;return t&&new t({_chart:this.chart,_datasetIndex:this.index,_index:e})},addElements:function(){var e,t,n=this.getMeta(),i=this.getDataset().data||[],a=n.data;for(e=0,t=i.length;en&&this.insertElements(n,i-n)},insertElements:function(e,t){for(var n=0;n=n[t].length&&n[t].push({}),!n[t][s].type||d.type&&d.type!==n[t][s].type?r.merge(n[t][s],[e.scaleService.getScaleDefaults(o),d]):r.merge(n[t][s],d)}else r._merger(t,n,i,a)}})},r.where=function(e,t){if(r.isArray(e)&&Array.prototype.filter)return e.filter(t);var n=[];return r.each(e,function(e){t(e)&&n.push(e)}),n},r.findIndex=Array.prototype.findIndex?function(e,t,n){return e.findIndex(t,n)}:function(e,t,n){n=void 0===n?e:n;for(var i=0,a=e.length;i=0;i--){var a=e[i];if(t(a))return a}},r.isNumber=function(e){return!isNaN(parseFloat(e))&&isFinite(e)},r.almostEquals=function(e,t,n){return Math.abs(e-t)e},r.max=function(e){return e.reduce(function(e,t){return isNaN(t)?e:Math.max(e,t)},Number.NEGATIVE_INFINITY)},r.min=function(e){return e.reduce(function(e,t){return isNaN(t)?e:Math.min(e,t)},Number.POSITIVE_INFINITY)},r.sign=Math.sign?function(e){return Math.sign(e)}:function(e){return 0==(e=+e)||isNaN(e)?e:e>0?1:-1},r.log10=Math.log10?function(e){return Math.log10(e)}:function(e){var t=Math.log(e)*Math.LOG10E,n=Math.round(t);return e===Math.pow(10,n)?n:t},r.toRadians=function(e){return e*(Math.PI/180)},r.toDegrees=function(e){return e*(180/Math.PI)},r.getAngleFromPoint=function(e,t){var n=t.x-e.x,i=t.y-e.y,a=Math.sqrt(n*n+i*i),r=Math.atan2(i,n);return r<-.5*Math.PI&&(r+=2*Math.PI),{angle:r,distance:a}},r.distanceBetweenPoints=function(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))},r.aliasPixel=function(e){return e%2==0?0:.5},r.splineCurve=function(e,t,n,i){var a=e.skip?t:e,r=t,s=n.skip?t:n,o=Math.sqrt(Math.pow(r.x-a.x,2)+Math.pow(r.y-a.y,2)),d=Math.sqrt(Math.pow(s.x-r.x,2)+Math.pow(s.y-r.y,2)),l=o/(o+d),u=d/(o+d),c=i*(l=isNaN(l)?0:l),h=i*(u=isNaN(u)?0:u);return{previous:{x:r.x-c*(s.x-a.x),y:r.y-c*(s.y-a.y)},next:{x:r.x+h*(s.x-a.x),y:r.y+h*(s.y-a.y)}}},r.EPSILON=Number.EPSILON||1e-14,r.splineCurveMonotone=function(e){var t,n,i,a,s,o,d,l,u,c=(e||[]).map(function(e){return{model:e._model,deltaK:0,mK:0}}),h=c.length;for(t=0;t0?c[t-1]:null,(a=t0?c[t-1]:null,a=t=e.length-1?e[0]:e[t+1]:t>=e.length-1?e[e.length-1]:e[t+1]},r.previousItem=function(e,t,n){return n?t<=0?e[e.length-1]:e[t-1]:t<=0?e[0]:e[t-1]},r.niceNum=function(e,t){var n=Math.floor(r.log10(e)),i=e/Math.pow(10,n);return(t?i<1.5?1:i<3?2:i<7?5:10:i<=1?1:i<=2?2:i<=5?5:10)*Math.pow(10,n)},r.requestAnimFrame="undefined"==typeof window?function(e){e()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){return window.setTimeout(e,1e3/60)},r.getRelativePosition=function(e,t){var n,i,a=e.originalEvent||e,s=e.currentTarget||e.srcElement,o=s.getBoundingClientRect(),d=a.touches;d&&d.length>0?(n=d[0].clientX,i=d[0].clientY):(n=a.clientX,i=a.clientY);var l=parseFloat(r.getStyle(s,"padding-left")),u=parseFloat(r.getStyle(s,"padding-top")),c=parseFloat(r.getStyle(s,"padding-right")),h=parseFloat(r.getStyle(s,"padding-bottom")),m=o.right-o.left-l-c,p=o.bottom-o.top-u-h;return{x:n=Math.round((n-o.left-l)/m*s.width/t.currentDevicePixelRatio),y:i=Math.round((i-o.top-u)/p*s.height/t.currentDevicePixelRatio)}},r.getConstraintWidth=function(e){return s(e,"max-width","clientWidth")},r.getConstraintHeight=function(e){return s(e,"max-height","clientHeight")},r.getMaximumWidth=function(e){var t=e.parentNode;if(!t)return e.clientWidth;var n=parseInt(r.getStyle(t,"padding-left"),10),i=parseInt(r.getStyle(t,"padding-right"),10),a=t.clientWidth-n-i,s=r.getConstraintWidth(e);return isNaN(s)?a:Math.min(a,s)},r.getMaximumHeight=function(e){var t=e.parentNode;if(!t)return e.clientHeight;var n=parseInt(r.getStyle(t,"padding-top"),10),i=parseInt(r.getStyle(t,"padding-bottom"),10),a=t.clientHeight-n-i,s=r.getConstraintHeight(e);return isNaN(s)?a:Math.min(a,s)},r.getStyle=function(e,t){return e.currentStyle?e.currentStyle[t]:document.defaultView.getComputedStyle(e,null).getPropertyValue(t)},r.retinaScale=function(e,t){var n=e.currentDevicePixelRatio=t||window.devicePixelRatio||1;if(1!==n){var i=e.canvas,a=e.height,r=e.width;i.height=a*n,i.width=r*n,e.ctx.scale(n,n),i.style.height||i.style.width||(i.style.height=a+"px",i.style.width=r+"px")}},r.fontString=function(e,t,n){return t+" "+e+"px "+n},r.longestText=function(e,t,n,i){var a=(i=i||{}).data=i.data||{},s=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(a=i.data={},s=i.garbageCollect=[],i.font=t),e.font=t;var o=0;r.each(n,function(t){null!=t&&!0!==r.isArray(t)?o=r.measureText(e,a,s,o,t):r.isArray(t)&&r.each(t,function(t){null==t||r.isArray(t)||(o=r.measureText(e,a,s,o,t))})});var d=s.length/2;if(d>n.length){for(var l=0;li&&(i=r),i},r.numberOfLabelLines=function(e){var t=1;return r.each(e,function(e){r.isArray(e)&&e.length>t&&(t=e.length)}),t},r.color=i?function(e){return e instanceof CanvasGradient&&(e=a.global.defaultColor),i(e)}:function(e){return console.error("Color.js not found!"),e},r.getHoverColor=function(e){return e instanceof CanvasPattern?e:r.color(e).saturate(.5).darken(.1).rgbString()}}},{25:25,3:3,45:45}],28:[function(e,t,n){"use strict";function i(e,t){return e.native?{x:e.x,y:e.y}:l.getRelativePosition(e,t)}function a(e,t){var n,i,a,r,s;for(i=0,r=e.data.datasets.length;i0&&(l=e.getDatasetMeta(l[0]._datasetIndex).data),l},"x-axis":function(e,t){return d(e,t,{intersect:!1})},point:function(e,t){return r(e,i(t,e))},nearest:function(e,t,n){var a=i(t,e);n.axis=n.axis||"xy";var r=o(n.axis),d=s(e,a,n.intersect,r);return d.length>1&&d.sort(function(e,t){var n=e.getArea()-t.getArea();return 0===n&&(n=e._datasetIndex-t._datasetIndex),n}),d.slice(0,1)},x:function(e,t,n){var r=i(t,e),s=[],o=!1;return a(e,function(e){e.inXRange(r.x)&&s.push(e),e.inRange(r.x,r.y)&&(o=!0)}),n.intersect&&!o&&(s=[]),s},y:function(e,t,n){var r=i(t,e),s=[],o=!1;return a(e,function(e){e.inYRange(r.y)&&s.push(e),e.inRange(r.x,r.y)&&(o=!0)}),n.intersect&&!o&&(s=[]),s}}}},{45:45}],29:[function(e,t,n){"use strict";e(25)._set("global",{responsive:!0,responsiveAnimationDuration:0,maintainAspectRatio:!0,events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"nearest",intersect:!0,animationDuration:400},onClick:null,defaultColor:"rgba(0,0,0,0.1)",defaultFontColor:"#666",defaultFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",defaultFontSize:12,defaultFontStyle:"normal",showLines:!0,elements:{},layout:{padding:{top:0,right:0,bottom:0,left:0}}}),t.exports=function(){var e=function(e,t){return this.construct(e,t),this};return e.Chart=e,e}},{25:25}],30:[function(e,t,n){"use strict";function i(e,t){return r.where(e,function(e){return e.position===t})}function a(e,t){e.forEach(function(e,t){return e._tmpIndex_=t,e}),e.sort(function(e,n){var i=t?n:e,a=t?e:n;return i.weight===a.weight?i._tmpIndex_-a._tmpIndex_:i.weight-a.weight}),e.forEach(function(e){delete e._tmpIndex_})}var r=e(45);t.exports={defaults:{},addBox:function(e,t){e.boxes||(e.boxes=[]),t.fullWidth=t.fullWidth||!1,t.position=t.position||"top",t.weight=t.weight||0,e.boxes.push(t)},removeBox:function(e,t){var n=e.boxes?e.boxes.indexOf(t):-1;-1!==n&&e.boxes.splice(n,1)},configure:function(e,t,n){for(var i,a=["fullWidth","position","weight"],r=a.length,s=0;sh&&de.maxHeight){d--;break}d++,c=l*u}e.labelRotation=d},afterCalculateTickRotation:function(){o.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){o.callback(this.options.beforeFit,[this])},fit:function(){var e=this,a=e.minSize={width:0,height:0},r=i(e._ticks),s=e.options,l=s.ticks,u=s.scaleLabel,c=s.gridLines,h=s.display,m=e.isHorizontal(),p=n(l),f=s.gridLines.tickMarkLength;if(a.width=m?e.isFullWidth()?e.maxWidth-e.margins.left-e.margins.right:e.maxWidth:h&&c.drawTicks?f:0,a.height=m?h&&c.drawTicks?f:0:e.maxHeight,u.display&&h){var _=d(u)+o.options.toPadding(u.padding).height;m?a.height+=_:a.width+=_}if(l.display&&h){var g=o.longestText(e.ctx,p.font,r,e.longestTextCache),y=o.numberOfLabelLines(r),v=.5*p.size,M=e.options.ticks.padding;if(m){e.longestLabelWidth=g;var b=o.toRadians(e.labelRotation),L=Math.cos(b),D=Math.sin(b)*g+p.size*y+v*(y-1)+v;a.height=Math.min(e.maxHeight,a.height+D+M),e.ctx.font=p.font;var k=t(e.ctx,r[0],p.font),w=t(e.ctx,r[r.length-1],p.font);0!==e.labelRotation?(e.paddingLeft="bottom"===s.position?L*k+3:L*v+3,e.paddingRight="bottom"===s.position?L*v+3:L*w+3):(e.paddingLeft=k/2+3,e.paddingRight=w/2+3)}else l.mirror?g=0:g+=M+v,a.width=Math.min(e.maxWidth,a.width+g),e.paddingTop=p.size/2,e.paddingBottom=p.size/2}e.handleMargins(),e.width=a.width,e.height=a.height},handleMargins:function(){var e=this;e.margins&&(e.paddingLeft=Math.max(e.paddingLeft-e.margins.left,0),e.paddingTop=Math.max(e.paddingTop-e.margins.top,0),e.paddingRight=Math.max(e.paddingRight-e.margins.right,0),e.paddingBottom=Math.max(e.paddingBottom-e.margins.bottom,0))},afterFit:function(){o.callback(this.options.afterFit,[this])},isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(e){if(o.isNullOrUndef(e))return NaN;if("number"==typeof e&&!isFinite(e))return NaN;if(e)if(this.isHorizontal()){if(void 0!==e.x)return this.getRightValue(e.x)}else if(void 0!==e.y)return this.getRightValue(e.y);return e},getLabelForIndex:o.noop,getPixelForValue:o.noop,getValueForPixel:o.noop,getPixelForTick:function(e){var t=this,n=t.options.offset;if(t.isHorizontal()){var i=(t.width-(t.paddingLeft+t.paddingRight))/Math.max(t._ticks.length-(n?0:1),1),a=i*e+t.paddingLeft;n&&(a+=i/2);var r=t.left+Math.round(a);return r+=t.isFullWidth()?t.margins.left:0}var s=t.height-(t.paddingTop+t.paddingBottom);return t.top+e*(s/(t._ticks.length-1))},getPixelForDecimal:function(e){var t=this;if(t.isHorizontal()){var n=(t.width-(t.paddingLeft+t.paddingRight))*e+t.paddingLeft,i=t.left+Math.round(n);return i+=t.isFullWidth()?t.margins.left:0}return t.top+e*t.height},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var e=this.min,t=this.max;return this.beginAtZero?0:e<0&&t<0?t:e>0&&t>0?e:0},_autoSkip:function(e){var t,n,i,a,r=this,s=r.isHorizontal(),d=r.options.ticks.minor,l=e.length,u=o.toRadians(r.labelRotation),c=Math.cos(u),h=r.longestLabelWidth*c,m=[];for(d.maxTicksLimit&&(a=d.maxTicksLimit),s&&(t=!1,(h+d.autoSkipPadding)*l>r.width-(r.paddingLeft+r.paddingRight)&&(t=1+Math.floor((h+d.autoSkipPadding)*l/(r.width-(r.paddingLeft+r.paddingRight)))),a&&l>a&&(t=Math.max(t,Math.floor(l/a)))),n=0;n1&&n%t>0||n%t==0&&n+t>=l)&&n!==l-1&&delete i.label,m.push(i);return m},draw:function(e){var t=this,i=t.options;if(i.display){var s=t.ctx,l=r.global,u=i.ticks.minor,c=i.ticks.major||u,h=i.gridLines,m=i.scaleLabel,p=0!==t.labelRotation,f=t.isHorizontal(),_=u.autoSkip?t._autoSkip(t.getTicks()):t.getTicks(),g=o.valueOrDefault(u.fontColor,l.defaultFontColor),y=n(u),v=o.valueOrDefault(c.fontColor,l.defaultFontColor),M=n(c),b=h.drawTicks?h.tickMarkLength:0,L=o.valueOrDefault(m.fontColor,l.defaultFontColor),D=n(m),k=o.options.toPadding(m.padding),w=o.toRadians(t.labelRotation),T=[],x=t.options.gridLines.lineWidth,Y="right"===i.position?t.right:t.right-x-b,S="right"===i.position?t.right+b:t.right,H="bottom"===i.position?t.top+x:t.bottom-b-x,C="bottom"===i.position?t.top+x+b:t.bottom+x;if(o.each(_,function(n,r){if(!o.isNullOrUndef(n.label)){var s,d,c,m,g,y,v,M,L,D,k,E,P,j,O=n.label;r===t.zeroLineIndex&&i.offset===h.offsetGridLines?(s=h.zeroLineWidth,d=h.zeroLineColor,c=h.zeroLineBorderDash,m=h.zeroLineBorderDashOffset):(s=o.valueAtIndexOrDefault(h.lineWidth,r),d=o.valueAtIndexOrDefault(h.color,r),c=o.valueOrDefault(h.borderDash,l.borderDash),m=o.valueOrDefault(h.borderDashOffset,l.borderDashOffset));var A="middle",I="middle",R=u.padding;if(f){var N=b+R;"bottom"===i.position?(I=p?"middle":"top",A=p?"right":"center",j=t.top+N):(I=p?"middle":"bottom",A=p?"left":"center",j=t.bottom-N);var F=a(t,r,h.offsetGridLines&&_.length>1);F1);B3?n[2]-n[1]:n[1]-n[0];Math.abs(a)>1&&e!==Math.floor(e)&&(a=e-Math.floor(e));var r=i.log10(Math.abs(a)),s="";if(0!==e){var o=-1*Math.floor(r);o=Math.max(Math.min(o,20),0),s=e.toFixed(o)}else s="0";return s},logarithmic:function(e,t,n){var a=e/Math.pow(10,Math.floor(i.log10(e)));return 0===e?"0":1===a||2===a||5===a||0===t||t===n.length-1?e.toExponential():""}}}},{45:45}],35:[function(e,t,n){"use strict";var i=e(25),a=e(26),r=e(45);i._set("global",{tooltips:{enabled:!0,custom:null,mode:"nearest",position:"average",intersect:!0,backgroundColor:"rgba(0,0,0,0.8)",titleFontStyle:"bold",titleSpacing:2,titleMarginBottom:6,titleFontColor:"#fff",titleAlign:"left",bodySpacing:2,bodyFontColor:"#fff",bodyAlign:"left",footerFontStyle:"bold",footerSpacing:2,footerMarginTop:6,footerFontColor:"#fff",footerAlign:"left",yPadding:6,xPadding:6,caretPadding:2,caretSize:5,cornerRadius:6,multiKeyBackground:"#fff",displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:0,callbacks:{beforeTitle:r.noop,title:function(e,t){var n="",i=t.labels,a=i?i.length:0;if(e.length>0){var r=e[0];r.xLabel?n=r.xLabel:a>0&&r.indexd.height-t.height&&(c="bottom");var h=(l.left+l.right)/2,m=(l.top+l.bottom)/2;"center"===c?(n=function(e){return e<=h},i=function(e){return e>h}):(n=function(e){return e<=t.width/2},i=function(e){return e>=d.width-t.width/2}),a=function(e){return e+t.width+o.caretSize+o.caretPadding>d.width},r=function(e){return e-t.width-o.caretSize-o.caretPadding<0},s=function(e){return e<=m?"top":"bottom"},n(o.x)?(u="left",a(o.x)&&(u="center",c=s(o.y))):i(o.x)&&(u="right",r(o.x)&&(u="center",c=s(o.y)));var p=e._options;return{xAlign:p.xAlign?p.xAlign:u,yAlign:p.yAlign?p.yAlign:c}}(this,E=function(e,t){var n=e._chart.ctx,i=2*t.yPadding,a=0,s=t.body,o=s.reduce(function(e,t){return e+t.before.length+t.lines.length+t.after.length},0);o+=t.beforeBody.length+t.afterBody.length;var d=t.title.length,l=t.footer.length,u=t.titleFontSize,c=t.bodyFontSize,h=t.footerFontSize;i+=d*u,i+=d?(d-1)*t.titleSpacing:0,i+=d?t.titleMarginBottom:0,i+=o*c,i+=o?(o-1)*t.bodySpacing:0,i+=l?t.footerMarginTop:0,i+=l*h,i+=l?(l-1)*t.footerSpacing:0;var m=0,p=function(e){a=Math.max(a,n.measureText(e).width+m)};return n.font=r.fontString(u,t._titleFontStyle,t._titleFontFamily),r.each(t.title,p),n.font=r.fontString(c,t._bodyFontStyle,t._bodyFontFamily),r.each(t.beforeBody.concat(t.afterBody),p),m=t.displayColors?c+2:0,r.each(s,function(e){r.each(e.before,p),r.each(e.lines,p),r.each(e.after,p)}),m=0,n.font=r.fontString(h,t._footerFontStyle,t._footerFontFamily),r.each(t.footer,p),{width:a+=2*t.xPadding,height:i}}(this,x)),a=x,o=E,d=H,l=k._chart,u=a.x,c=a.y,h=a.caretSize,m=a.caretPadding,p=a.cornerRadius,f=d.xAlign,_=d.yAlign,g=h+m,y=p+m,"right"===f?u-=o.width:"center"===f&&((u-=o.width/2)+o.width>l.width&&(u=l.width-o.width),u<0&&(u=0)),"top"===_?c+=g:c-="bottom"===_?o.height+g:o.height/2,"center"===_?"left"===f?u+=g:"right"===f&&(u-=g):"left"===f?u-=y:"right"===f&&(u+=y),C={x:u,y:c}}else x.opacity=0;return x.xAlign=H.xAlign,x.yAlign=H.yAlign,x.x=C.x,x.y=C.y,x.width=E.width,x.height=E.height,x.caretX=P.x,x.caretY=P.y,k._model=x,t&&w.custom&&w.custom.call(k,x),k},drawCaret:function(e,t){var n=this._chart.ctx,i=this._view,a=this.getCaretPosition(e,t,i);n.lineTo(a.x1,a.y1),n.lineTo(a.x2,a.y2),n.lineTo(a.x3,a.y3)},getCaretPosition:function(e,t,n){var i,a,r,s,o,d,l=n.caretSize,u=n.cornerRadius,c=n.xAlign,h=n.yAlign,m=e.x,p=e.y,f=t.width,_=t.height;if("center"===h)o=p+_/2,"left"===c?(a=(i=m)-l,r=i,s=o+l,d=o-l):(a=(i=m+f)+l,r=i,s=o-l,d=o+l);else if("left"===c?(i=(a=m+u+l)-l,r=a+l):"right"===c?(i=(a=m+f-u-l)-l,r=a+l):(i=(a=n.caretX)-l,r=a+l),"top"===h)o=(s=p)-l,d=s;else{o=(s=p+_)+l,d=s;var g=r;r=i,i=g}return{x1:i,x2:a,x3:r,y1:s,y2:o,y3:d}},drawTitle:function(e,n,i,a){var s=n.title;if(s.length){i.textAlign=n._titleAlign,i.textBaseline="top";var o,d,l=n.titleFontSize,u=n.titleSpacing;for(i.fillStyle=t(n.titleFontColor,a),i.font=r.fontString(l,n._titleFontStyle,n._titleFontFamily),o=0,d=s.length;o0&&i.stroke()},draw:function(){var e=this._chart.ctx,t=this._view;if(0!==t.opacity){var n={width:t.width,height:t.height},i={x:t.x,y:t.y},a=Math.abs(t.opacity<.001)?0:t.opacity,r=t.title.length||t.beforeBody.length||t.body.length||t.afterBody.length||t.footer.length;this._options.enabled&&r&&(this.drawBackground(i,t,e,n,a),i.x+=t.xPadding,i.y+=t.yPadding,this.drawTitle(i,t,e,a),this.drawBody(i,t,e,a),this.drawFooter(i,t,e,a))}},handleEvent:function(e){var t,n=this,i=n._options;return n._lastActive=n._lastActive||[],"mouseout"===e.type?n._active=[]:n._active=n._chart.getElementsAtEventForMode(e,i.mode,i),(t=!r.arrayEquals(n._active,n._lastActive))&&(n._lastActive=n._active,(i.enabled||i.custom)&&(n._eventPosition={x:e.x,y:e.y},n.update(!0),n.pivot())),t}}),e.Tooltip.positioners={average:function(e){if(!e.length)return!1;var t,n,i=0,a=0,r=0;for(t=0,n=e.length;td;)a-=2*Math.PI;for(;a=o&&a<=d,u=s>=n.innerRadius&&s<=n.outerRadius;return l&&u}return!1},getCenterPoint:function(){var e=this._view,t=(e.startAngle+e.endAngle)/2,n=(e.innerRadius+e.outerRadius)/2;return{x:e.x+Math.cos(t)*n,y:e.y+Math.sin(t)*n}},getArea:function(){var e=this._view;return Math.PI*((e.endAngle-e.startAngle)/(2*Math.PI))*(Math.pow(e.outerRadius,2)-Math.pow(e.innerRadius,2))},tooltipPosition:function(){var e=this._view,t=e.startAngle+(e.endAngle-e.startAngle)/2,n=(e.outerRadius-e.innerRadius)/2+e.innerRadius;return{x:e.x+Math.cos(t)*n,y:e.y+Math.sin(t)*n}},draw:function(){var e=this._chart.ctx,t=this._view,n=t.startAngle,i=t.endAngle;e.beginPath(),e.arc(t.x,t.y,t.outerRadius,n,i),e.arc(t.x,t.y,t.innerRadius,i,n,!0),e.closePath(),e.strokeStyle=t.borderColor,e.lineWidth=t.borderWidth,e.fillStyle=t.backgroundColor,e.fill(),e.lineJoin="bevel",t.borderWidth&&e.stroke()}})},{25:25,26:26,45:45}],37:[function(e,t,n){"use strict";var i=e(25),a=e(26),r=e(45),s=i.global;i._set("global",{elements:{line:{tension:.4,backgroundColor:s.defaultColor,borderWidth:3,borderColor:s.defaultColor,borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",capBezierPoints:!0,fill:!0}}}),t.exports=a.extend({draw:function(){var e,t,n,i,a=this._view,o=this._chart.ctx,d=a.spanGaps,l=this._children.slice(),u=s.elements.line,c=-1;for(this._loop&&l.length&&l.push(l[0]),o.save(),o.lineCap=a.borderCapStyle||u.borderCapStyle,o.setLineDash&&o.setLineDash(a.borderDash||u.borderDash),o.lineDashOffset=a.borderDashOffset||u.borderDashOffset,o.lineJoin=a.borderJoinStyle||u.borderJoinStyle,o.lineWidth=a.borderWidth||u.borderWidth,o.strokeStyle=a.borderColor||s.defaultColor,o.beginPath(),c=-1,e=0;et?1:-1,s=1,o=l.borderSkipped||"left"):(t=l.x-l.width/2,n=l.x+l.width/2,i=l.y,r=1,s=(a=l.base)>i?1:-1,o=l.borderSkipped||"bottom"),u){var c=Math.min(Math.abs(t-n),Math.abs(i-a)),h=(u=u>c?c:u)/2,m=t+("left"!==o?h*r:0),p=n+("right"!==o?-h*r:0),f=i+("top"!==o?h*s:0),_=a+("bottom"!==o?-h*s:0);m!==p&&(i=f,a=_),f!==_&&(t=m,n=p)}d.beginPath(),d.fillStyle=l.backgroundColor,d.strokeStyle=l.borderColor,d.lineWidth=u;var g=[[t,a],[t,i],[n,i],[n,a]],y=["bottom","left","top","right"].indexOf(o,0);-1===y&&(y=0);var v=e(0);d.moveTo(v[0],v[1]);for(var M=1;M<4;M++)v=e(M),d.lineTo(v[0],v[1]);d.fill(),u&&d.stroke()},height:function(){var e=this._view;return e.base-e.y},inRange:function(e,t){var n=!1;if(this._view){var i=a(this);n=e>=i.left&&e<=i.right&&t>=i.top&&t<=i.bottom}return n},inLabelRange:function(e,t){if(!this._view)return!1;var n=a(this);return i(this)?e>=n.left&&e<=n.right:t>=n.top&&t<=n.bottom},inXRange:function(e){var t=a(this);return e>=t.left&&e<=t.right},inYRange:function(e){var t=a(this);return e>=t.top&&e<=t.bottom},getCenterPoint:function(){var e,t,n=this._view;return i(this)?(e=n.x,t=(n.y+n.base)/2):(e=(n.x+n.base)/2,t=n.y),{x:e,y:t}},getArea:function(){var e=this._view;return e.width*Math.abs(e.y-e.base)},tooltipPosition:function(){var e=this._view;return{x:e.x,y:e.y}}})},{25:25,26:26}],40:[function(e,t,n){"use strict";t.exports={},t.exports.Arc=e(36),t.exports.Line=e(37),t.exports.Point=e(38),t.exports.Rectangle=e(39)},{36:36,37:37,38:38,39:39}],41:[function(e,t,n){"use strict";var i=e(42);n=t.exports={clear:function(e){e.ctx.clearRect(0,0,e.width,e.height)},roundedRect:function(e,t,n,i,a,r){if(r){var s=Math.min(r,i/2),o=Math.min(r,a/2);e.moveTo(t+s,n),e.lineTo(t+i-s,n),e.quadraticCurveTo(t+i,n,t+i,n+o),e.lineTo(t+i,n+a-o),e.quadraticCurveTo(t+i,n+a,t+i-s,n+a),e.lineTo(t+s,n+a),e.quadraticCurveTo(t,n+a,t,n+a-o),e.lineTo(t,n+o),e.quadraticCurveTo(t,n,t+s,n)}else e.rect(t,n,i,a)},drawPoint:function(e,t,n,i,a){var r,s,o,d,l,u;if(!t||"object"!=typeof t||"[object HTMLImageElement]"!==(r=t.toString())&&"[object HTMLCanvasElement]"!==r){if(!(isNaN(n)||n<=0)){switch(t){default:e.beginPath(),e.arc(i,a,n,0,2*Math.PI),e.closePath(),e.fill();break;case"triangle":e.beginPath(),l=(s=3*n/Math.sqrt(3))*Math.sqrt(3)/2,e.moveTo(i-s/2,a+l/3),e.lineTo(i+s/2,a+l/3),e.lineTo(i,a-2*l/3),e.closePath(),e.fill();break;case"rect":u=1/Math.SQRT2*n,e.beginPath(),e.fillRect(i-u,a-u,2*u,2*u),e.strokeRect(i-u,a-u,2*u,2*u);break;case"rectRounded":var c=n/Math.SQRT2,h=i-c,m=a-c,p=Math.SQRT2*n;e.beginPath(),this.roundedRect(e,h,m,p,p,n/2),e.closePath(),e.fill();break;case"rectRot":u=1/Math.SQRT2*n,e.beginPath(),e.moveTo(i-u,a),e.lineTo(i,a+u),e.lineTo(i+u,a),e.lineTo(i,a-u),e.closePath(),e.fill();break;case"cross":e.beginPath(),e.moveTo(i,a+n),e.lineTo(i,a-n),e.moveTo(i-n,a),e.lineTo(i+n,a),e.closePath();break;case"crossRot":e.beginPath(),o=Math.cos(Math.PI/4)*n,d=Math.sin(Math.PI/4)*n,e.moveTo(i-o,a-d),e.lineTo(i+o,a+d),e.moveTo(i-o,a+d),e.lineTo(i+o,a-d),e.closePath();break;case"star":e.beginPath(),e.moveTo(i,a+n),e.lineTo(i,a-n),e.moveTo(i-n,a),e.lineTo(i+n,a),o=Math.cos(Math.PI/4)*n,d=Math.sin(Math.PI/4)*n,e.moveTo(i-o,a-d),e.lineTo(i+o,a+d),e.moveTo(i-o,a+d),e.lineTo(i+o,a-d),e.closePath();break;case"line":e.beginPath(),e.moveTo(i-n,a),e.lineTo(i+n,a),e.closePath();break;case"dash":e.beginPath(),e.moveTo(i,a),e.lineTo(i+n,a),e.closePath()}e.stroke()}}else e.drawImage(t,i-t.width/2,a-t.height/2,t.width,t.height)},clipArea:function(e,t){e.save(),e.beginPath(),e.rect(t.left,t.top,t.right-t.left,t.bottom-t.top),e.clip()},unclipArea:function(e){e.restore()},lineTo:function(e,t,n,i){if(n.steppedLine)return"after"===n.steppedLine&&!i||"after"!==n.steppedLine&&i?e.lineTo(t.x,n.y):e.lineTo(n.x,t.y),void e.lineTo(n.x,n.y);n.tension?e.bezierCurveTo(i?t.controlPointPreviousX:t.controlPointNextX,i?t.controlPointPreviousY:t.controlPointNextY,i?n.controlPointNextX:n.controlPointPreviousX,i?n.controlPointNextY:n.controlPointPreviousY,n.x,n.y):e.lineTo(n.x,n.y)}},i.clear=n.clear,i.drawRoundedRectangle=function(e){e.beginPath(),n.roundedRect.apply(n,arguments),e.closePath()}},{42:42}],42:[function(e,t,n){"use strict";var i,a={noop:function(){},uid:(i=0,function(){return i++}),isNullOrUndef:function(e){return null==e},isArray:Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)},isObject:function(e){return null!==e&&"[object Object]"===Object.prototype.toString.call(e)},valueOrDefault:function(e,t){return void 0===e?t:e},valueAtIndexOrDefault:function(e,t,n){return a.valueOrDefault(a.isArray(e)?e[t]:e,n)},callback:function(e,t,n){if(e&&"function"==typeof e.call)return e.apply(n,t)},each:function(e,t,n,i){var r,s,o;if(a.isArray(e))if(s=e.length,i)for(r=s-1;r>=0;r--)t.call(n,e[r],r);else for(r=0;r=1?e:-(Math.sqrt(1-e*e)-1)},easeOutCirc:function(e){return Math.sqrt(1-(e-=1)*e)},easeInOutCirc:function(e){return(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)},easeInElastic:function(e){var t=1.70158,n=0,i=1;return 0===e?0:1===e?1:(n||(n=.3),i<1?(i=1,t=n/4):t=n/(2*Math.PI)*Math.asin(1/i),-i*Math.pow(2,10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/n))},easeOutElastic:function(e){var t=1.70158,n=0,i=1;return 0===e?0:1===e?1:(n||(n=.3),i<1?(i=1,t=n/4):t=n/(2*Math.PI)*Math.asin(1/i),i*Math.pow(2,-10*e)*Math.sin((e-t)*(2*Math.PI)/n)+1)},easeInOutElastic:function(e){var t=1.70158,n=0,i=1;return 0===e?0:2==(e/=.5)?1:(n||(n=.45),i<1?(i=1,t=n/4):t=n/(2*Math.PI)*Math.asin(1/i),e<1?i*Math.pow(2,10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/n)*-.5:i*Math.pow(2,-10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/n)*.5+1)},easeInBack:function(e){return e*e*(2.70158*e-1.70158)},easeOutBack:function(e){return(e-=1)*e*(2.70158*e+1.70158)+1},easeInOutBack:function(e){var t=1.70158;return(e/=.5)<1?e*e*((1+(t*=1.525))*e-t)*.5:.5*((e-=2)*e*((1+(t*=1.525))*e+t)+2)},easeInBounce:function(e){return 1-a.easeOutBounce(1-e)},easeOutBounce:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:function(e){return e<.5?.5*a.easeInBounce(2*e):.5*a.easeOutBounce(2*e-1)+.5}};t.exports={effects:a},i.easingEffects=a},{42:42}],44:[function(e,t,n){"use strict";var i=e(42);t.exports={toLineHeight:function(e,t){var n=(""+e).match(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/);if(!n||"normal"===n[1])return 1.2*t;switch(e=+n[2],n[3]){case"px":return e;case"%":e/=100}return t*e},toPadding:function(e){var t,n,a,r;return i.isObject(e)?(t=+e.top||0,n=+e.right||0,a=+e.bottom||0,r=+e.left||0):t=n=a=r=+e||0,{top:t,right:n,bottom:a,left:r,height:t+a,width:r+n}},resolve:function(e,t,n){var a,r,s;for(a=0,r=e.length;a
';var r=t.childNodes[0],s=t.childNodes[1];t._reset=function(){r.scrollLeft=1e6,r.scrollTop=1e6,s.scrollLeft=1e6,s.scrollTop=1e6};var o=function(){t._reset(),e()};return a(r,"scroll",o.bind(r,"expand")),a(s,"scroll",o.bind(s,"shrink")),t}((i=function(){if(v.resizer)return t(s("resize",n))},o=!1,d=[],function(){d=Array.prototype.slice.call(arguments),r=r||this,o||(o=!0,l.requestAnimFrame.call(window,function(){o=!1,i.apply(r,d)}))}));_=function(){if(v.resizer){var t=e.parentNode;t&&t!==M.parentNode&&t.insertBefore(M,t.firstChild),M._reset()}},g=(f=e)[u]||(f[u]={}),y=g.renderProxy=function(e){e.animationName===m&&_()},l.each(p,function(e){a(f,e,y)}),g.reflow=!!f.offsetParent,f.classList.add(h)}function d(e){var t,n,i,a=e[u]||{},s=a.resizer;delete a.resizer,n=(t=e)[u]||{},(i=n.renderProxy)&&(l.each(p,function(e){r(t,e,i)}),delete n.renderProxy),t.classList.remove(h),s&&s.parentNode&&s.parentNode.removeChild(s)}var l=e(45),u="$chartjs",c="chartjs-",h=c+"render-monitor",m=c+"render-animation",p=["animationstart","webkitAnimationStart"],f={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},_=!!function(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("e",null,t)}catch(e){}return e}()&&{passive:!0};t.exports={_enabled:"undefined"!=typeof window&&"undefined"!=typeof document,initialize:function(){var e,t,n,i="from{opacity:0.99}to{opacity:1}";t="@-webkit-keyframes "+m+"{"+i+"}@keyframes "+m+"{"+i+"}."+h+"{-webkit-animation:"+m+" 0.001s;animation:"+m+" 0.001s;}",n=(e=this)._style||document.createElement("style"),e._style||(e._style=n,t="/* Chart.js */\n"+t,n.setAttribute("type","text/css"),document.getElementsByTagName("head")[0].appendChild(n)),n.appendChild(document.createTextNode(t))},acquireContext:function(e,t){"string"==typeof e?e=document.getElementById(e):e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas);var n=e&&e.getContext&&e.getContext("2d");return n&&n.canvas===e?(function(e,t){var n=e.style,a=e.getAttribute("height"),r=e.getAttribute("width");if(e[u]={initial:{height:a,width:r,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",null===r||""===r){var s=i(e,"width");void 0!==s&&(e.width=s)}if(null===a||""===a)if(""===e.style.height)e.height=e.width/(t.options.aspectRatio||2);else{var o=i(e,"height");void 0!==s&&(e.height=o)}}(e,t),n):null},releaseContext:function(e){var t=e.canvas;if(t[u]){var n=t[u].initial;["height","width"].forEach(function(e){var i=n[e];l.isNullOrUndef(i)?t.removeAttribute(e):t.setAttribute(e,i)}),l.each(n.style||{},function(e,n){t.style[n]=e}),t.width=t.width,delete t[u]}},addEventListener:function(e,t,n){var i=e.canvas;if("resize"!==t){var r=n[u]||(n[u]={});a(i,t,(r.proxies||(r.proxies={}))[e.id+"_"+t]=function(t){var i,a,r,o;n((a=e,r=f[(i=t).type]||i.type,o=l.getRelativePosition(i,a),s(r,a,o.x,o.y,i)))})}else o(i,n,e)},removeEventListener:function(e,t,n){var i=e.canvas;if("resize"!==t){var a=((n[u]||{}).proxies||{})[e.id+"_"+t];a&&r(i,t,a)}else d(i)}},l.addEvent=a,l.removeEvent=r},{45:45}],48:[function(e,t,n){"use strict";var i=e(45),a=e(46),r=e(47),s=r._enabled?r:a;t.exports=i.extend({initialize:function(){},acquireContext:function(){},releaseContext:function(){},addEventListener:function(){},removeEventListener:function(){}},s)},{45:45,46:46,47:47}],49:[function(e,t,n){"use strict";t.exports={},t.exports.filler=e(50),t.exports.legend=e(51),t.exports.title=e(52)},{50:50,51:51,52:52}],50:[function(e,t,n){"use strict";function i(e,t,n){var i,a=e._model||{},r=a.fill;if(void 0===r&&(r=!!a.backgroundColor),!1===r||null===r)return!1;if(!0===r)return"origin";if(i=parseFloat(r,10),isFinite(i)&&Math.floor(i)===i)return"-"!==r[0]&&"+"!==r[0]||(i=t+i),!(i===t||i<0||i>=n)&&i;switch(r){case"bottom":return"start";case"top":return"end";case"zero":return"origin";case"origin":case"start":case"end":return r;default:return!1}}function a(e){var t,n=e.el._model||{},i=e.el._scale||{},a=e.fill,r=null;if(isFinite(a))return null;if("start"===a?r=void 0===n.scaleBottom?i.bottom:n.scaleBottom:"end"===a?r=void 0===n.scaleTop?i.top:n.scaleTop:void 0!==n.scaleZero?r=n.scaleZero:i.getBasePosition?r=i.getBasePosition():i.getBasePixel&&(r=i.getBasePixel()),null!=r){if(void 0!==r.x&&void 0!==r.y)return r;if("number"==typeof r&&isFinite(r))return{x:(t=i.isHorizontal())?r:null,y:t?null:r}}return null}function r(e,t,n){var i,a=e[t].fill,r=[t];if(!n)return a;for(;!1!==a&&-1===r.indexOf(a);){if(!isFinite(a))return a;if(!(i=e[a]))return!1;if(i.visible)return a;r.push(a),a=i.fill}return!1}function s(e){return e&&!e.skip}function o(e,t,n,i,a){var r;if(i&&a){for(e.moveTo(t[0].x,t[0].y),r=1;r0;--r)u.canvas.lineTo(e,n[r],n[r-1],!0)}}var d=e(25),l=e(40),u=e(45);d._set("global",{plugins:{filler:{propagate:!0}}});var c={dataset:function(e){var t=e.fill,n=e.chart,i=n.getDatasetMeta(t),a=i&&n.isDatasetVisible(t)&&i.dataset._children||[],r=a.length||0;return r?function(e,t){return t');for(var n=0;n'),e.data.datasets[n].label&&t.push(e.data.datasets[n].label),t.push("");return t.push(""),t.join("")}});var u=s.extend({initialize:function(e){o.extend(this,e),this.legendHitBoxes=[],this.doughnutMode=!1},beforeUpdate:l,update:function(e,t,n){var i=this;return i.beforeUpdate(),i.maxWidth=e,i.maxHeight=t,i.margins=n,i.beforeSetDimensions(),i.setDimensions(),i.afterSetDimensions(),i.beforeBuildLabels(),i.buildLabels(),i.afterBuildLabels(),i.beforeFit(),i.fit(),i.afterFit(),i.afterUpdate(),i.minSize},afterUpdate:l,beforeSetDimensions:l,setDimensions:function(){var e=this;e.isHorizontal()?(e.width=e.maxWidth,e.left=0,e.right=e.width):(e.height=e.maxHeight,e.top=0,e.bottom=e.height),e.paddingLeft=0,e.paddingTop=0,e.paddingRight=0,e.paddingBottom=0,e.minSize={width:0,height:0}},afterSetDimensions:l,beforeBuildLabels:l,buildLabels:function(){var e=this,t=e.options.labels||{},n=o.callback(t.generateLabels,[e.chart],e)||[];t.filter&&(n=n.filter(function(n){return t.filter(n,e.chart.data)})),e.options.reverse&&n.reverse(),e.legendItems=n},afterBuildLabels:l,beforeFit:l,fit:function(){var e=this,t=e.options,n=t.labels,a=t.display,s=e.ctx,d=r.global,l=o.valueOrDefault,u=l(n.fontSize,d.defaultFontSize),c=l(n.fontStyle,d.defaultFontStyle),h=l(n.fontFamily,d.defaultFontFamily),m=o.fontString(u,c,h),p=e.legendHitBoxes=[],f=e.minSize,_=e.isHorizontal();if(_?(f.width=e.maxWidth,f.height=a?10:0):(f.width=a?10:0,f.height=e.maxHeight),a)if(s.font=m,_){var g=e.lineWidths=[0],y=e.legendItems.length?u+n.padding:0;s.textAlign="left",s.textBaseline="top",o.each(e.legendItems,function(t,a){var r=i(n,u)+u/2+s.measureText(t.text).width;g[g.length-1]+r+n.padding>=e.width&&(y+=u+n.padding,g[g.length]=e.left),p[a]={left:0,top:0,width:r,height:u},g[g.length-1]+=r+n.padding}),f.height+=y}else{var v=n.padding,M=e.columnWidths=[],b=n.padding,L=0,D=0,k=u+v;o.each(e.legendItems,function(e,t){var a=i(n,u)+u/2+s.measureText(e.text).width;D+k>f.height&&(b+=L+n.padding,M.push(L),L=0,D=0),L=Math.max(L,a),D+=k,p[t]={left:0,top:0,width:a,height:u}}),b+=L,M.push(L),f.width+=b}e.width=f.width,e.height=f.height},afterFit:l,isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},draw:function(){var e=this,t=e.options,n=t.labels,a=r.global,s=a.elements.line,d=e.width,l=e.lineWidths;if(t.display){var u,c=e.ctx,h=o.valueOrDefault,m=h(n.fontColor,a.defaultFontColor),p=h(n.fontSize,a.defaultFontSize),f=h(n.fontStyle,a.defaultFontStyle),_=h(n.fontFamily,a.defaultFontFamily),g=o.fontString(p,f,_);c.textAlign="left",c.textBaseline="middle",c.lineWidth=.5,c.strokeStyle=m,c.fillStyle=m,c.font=g;var y=i(n,p),v=e.legendHitBoxes,M=e.isHorizontal();u=M?{x:e.left+(d-l[0])/2,y:e.top+n.padding,line:0}:{x:e.left+n.padding,y:e.top+n.padding,line:0};var b=p+n.padding;o.each(e.legendItems,function(i,r){var m,f,_,g,L,D=c.measureText(i.text).width,k=y+p/2+D,w=u.x,T=u.y;M?w+k>=d&&(T=u.y+=b,u.line++,w=u.x=e.left+(d-l[u.line])/2):T+b>e.bottom&&(w=u.x=w+e.columnWidths[u.line]+n.padding,T=u.y=e.top+n.padding,u.line++),function(e,n,i){if(!(isNaN(y)||y<=0)){c.save(),c.fillStyle=h(i.fillStyle,a.defaultColor),c.lineCap=h(i.lineCap,s.borderCapStyle),c.lineDashOffset=h(i.lineDashOffset,s.borderDashOffset),c.lineJoin=h(i.lineJoin,s.borderJoinStyle),c.lineWidth=h(i.lineWidth,s.borderWidth),c.strokeStyle=h(i.strokeStyle,a.defaultColor);var r=0===h(i.lineWidth,s.borderWidth);if(c.setLineDash&&c.setLineDash(h(i.lineDash,s.borderDash)),t.labels&&t.labels.usePointStyle){var d=p*Math.SQRT2/2,l=d/Math.SQRT2,u=e+l,m=n+l;o.canvas.drawPoint(c,i.pointStyle,d,u,m)}else r||c.strokeRect(e,n,y,p),c.fillRect(e,n,y,p);c.restore()}}(w,T,i),v[r].left=w,v[r].top=T,m=i,f=D,g=y+(_=p/2)+w,L=T+_,c.fillText(m.text,g,L),m.hidden&&(c.beginPath(),c.lineWidth=2,c.moveTo(g,L),c.lineTo(g+f,L),c.stroke()),M?u.x+=k+n.padding:u.y+=b})}},handleEvent:function(e){var t=this,n=t.options,i="mouseup"===e.type?"click":e.type,a=!1;if("mousemove"===i){if(!n.onHover)return}else{if("click"!==i)return;if(!n.onClick)return}var r=e.x,s=e.y;if(r>=t.left&&r<=t.right&&s>=t.top&&s<=t.bottom)for(var o=t.legendHitBoxes,d=0;d=l.left&&r<=l.left+l.width&&s>=l.top&&s<=l.top+l.height){if("click"===i){n.onClick.call(t,e.native,t.legendItems[d]),a=!0;break}if("mousemove"===i){n.onHover.call(t,e.native,t.legendItems[d]),a=!0;break}}}return a}});t.exports={id:"legend",_element:u,beforeInit:function(e){var t=e.options.legend;t&&a(e,t)},beforeUpdate:function(e){var t=e.options.legend,n=e.legend;t?(o.mergeIf(t,r.global.legend),n?(d.configure(e,n,t),n.options=t):a(e,t)):n&&(d.removeBox(e,n),delete e.legend)},afterEvent:function(e,t){var n=e.legend;n&&n.handleEvent(t)}}},{25:25,26:26,30:30,45:45}],52:[function(e,t,n){"use strict";function i(e,t){var n=new l({ctx:e.ctx,options:t,chart:e});o.configure(e,n,t),o.addBox(e,n),e.titleBlock=n}var a=e(25),r=e(26),s=e(45),o=e(30),d=s.noop;a._set("global",{title:{display:!1,fontStyle:"bold",fullWidth:!0,lineHeight:1.2,padding:10,position:"top",text:"",weight:2e3}});var l=r.extend({initialize:function(e){s.extend(this,e),this.legendHitBoxes=[]},beforeUpdate:d,update:function(e,t,n){var i=this;return i.beforeUpdate(),i.maxWidth=e,i.maxHeight=t,i.margins=n,i.beforeSetDimensions(),i.setDimensions(),i.afterSetDimensions(),i.beforeBuildLabels(),i.buildLabels(),i.afterBuildLabels(),i.beforeFit(),i.fit(),i.afterFit(),i.afterUpdate(),i.minSize},afterUpdate:d,beforeSetDimensions:d,setDimensions:function(){var e=this;e.isHorizontal()?(e.width=e.maxWidth,e.left=0,e.right=e.width):(e.height=e.maxHeight,e.top=0,e.bottom=e.height),e.paddingLeft=0,e.paddingTop=0,e.paddingRight=0,e.paddingBottom=0,e.minSize={width:0,height:0}},afterSetDimensions:d,beforeBuildLabels:d,buildLabels:d,afterBuildLabels:d,beforeFit:d,fit:function(){var e=this,t=s.valueOrDefault,n=e.options,i=n.display,r=t(n.fontSize,a.global.defaultFontSize),o=e.minSize,d=s.isArray(n.text)?n.text.length:1,l=s.options.toLineHeight(n.lineHeight,r),u=i?d*l+2*n.padding:0;e.isHorizontal()?(o.width=e.maxWidth,o.height=u):(o.width=u,o.height=e.maxHeight),e.width=o.width,e.height=o.height},afterFit:d,isHorizontal:function(){var e=this.options.position;return"top"===e||"bottom"===e},draw:function(){var e=this,t=e.ctx,n=s.valueOrDefault,i=e.options,r=a.global;if(i.display){var o,d,l,u=n(i.fontSize,r.defaultFontSize),c=n(i.fontStyle,r.defaultFontStyle),h=n(i.fontFamily,r.defaultFontFamily),m=s.fontString(u,c,h),p=s.options.toLineHeight(i.lineHeight,u),f=p/2+i.padding,_=0,g=e.top,y=e.left,v=e.bottom,M=e.right;t.fillStyle=n(i.fontColor,r.defaultFontColor),t.font=m,e.isHorizontal()?(d=y+(M-y)/2,l=g+f,o=M-y):(d="left"===i.position?y+f:M-f,l=g+(v-g)/2,o=v-g,_=Math.PI*("left"===i.position?-.5:.5)),t.save(),t.translate(d,l),t.rotate(_),t.textAlign="center",t.textBaseline="middle";var b=i.text;if(s.isArray(b))for(var L=0,D=0;Dt.max&&(t.max=i))})});t.min=isFinite(t.min)&&!isNaN(t.min)?t.min:0,t.max=isFinite(t.max)&&!isNaN(t.max)?t.max:1,this.handleTickRangeOptions()},getTickLimit:function(){var e,t=this.options.ticks;if(this.isHorizontal())e=Math.min(t.maxTicksLimit?t.maxTicksLimit:11,Math.ceil(this.width/50));else{var n=a.valueOrDefault(t.fontSize,i.global.defaultFontSize);e=Math.min(t.maxTicksLimit?t.maxTicksLimit:11,Math.ceil(this.height/(2*n)))}return e},handleDirectionalChanges:function(){this.isHorizontal()||this.ticks.reverse()},getLabelForIndex:function(e,t){return+this.getRightValue(this.chart.data.datasets[t].data[e])},getPixelForValue:function(e){var t=this,n=t.start,i=+t.getRightValue(e),a=t.end-n;return t.isHorizontal()?t.left+t.width/a*(i-n):t.bottom-t.height/a*(i-n)},getValueForPixel:function(e){var t=this,n=t.isHorizontal(),i=n?t.width:t.height,a=(n?e-t.left:t.bottom-e)/i;return t.start+(t.end-t.start)*a},getPixelForTick:function(e){return this.getPixelForValue(this.ticksAsNumbers[e])}});e.scaleService.registerScaleType("linear",n,t)}},{25:25,34:34,45:45}],55:[function(e,t,n){"use strict";var i=e(45);t.exports=function(e){var t=i.noop;e.LinearScaleBase=e.Scale.extend({getRightValue:function(t){return"string"==typeof t?+t:e.Scale.prototype.getRightValue.call(this,t)},handleTickRangeOptions:function(){var e=this,t=e.options.ticks;if(t.beginAtZero){var n=i.sign(e.min),a=i.sign(e.max);n<0&&a<0?e.max=0:n>0&&a>0&&(e.min=0)}var r=void 0!==t.min||void 0!==t.suggestedMin,s=void 0!==t.max||void 0!==t.suggestedMax;void 0!==t.min?e.min=t.min:void 0!==t.suggestedMin&&(null===e.min?e.min=t.suggestedMin:e.min=Math.min(e.min,t.suggestedMin)),void 0!==t.max?e.max=t.max:void 0!==t.suggestedMax&&(null===e.max?e.max=t.suggestedMax:e.max=Math.max(e.max,t.suggestedMax)),r!==s&&e.min>=e.max&&(r?e.max=e.min+1:e.min=e.max-1),e.min===e.max&&(e.max++,t.beginAtZero||e.min--)},getTickLimit:t,handleDirectionalChanges:t,buildTicks:function(){var e=this,t=e.options.ticks,n=e.getTickLimit(),a={maxTicks:n=Math.max(2,n),min:t.min,max:t.max,stepSize:i.valueOrDefault(t.fixedStepSize,t.stepSize)},r=e.ticks=function(e,t){var n,a=[];if(e.stepSize&&e.stepSize>0)n=e.stepSize;else{var r=i.niceNum(t.max-t.min,!1);n=i.niceNum(r/(e.maxTicks-1),!0)}var s=Math.floor(t.min/n)*n,o=Math.ceil(t.max/n)*n;e.min&&e.max&&e.stepSize&&i.almostWhole((e.max-e.min)/e.stepSize,n/1e3)&&(s=e.min,o=e.max);var d=(o-s)/n;d=i.almostEquals(d,Math.round(d),n/1e3)?Math.round(d):Math.ceil(d);var l=1;n<1&&(l=Math.pow(10,n.toString().length-2),s=Math.round(s*l)/l,o=Math.round(o*l)/l),a.push(void 0!==e.min?e.min:s);for(var u=1;u0){var n=i.min(e),a=i.max(e);t.min=null===t.min?n:Math.min(t.min,n),t.max=null===t.max?a:Math.max(t.max,a)}})}else i.each(r,function(n,r){var s=a.getDatasetMeta(r);a.isDatasetVisible(r)&&e(s)&&i.each(n.data,function(e,n){var i=+t.getRightValue(e);isNaN(i)||s.data[n].hidden||i<0||(null===t.min?t.min=i:it.max&&(t.max=i),0!==i&&(null===t.minNotZero||i0?e.minNotZero=e.min:e.max<1?e.minNotZero=Math.pow(10,Math.floor(i.log10(e.max))):e.minNotZero=1)},buildTicks:function(){var e=this,t=e.options.ticks,n=!e.isHorizontal(),a={min:t.min,max:t.max},r=e.ticks=function(e,t){var n,a,r=[],s=i.valueOrDefault,o=s(e.min,Math.pow(10,Math.floor(i.log10(t.min)))),d=Math.floor(i.log10(t.max)),l=Math.ceil(t.max/Math.pow(10,d));0===o?(n=Math.floor(i.log10(t.minNotZero)),a=Math.floor(t.minNotZero/Math.pow(10,n)),r.push(o),o=a*Math.pow(10,n)):(n=Math.floor(i.log10(o)),a=Math.floor(o/Math.pow(10,n)));for(var u=n<0?Math.pow(10,Math.abs(n)):1;r.push(o),10==++a&&(a=1,u=++n>=0?1:u),o=Math.round(a*Math.pow(10,n)*u)/u,na?{start:t-n-5,end:t}:{start:t,end:t+n+5}}function o(e,t,n,i){if(a.isArray(t))for(var r=n.y,s=1.5*i,o=0;ou.r&&(u.r=y.end,c.r=_),v.startu.b&&(u.b=v.end,c.b=_)}e.setReductions(l,u,c)}(this):(e=this,i=Math.min(e.height/2,e.width/2),e.drawingArea=Math.round(i),e.setCenterPoint(0,0,0,0))},setReductions:function(e,t,n){var i=t.l/Math.sin(n.l),a=Math.max(t.r-this.width,0)/Math.sin(n.r),r=-t.t/Math.cos(n.t),s=-Math.max(t.b-this.height,0)/Math.cos(n.b);i=d(i),a=d(a),r=d(r),s=d(s),this.drawingArea=Math.min(Math.round(e-(i+a)/2),Math.round(e-(r+s)/2)),this.setCenterPoint(i,a,r,s)},setCenterPoint:function(e,t,n,i){var a=this,r=a.width-t-a.drawingArea,s=e+a.drawingArea,o=n+a.drawingArea,d=a.height-i-a.drawingArea;a.xCenter=Math.round((s+r)/2+a.left),a.yCenter=Math.round((o+d)/2+a.top)},getIndexAngle:function(e){return e*(2*Math.PI/t(this))+(this.chart.options&&this.chart.options.startAngle?this.chart.options.startAngle:0)*Math.PI*2/360},getDistanceFromCenterForValue:function(e){var t=this;if(null===e)return 0;var n=t.drawingArea/(t.max-t.min);return t.options.ticks.reverse?(t.max-e)*n:(e-t.min)*n},getPointPosition:function(e,t){var n=this.getIndexAngle(e)-Math.PI/2;return{x:Math.round(Math.cos(n)*t)+this.xCenter,y:Math.round(Math.sin(n)*t)+this.yCenter}},getPointPositionForValue:function(e,t){return this.getPointPosition(e,this.getDistanceFromCenterForValue(t))},getBasePosition:function(){var e=this.min,t=this.max;return this.getPointPositionForValue(0,this.beginAtZero?0:e<0&&t<0?t:e>0&&t>0?e:0)},draw:function(){var e=this,i=e.options,r=i.gridLines,s=i.ticks,d=a.valueOrDefault;if(i.display){var u=e.ctx,c=this.getIndexAngle(0),h=d(s.fontSize,l.defaultFontSize),m=d(s.fontStyle,l.defaultFontStyle),p=d(s.fontFamily,l.defaultFontFamily),f=a.fontString(h,m,p);a.each(e.ticks,function(n,i){if(i>0||s.reverse){var o=e.getDistanceFromCenterForValue(e.ticksAsNumbers[i]);if(r.display&&0!==i&&function(e,n,i,r){var s=e.ctx;if(s.strokeStyle=a.valueAtIndexOrDefault(n.color,r-1),s.lineWidth=a.valueAtIndexOrDefault(n.lineWidth,r-1),e.options.gridLines.circular)s.beginPath(),s.arc(e.xCenter,e.yCenter,i,0,2*Math.PI),s.closePath(),s.stroke();else{var o=t(e);if(0===o)return;s.beginPath();var d=e.getPointPosition(0,i);s.moveTo(d.x,d.y);for(var l=1;l=0;_--){if(s.display){var g=e.getPointPosition(_,p);i.beginPath(),i.moveTo(e.xCenter,e.yCenter),i.lineTo(g.x,g.y),i.stroke(),i.closePath()}if(d.display){var y=e.getPointPosition(_,p+5),v=a.valueAtIndexOrDefault(d.fontColor,_,l.defaultFontColor);i.font=f.font,i.fillStyle=v;var M=e.getIndexAngle(_),b=a.toDegrees(M);i.textAlign=0===(m=b)||180===m?"center":m<180?"left":"right",u=b,c=e._pointLabelSizes[_],h=y,90===u||270===u?h.y-=c.h/2:(u>270||u<90)&&(h.y-=c.h),o(i,e.pointLabels[_]||"",y,f.size)}}}(e)}}});e.scaleService.registerScaleType("radialLinear",c,u)}},{25:25,34:34,45:45}],58:[function(e,t,n){"use strict";function i(e,t){return e-t}function a(e){var t,n,i,a={},r=[];for(t=0,n=e.length;t=0&&s<=o;){if(a=e[(i=s+o>>1)-1]||null,r=e[i],!a)return{lo:null,hi:r};if(r[t]n))return{lo:a,hi:r};o=i-1}}return{lo:r,hi:null}}(e,t,n),r=a.lo?a.hi?a.lo:e[e.length-2]:e[0],s=a.lo?a.hi?a.hi:e[e.length-1]:e[1],o=s[t]-r[t],d=o?(n-r[t])/o:0,l=(s[i]-r[i])*d;return r[i]+l}function s(e,t){var n=t.parser,i=t.parser||t.format;return"function"==typeof n?n(e):"string"==typeof e&&"string"==typeof i?u(e,i):(e instanceof u||(e=u(e)),e.isValid()?e:"function"==typeof i?i(e):e)}function o(e,t){if(h.isNullOrUndef(e))return null;var n=t.options.time,i=s(t.getRightValue(e),n);return i.isValid()?(n.round&&i.startOf(n.round),i.valueOf()):null}function d(e){for(var t=_.indexOf(e)+1,n=_.length;t=b&&n<=L&&T.push(n);return M.min=b,M.max=L,M._unit=k.unit||function(e,t,n,i){var a,r,s=u.duration(u(i).diff(u(n)));for(a=_.length-1;a>=_.indexOf(t);a--)if(r=_[a],f[r].common&&s.as(r)>=e.length)return r;return _[t?_.indexOf(t):0]}(T,k.minUnit,M.min,M.max),M._majorUnit=d(M._unit),M._table=function(e,t,n,i){if("linear"===i||!e.length)return[{time:t,pos:0},{time:n,pos:1}];var a,r,s,o,d,l=[],u=[t];for(a=0,r=e.length;at&&o1?a[1]:h,g=a[0],y=(r(i,"time",p,"pos")-r(i,"time",g,"pos"))/2),m.time.max||(p=a[a.length-1],g=a.length>1?a[a.length-2]:c,v=(r(i,"time",p,"pos")-r(i,"time",g,"pos"))/2)),{left:y,right:v}),M._labelFormat=function(e,t){var n,i,a,r=e.length;for(n=0;n=0&&e0?s:1}});e.scaleService.registerScaleType("time",t,{position:"bottom",distribution:"linear",bounds:"data",time:{parser:!1,format:!1,unit:!1,round:!1,displayFormat:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{millisecond:"h:mm:ss.SSS a",second:"h:mm:ss a",minute:"h:mm a",hour:"hA",day:"MMM D",week:"ll",month:"MMM YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"}},ticks:{autoSkip:!1,source:"auto",major:{enabled:!1}}})}},{1:1,25:25,45:45}]},{},[7])(7)})},"2pmY":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";var t={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},n={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"};return e.defineLocale("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(e){return/بعد از ظهر/.test(e)},meridiem:function(e,t,n){return e<12?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چند ثانیه",ss:"ثانیه d%",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(e){return e.replace(/[۰-۹]/g,function(e){return n[e]}).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]}).replace(/,/g,"،")},dayOfMonthOrdinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}})})},"2s1U":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";function t(e,t,n,i){var a=e+" ";switch(n){case"s":return t||i?"nekaj sekund":"nekaj sekundami";case"ss":return a+=1===e?t?"sekundo":"sekundi":2===e?t||i?"sekundi":"sekundah":e<5?t||i?"sekunde":"sekundah":"sekund";case"m":return t?"ena minuta":"eno minuto";case"mm":return a+=1===e?t?"minuta":"minuto":2===e?t||i?"minuti":"minutama":e<5?t||i?"minute":"minutami":t||i?"minut":"minutami";case"h":return t?"ena ura":"eno uro";case"hh":return a+=1===e?t?"ura":"uro":2===e?t||i?"uri":"urama":e<5?t||i?"ure":"urami":t||i?"ur":"urami";case"d":return t||i?"en dan":"enim dnem";case"dd":return a+=1===e?t||i?"dan":"dnem":2===e?t||i?"dni":"dnevoma":t||i?"dni":"dnevi";case"M":return t||i?"en mesec":"enim mesecem";case"MM":return a+=1===e?t||i?"mesec":"mesecem":2===e?t||i?"meseca":"mesecema":e<5?t||i?"mesece":"meseci":t||i?"mesecev":"meseci";case"y":return t||i?"eno leto":"enim letom";case"yy":return a+=1===e?t||i?"leto":"letom":2===e?t||i?"leti":"letoma":e<5?t||i?"leta":"leti":t||i?"let":"leti"}}return e.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejšnjo] [nedeljo] [ob] LT";case 3:return"[prejšnjo] [sredo] [ob] LT";case 6:return"[prejšnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},"3CJN":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";return e.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(e){return/^nm$/i.test(e)},meridiem:function(e,t,n){return e<12?n?"vm":"VM":n?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}})})},"3EEf":function(e,t){},"3IRH":function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},"3K28":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";var t="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),i=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],a=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;return e.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,i){return e?/-MMM-/.test(i)?n[e.month()]:t[e.month()]:t},monthsRegex:a,monthsShortRegex:a,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:i,longMonthsParse:i,shortMonthsParse:i,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}})})},"3LKG":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";return e.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}})})},"3MVc":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";var t={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},i=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},a={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},r=function(e){return function(t,n,r,s){var o=i(t),d=a[e][i(t)];return 2===o&&(d=d[n?0:1]),d.replace(/%d/i,t)}},s=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];return e.defineLocale("ar",{months:s,monthsShort:s,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,t,n){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:r("s"),ss:r("s"),m:r("m"),mm:r("m"),h:r("h"),hh:r("h"),d:r("d"),dd:r("d"),M:r("M"),MM:r("M"),y:r("y"),yy:r("y")},preparse:function(e){return e.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(e){return n[e]}).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]}).replace(/,/g,"،")},week:{dow:6,doy:12}})})},"3hfc":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";function t(e,t){var n=e.split("_");return t%10==1&&t%100!=11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,i){var a={ss:n?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:n?"хвіліна_хвіліны_хвілін":"хвіліну_хвіліны_хвілін",hh:n?"гадзіна_гадзіны_гадзін":"гадзіну_гадзіны_гадзін",dd:"дзень_дні_дзён",MM:"месяц_месяцы_месяцаў",yy:"год_гады_гадоў"};return"m"===i?n?"хвіліна":"хвіліну":"h"===i?n?"гадзіна":"гадзіну":e+" "+t(a[i],+e)}return e.defineLocale("be",{months:{format:"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_"),standalone:"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_")},monthsShort:"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdays:{format:"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_"),standalone:"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),isFormat:/\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/},weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_"),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сёння ў] LT",nextDay:"[Заўтра ў] LT",lastDay:"[Учора ў] LT",nextWeek:function(){return"[У] dddd [ў] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[У мінулую] dddd [ў] LT";case 1:case 2:case 4:return"[У мінулы] dddd [ў] LT"}},sameElse:"L"},relativeTime:{future:"праз %s",past:"%s таму",s:"некалькі секунд",m:n,mm:n,h:n,hh:n,d:"дзень",dd:n,M:"месяц",MM:n,y:"год",yy:n},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(e){return/^(дня|вечара)$/.test(e)},meridiem:function(e,t,n){return e<4?"ночы":e<12?"раніцы":e<17?"дня":"вечара"},dayOfMonthOrdinalParse:/\d{1,2}-(і|ы|га)/,ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":case"w":case"W":return e%10!=2&&e%10!=3||e%100==12||e%100==13?e+"-ы":e+"-і";case"D":return e+"-га";default:return e}},week:{dow:1,doy:7}})})},"5Omq":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";return e.defineLocale("se",{months:"ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu".split("_"),monthsShort:"ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov".split("_"),weekdays:"sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),weekdaysShort:"sotn_vuos_maŋ_gask_duor_bear_láv".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s geažes",past:"maŋit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta mánnu",MM:"%d mánut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},"5SNd":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";var t={0:"-ум",1:"-ум",2:"-юм",3:"-юм",4:"-ум",5:"-ум",6:"-ум",7:"-ум",8:"-ум",9:"-ум",10:"-ум",12:"-ум",13:"-ум",20:"-ум",30:"-юм",40:"-ум",50:"-ум",60:"-ум",70:"-ум",80:"-ум",90:"-ум",100:"-ум"};return e.defineLocale("tg",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе".split("_"),weekdaysShort:"яшб_дшб_сшб_чшб_пшб_ҷум_шнб".split("_"),weekdaysMin:"яш_дш_сш_чш_пш_ҷм_шб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Имрӯз соати] LT",nextDay:"[Пагоҳ соати] LT",lastDay:"[Дирӯз соати] LT",nextWeek:"dddd[и] [ҳафтаи оянда соати] LT",lastWeek:"dddd[и] [ҳафтаи гузашта соати] LT",sameElse:"L"},relativeTime:{future:"баъди %s",past:"%s пеш",s:"якчанд сония",m:"як дақиқа",mm:"%d дақиқа",h:"як соат",hh:"%d соат",d:"як рӯз",dd:"%d рӯз",M:"як моҳ",MM:"%d моҳ",y:"як сол",yy:"%d сол"},meridiemParse:/шаб|субҳ|рӯз|бегоҳ/,meridiemHour:function(e,t){return 12===e&&(e=0),"шаб"===t?e<4?e:e+12:"субҳ"===t?e:"рӯз"===t?e>=11?e:e+12:"бегоҳ"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"шаб":e<11?"субҳ":e<16?"рӯз":e<19?"бегоҳ":"шаб"},dayOfMonthOrdinalParse:/\d{1,2}-(ум|юм)/,ordinal:function(e){var n=e%10,i=e>=100?100:null;return e+(t[e]||t[n]||t[i])},week:{dow:1,doy:7}})})},"5j66":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";var t={1:"១",2:"២",3:"៣",4:"៤",5:"៥",6:"៦",7:"៧",8:"៨",9:"៩",0:"០"},n={"១":"1","២":"2","៣":"3","៤":"4","៥":"5","៦":"6","៧":"7","៨":"8","៩":"9","០":"0"};return e.defineLocale("km",{months:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),monthsShort:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),weekdays:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysShort:"អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),weekdaysMin:"អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/ព្រឹក|ល្ងាច/,isPM:function(e){return"ល្ងាច"===e},meridiem:function(e,t,n){return e<12?"ព្រឹក":"ល្ងាច"},calendar:{sameDay:"[ថ្ងៃនេះ ម៉ោង] LT",nextDay:"[ស្អែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោង] LT",lastWeek:"dddd [សប្តាហ៍មុន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future:"%sទៀត",past:"%sមុន",s:"ប៉ុន្មានវិនាទី",ss:"%d វិនាទី",m:"មួយនាទី",mm:"%d នាទី",h:"មួយម៉ោង",hh:"%d ម៉ោង",d:"មួយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មួយខែ",MM:"%d ខែ",y:"មួយឆ្នាំ",yy:"%d ឆ្នាំ"},dayOfMonthOrdinalParse:/ទី\d{1,2}/,ordinal:"ទី%d",preparse:function(e){return e.replace(/[១២៣៤៥៦៧៨៩០]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},week:{dow:1,doy:4}})})},"5vPg":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";function t(e,t,n,i){var a="";if(t)switch(n){case"s":a="काही सेकंद";break;case"ss":a="%d सेकंद";break;case"m":a="एक मिनिट";break;case"mm":a="%d मिनिटे";break;case"h":a="एक तास";break;case"hh":a="%d तास";break;case"d":a="एक दिवस";break;case"dd":a="%d दिवस";break;case"M":a="एक महिना";break;case"MM":a="%d महिने";break;case"y":a="एक वर्ष";break;case"yy":a="%d वर्षे"}else switch(n){case"s":a="काही सेकंदां";break;case"ss":a="%d सेकंदां";break;case"m":a="एका मिनिटा";break;case"mm":a="%d मिनिटां";break;case"h":a="एका तासा";break;case"hh":a="%d तासां";break;case"d":a="एका दिवसा";break;case"dd":a="%d दिवसां";break;case"M":a="एका महिन्या";break;case"MM":a="%d महिन्यां";break;case"y":a="एका वर्षा";break;case"yy":a="%d वर्षां"}return a.replace(/%d/i,e)}var n={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},i={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};return e.defineLocale("mr",{months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm वाजता",LTS:"A h:mm:ss वाजता",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm वाजता",LLLL:"dddd, D MMMM YYYY, A h:mm वाजता"},calendar:{sameDay:"[आज] LT",nextDay:"[उद्या] LT",nextWeek:"dddd, LT",lastDay:"[काल] LT",lastWeek:"[मागील] dddd, LT",sameElse:"L"},relativeTime:{future:"%sमध्ये",past:"%sपूर्वी",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(e){return i[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return n[e]})},meridiemParse:/रात्री|सकाळी|दुपारी|सायंकाळी/,meridiemHour:function(e,t){return 12===e&&(e=0),"रात्री"===t?e<4?e:e+12:"सकाळी"===t?e:"दुपारी"===t?e>=10?e:e+12:"सायंकाळी"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"रात्री":e<10?"सकाळी":e<17?"दुपारी":e<20?"सायंकाळी":"रात्री"},week:{dow:0,doy:6}})})},"6cf8":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";var t={0:"-чү",1:"-чи",2:"-чи",3:"-чү",4:"-чү",5:"-чи",6:"-чы",7:"-чи",8:"-чи",9:"-чу",10:"-чу",20:"-чы",30:"-чу",40:"-чы",50:"-чү",60:"-чы",70:"-чи",80:"-чи",90:"-чу",100:"-чү"};return e.defineLocale("ky",{months:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),monthsShort:"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),weekdays:"Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби".split("_"),weekdaysShort:"Жек_Дүй_Шей_Шар_Бей_Жум_Ише".split("_"),weekdaysMin:"Жк_Дй_Шй_Шр_Бй_Жм_Иш".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгүн саат] LT",nextDay:"[Эртең саат] LT",nextWeek:"dddd [саат] LT",lastDay:"[Кече саат] LT",lastWeek:"[Өткен аптанын] dddd [күнү] [саат] LT",sameElse:"L"},relativeTime:{future:"%s ичинде",past:"%s мурун",s:"бирнече секунд",ss:"%d секунд",m:"бир мүнөт",mm:"%d мүнөт",h:"бир саат",hh:"%d саат",d:"бир күн",dd:"%d күн",M:"бир ай",MM:"%d ай",y:"бир жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(чи|чы|чү|чу)/,ordinal:function(e){var n=e%10,i=e>=100?100:null;return e+(t[e]||t[n]||t[i])},week:{dow:1,doy:7}})})},"7LV+":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";function t(e){return e%10<5&&e%10>1&&~~(e/10)%10!=1}function n(e,n,i){var a=e+" ";switch(i){case"ss":return a+(t(e)?"sekundy":"sekund");case"m":return n?"minuta":"minutę";case"mm":return a+(t(e)?"minuty":"minut");case"h":return n?"godzina":"godzinę";case"hh":return a+(t(e)?"godziny":"godzin");case"MM":return a+(t(e)?"miesiące":"miesięcy");case"yy":return a+(t(e)?"lata":"lat")}}var i="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),a="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_");return e.defineLocale("pl",{months:function(e,t){return e?""===t?"("+a[e.month()]+"|"+i[e.month()]+")":/D MMMM/.test(t)?a[e.month()]:i[e.month()]:i},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_śr_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedzielę o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W środę o] LT";case 6:return"[W sobotę o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:n,m:n,mm:n,h:n,hh:n,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:n,y:"rok",yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},"7MHZ":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";var t="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),i=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],a=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;return e.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,i){return e?/-MMM-/.test(i)?n[e.month()]:t[e.month()]:t},monthsRegex:a,monthsShortRegex:a,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:i,longMonthsParse:i,shortMonthsParse:i,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},"7OnE":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";var t={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"};return e.defineLocale("ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,t,n){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(e){return e.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(e){return n[e]}).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]}).replace(/,/g,"،")},week:{dow:0,doy:6}})})},"7Q8x":function(e,t,n){!function(e,t){t(n("PJh5"))}(0,function(e){"use strict";return e.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(e,t,n){return e<11?"ekuseni":e<15?"emini":e<19?"entsambama":"ebusuku"},meridiemHour:function(e,t){return 12===e&&(e=0),"ekuseni"===t?e:"emini"===t?e>=11?e:e+12:"entsambama"===t||"ebusuku"===t?0===e?0:e+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}})})},"7t+N":function(e,t,n){var i,a;/*! * jQuery JavaScript Library v3.3.1 * https://jquery.com/ * @@ -11,7 +20,7 @@ * * Date: 2018-01-20T17:24Z */ -!function(t,n){"use strict";"object"==typeof e&&"object"==typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(t)}("undefined"!=typeof window?window:this,function(n,a){"use strict";function r(e,t,n){t=t||ue;var i,s=t.createElement("script");if(s.text=e,n)for(i in we)n[i]&&(s[i]=n[i]);t.head.appendChild(s).parentNode.removeChild(s)}function o(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?_e[ye.call(e)]||"object":typeof e}function d(e){var t=!!e&&"length"in e&&e.length,n=o(e);return!be(e)&&!De(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function l(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}function u(e,t,n){return be(t)?ke.grep(e,function(e,i){return!!t.call(e,i,e)!==n}):t.nodeType?ke.grep(e,function(e){return e===t!==n}):"string"!=typeof t?ke.grep(e,function(e){return fe.call(t,e)>-1!==n}):ke.filter(t,e,n)}function c(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function h(e){var t={};return ke.each(e.match(Ae)||[],function(e,n){t[n]=!0}),t}function m(e){return e}function p(e){throw e}function f(e,t,n,i){var s;try{e&&be(s=e.promise)?s.call(e).done(t).fail(n):e&&be(s=e.then)?s.call(e,t,n):t.apply(void 0,[e].slice(i))}catch(e){n.apply(void 0,[e])}}function _(){ue.removeEventListener("DOMContentLoaded",_),n.removeEventListener("load",_),ke.ready()}function y(e,t){return t.toUpperCase()}function g(e){return e.replace(Ne,"ms-").replace(ze,y)}function v(){this.expando=ke.expando+v.uid++}function M(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:$e.test(e)?JSON.parse(e):e)}function L(e,t,n){var i;if(void 0===n&&1===e.nodeType)if(i="data-"+t.replace(Ve,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(i))){try{n=M(n)}catch(e){}Je.set(e,t,n)}else n=void 0;return n}function b(e,t,n,i){var s,a,r=20,o=i?function(){return i.cur()}:function(){return ke.css(e,t,"")},d=o(),l=n&&n[3]||(ke.cssNumber[t]?"":"px"),u=(ke.cssNumber[t]||"px"!==l&&+d)&&Ge.exec(ke.css(e,t));if(u&&u[3]!==l){for(d/=2,l=l||u[3],u=+d||1;r--;)ke.style(e,t,u+l),(1-a)*(1-(a=o()/d||.5))<=0&&(r=0),u/=a;u*=2,ke.style(e,t,u+l),n=n||[]}return n&&(u=+u||+d||0,s=n[1]?u+(n[1]+1)*n[2]:+n[2],i&&(i.unit=l,i.start=u,i.end=s)),s}function D(e){var t,n=e.ownerDocument,i=e.nodeName,s=Ze[i];return s||(t=n.body.appendChild(n.createElement(i)),s=ke.css(t,"display"),t.parentNode.removeChild(t),"none"===s&&(s="block"),Ze[i]=s,s)}function w(e,t){for(var n,i,s=[],a=0,r=e.length;a-1)s&&s.push(a);else if(u=ke.contains(a.ownerDocument,a),r=k(h.appendChild(a),"script"),u&&T(r),n)for(c=0;a=r[c++];)tt.test(a.type||"")&&n.push(a);return h}function S(){return!0}function x(){return!1}function H(){try{return ue.activeElement}catch(e){}}function E(e,t,n,i,s,a){var r,o;if("object"==typeof t){"string"!=typeof n&&(i=i||n,n=void 0);for(o in t)E(e,o,n,i,t[o],a);return e}if(null==i&&null==s?(s=n,i=n=void 0):null==s&&("string"==typeof n?(s=i,i=void 0):(s=i,i=n,n=void 0)),!1===s)s=x;else if(!s)return e;return 1===a&&(r=s,s=function(e){return ke().off(e),r.apply(this,arguments)},s.guid=r.guid||(r.guid=ke.guid++)),e.each(function(){ke.event.add(this,t,s,i,n)})}function C(e,t){return l(e,"table")&&l(11!==t.nodeType?t:t.firstChild,"tr")?ke(e).children("tbody")[0]||e:e}function P(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function j(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function O(e,t){var n,i,s,a,r,o,d,l;if(1===t.nodeType){if(Be.hasData(e)&&(a=Be.access(e),r=Be.set(t,a),l=a.events)){delete r.handle,r.events={};for(s in l)for(n=0,i=l[s].length;n1&&"string"==typeof p&&!Le.checkClone&&ut.test(p))return e.each(function(s){var a=e.eq(s);f&&(t[0]=p.call(this,s,a.html())),R(a,t,n,i)});if(h&&(s=Y(t,e[0].ownerDocument,!1,e,i),a=s.firstChild,1===s.childNodes.length&&(s=a),a||i)){for(o=ke.map(k(s,"script"),P),d=o.length;c=0&&(d+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-a-d-o-.5))),d}function $(e,t,n){var i=mt(e),s=F(e,t,i),a="border-box"===ke.css(e,"boxSizing",!1,i),r=a;if(ht.test(s)){if(!n)return s;s="auto"}return r=r&&(Le.boxSizingReliable()||s===e.style[t]),("auto"===s||!parseFloat(s)&&"inline"===ke.css(e,"display",!1,i))&&(s=e["offset"+t[0].toUpperCase()+t.slice(1)],r=!0),(s=parseFloat(s)||0)+J(e,t,n||(a?"border":"content"),r,i,s)+"px"}function V(e,t,n,i,s){return new V.prototype.init(e,t,n,i,s)}function U(){bt&&(!1===ue.hidden&&n.requestAnimationFrame?n.requestAnimationFrame(U):n.setTimeout(U,ke.fx.interval),ke.fx.tick())}function G(){return n.setTimeout(function(){Lt=void 0}),Lt=Date.now()}function q(e,t){var n,i=0,s={height:e};for(t=t?1:0;i<4;i+=2-t)n=qe[i],s["margin"+n]=s["padding"+n]=e;return t&&(s.opacity=s.width=e),s}function K(e,t,n){for(var i,s=(Q.tweeners[t]||[]).concat(Q.tweeners["*"]),a=0,r=s.length;a=0&&n0&&t-1 in e)}function l(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}function u(e,t,n){return Le(t)?we.grep(e,function(e,i){return!!t.call(e,i,e)!==n}):t.nodeType?we.grep(e,function(e){return e===t!==n}):"string"!=typeof t?we.grep(e,function(e){return fe.call(t,e)>-1!==n}):we.filter(t,e,n)}function c(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function h(e){var t={};return we.each(e.match(Ae)||[],function(e,n){t[n]=!0}),t}function m(e){return e}function p(e){throw e}function f(e,t,n,i){var a;try{e&&Le(a=e.promise)?a.call(e).done(t).fail(n):e&&Le(a=e.then)?a.call(e,t,n):t.apply(void 0,[e].slice(i))}catch(e){n.apply(void 0,[e])}}function _(){ue.removeEventListener("DOMContentLoaded",_),n.removeEventListener("load",_),we.ready()}function g(e,t){return t.toUpperCase()}function y(e){return e.replace(Fe,"ms-").replace(ze,g)}function v(){this.expando=we.expando+v.uid++}function M(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Ve.test(e)?JSON.parse(e):e)}function b(e,t,n){var i;if(void 0===n&&1===e.nodeType)if(i="data-"+t.replace($e,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(i))){try{n=M(n)}catch(e){}Je.set(e,t,n)}else n=void 0;return n}function L(e,t,n,i){var a,r,s=20,o=i?function(){return i.cur()}:function(){return we.css(e,t,"")},d=o(),l=n&&n[3]||(we.cssNumber[t]?"":"px"),u=(we.cssNumber[t]||"px"!==l&&+d)&&Ge.exec(we.css(e,t));if(u&&u[3]!==l){for(d/=2,l=l||u[3],u=+d||1;s--;)we.style(e,t,u+l),(1-r)*(1-(r=o()/d||.5))<=0&&(s=0),u/=r;u*=2,we.style(e,t,u+l),n=n||[]}return n&&(u=+u||+d||0,a=n[1]?u+(n[1]+1)*n[2]:+n[2],i&&(i.unit=l,i.start=u,i.end=a)),a}function D(e){var t,n=e.ownerDocument,i=e.nodeName,a=Xe[i];return a||(t=n.body.appendChild(n.createElement(i)),a=we.css(t,"display"),t.parentNode.removeChild(t),"none"===a&&(a="block"),Xe[i]=a,a)}function k(e,t){for(var n,i,a=[],r=0,s=e.length;r-1)a&&a.push(r);else if(u=we.contains(r.ownerDocument,r),s=w(h.appendChild(r),"script"),u&&T(s),n)for(c=0;r=s[c++];)tt.test(r.type||"")&&n.push(r);return h}function Y(){return!0}function S(){return!1}function H(){try{return ue.activeElement}catch(e){}}function C(e,t,n,i,a,r){var s,o;if("object"==typeof t){"string"!=typeof n&&(i=i||n,n=void 0);for(o in t)C(e,o,n,i,t[o],r);return e}if(null==i&&null==a?(a=n,i=n=void 0):null==a&&("string"==typeof n?(a=i,i=void 0):(a=i,i=n,n=void 0)),!1===a)a=S;else if(!a)return e;return 1===r&&(s=a,a=function(e){return we().off(e),s.apply(this,arguments)},a.guid=s.guid||(s.guid=we.guid++)),e.each(function(){we.event.add(this,t,a,i,n)})}function E(e,t){return l(e,"table")&&l(11!==t.nodeType?t:t.firstChild,"tr")?we(e).children("tbody")[0]||e:e}function P(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function j(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function O(e,t){var n,i,a,r,s,o,d,l;if(1===t.nodeType){if(Be.hasData(e)&&(r=Be.access(e),s=Be.set(t,r),l=r.events)){delete s.handle,s.events={};for(a in l)for(n=0,i=l[a].length;n1&&"string"==typeof p&&!be.checkClone&&ut.test(p))return e.each(function(a){var r=e.eq(a);f&&(t[0]=p.call(this,a,r.html())),I(r,t,n,i)});if(h&&(a=x(t,e[0].ownerDocument,!1,e,i),r=a.firstChild,1===a.childNodes.length&&(a=r),r||i)){for(o=we.map(w(a,"script"),P),d=o.length;c=0&&(d+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-r-d-o-.5))),d}function V(e,t,n){var i=mt(e),a=N(e,t,i),r="border-box"===we.css(e,"boxSizing",!1,i),s=r;if(ht.test(a)){if(!n)return a;a="auto"}return s=s&&(be.boxSizingReliable()||a===e.style[t]),("auto"===a||!parseFloat(a)&&"inline"===we.css(e,"display",!1,i))&&(a=e["offset"+t[0].toUpperCase()+t.slice(1)],s=!0),(a=parseFloat(a)||0)+J(e,t,n||(r?"border":"content"),s,i,a)+"px"}function $(e,t,n,i,a){return new $.prototype.init(e,t,n,i,a)}function U(){Lt&&(!1===ue.hidden&&n.requestAnimationFrame?n.requestAnimationFrame(U):n.setTimeout(U,we.fx.interval),we.fx.tick())}function G(){return n.setTimeout(function(){bt=void 0}),bt=Date.now()}function q(e,t){var n,i=0,a={height:e};for(t=t?1:0;i<4;i+=2-t)n=qe[i],a["margin"+n]=a["padding"+n]=e;return t&&(a.opacity=a.width=e),a}function K(e,t,n){for(var i,a=(Q.tweeners[t]||[]).concat(Q.tweeners["*"]),r=0,s=a.length;r=0&&nL.cacheLength&&delete e[t.shift()],e[n+" "]=i}var t=[];return e}function i(e){return e[I]=!0,e}function s(e){var t=E.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function a(e,t){for(var n=e.split("|"),i=n.length;i--;)L.attrHandle[n[i]]=t}function r(e,t){var n=t&&e,i=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(i)return i;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function o(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&be(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function d(e){return i(function(t){return t=+t,i(function(n,i){for(var s,a=e([],n.length,t),r=a.length;r--;)n[s=a[r]]&&(n[s]=!(i[s]=n[s]))})})}function l(e){return e&&void 0!==e.getElementsByTagName&&e}function u(){}function c(e){for(var t=0,n=e.length,i="";t1?function(t,n,i){for(var s=e.length;s--;)if(!e[s](t,n,i))return!1;return!0}:e[0]}function p(e,n,i){for(var s=0,a=n.length;s-1&&(i[l]=!(r[l]=c))}}else v=f(v===r?v.splice(_,v.length):v),a?a(null,r,v,d):K.apply(r,v)})}function y(e){for(var t,n,i,s=e.length,a=L.relative[e[0].type],r=a||L.relative[" "],o=a?1:0,d=h(function(e){return e===t},r,!0),l=h(function(e){return Z(t,e)>-1},r,!0),u=[function(e,n,i){var s=!a&&(i||n!==Y)||((t=n).nodeType?d(e,n,i):l(e,n,i));return t=null,s}];o1&&m(u),o>1&&c(e.slice(0,o-1).concat({value:" "===e[o-2].type?"*":""})).replace(ae,"$1"),n,o0,a=e.length>0,r=function(i,r,o,d,l){var u,c,h,m=0,p="0",_=i&&[],y=[],g=Y,v=i||a&&L.find.TAG("*",l),M=N+=null==g?1:Math.random()||.1,b=v.length;for(l&&(Y=r===E||r||l);p!==b&&null!=(u=v[p]);p++){if(a&&u){for(c=0,r||u.ownerDocument===E||(H(u),o=!P);h=e[c++];)if(h(u,r||E,o)){d.push(u);break}l&&(N=M)}s&&((u=!h&&u)&&m--,i&&_.push(u))}if(m+=p,s&&p!==m){for(c=0;h=n[c++];)h(_,y,r,o);if(i){if(m>0)for(;p--;)_[p]||y[p]||(y[p]=G.call(d));y=f(y)}K.apply(d,y),l&&!i&&y.length>0&&m+n.length>1&&t.uniqueSort(d)}return l&&(N=M,Y=g),_};return s?i(r):r}var v,M,L,b,D,w,k,T,Y,S,x,H,E,C,P,j,O,A,R,I="sizzle"+1*new Date,F=e.document,N=0,z=0,W=n(),B=n(),J=n(),$=function(e,t){return e===t&&(x=!0),0},V={}.hasOwnProperty,U=[],G=U.pop,q=U.push,K=U.push,X=U.slice,Z=function(e,t){for(var n=0,i=e.length;n+~]|"+ee+")"+ee+"*"),de=new RegExp("="+ee+"*([^\\]'\"]*?)"+ee+"*\\]","g"),le=new RegExp(ie),ue=new RegExp("^"+te+"$"),ce={ID:new RegExp("^#("+te+")"),CLASS:new RegExp("^\\.("+te+")"),TAG:new RegExp("^("+te+"|[*])"),ATTR:new RegExp("^"+ne),PSEUDO:new RegExp("^"+ie),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ee+"*(even|odd|(([+-]|)(\\d*)n|)"+ee+"*(?:([+-]|)"+ee+"*(\\d+)|))"+ee+"*\\)|)","i"),bool:new RegExp("^(?:"+Q+")$","i"),needsContext:new RegExp("^"+ee+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ee+"*((?:-\\d)?\\d*)"+ee+"*\\)|)(?=[^-]|$)","i")},he=/^(?:input|select|textarea|button)$/i,me=/^h\d$/i,pe=/^[^{]+\{\s*\[native \w/,fe=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_e=/[+~]/,ye=new RegExp("\\\\([\\da-f]{1,6}"+ee+"?|("+ee+")|.)","ig"),ge=function(e,t,n){var i="0x"+t-65536;return i!==i||n?t:i<0?String.fromCharCode(i+65536):String.fromCharCode(i>>10|55296,1023&i|56320)},ve=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,Me=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},Le=function(){H()},be=h(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{K.apply(U=X.call(F.childNodes),F.childNodes),U[F.childNodes.length].nodeType}catch(e){K={apply:U.length?function(e,t){q.apply(e,X.call(t))}:function(e,t){for(var n=e.length,i=0;e[n++]=t[i++];);e.length=n-1}}}M=t.support={},D=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},H=t.setDocument=function(e){var t,n,i=e?e.ownerDocument||e:F;return i!==E&&9===i.nodeType&&i.documentElement?(E=i,C=E.documentElement,P=!D(E),F!==E&&(n=E.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Le,!1):n.attachEvent&&n.attachEvent("onunload",Le)),M.attributes=s(function(e){return e.className="i",!e.getAttribute("className")}),M.getElementsByTagName=s(function(e){return e.appendChild(E.createComment("")),!e.getElementsByTagName("*").length}),M.getElementsByClassName=pe.test(E.getElementsByClassName),M.getById=s(function(e){return C.appendChild(e).id=I,!E.getElementsByName||!E.getElementsByName(I).length}),M.getById?(L.filter.ID=function(e){var t=e.replace(ye,ge);return function(e){return e.getAttribute("id")===t}},L.find.ID=function(e,t){if(void 0!==t.getElementById&&P){var n=t.getElementById(e);return n?[n]:[]}}):(L.filter.ID=function(e){var t=e.replace(ye,ge);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},L.find.ID=function(e,t){if(void 0!==t.getElementById&&P){var n,i,s,a=t.getElementById(e);if(a){if((n=a.getAttributeNode("id"))&&n.value===e)return[a];for(s=t.getElementsByName(e),i=0;a=s[i++];)if((n=a.getAttributeNode("id"))&&n.value===e)return[a]}return[]}}),L.find.TAG=M.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):M.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,i=[],s=0,a=t.getElementsByTagName(e);if("*"===e){for(;n=a[s++];)1===n.nodeType&&i.push(n);return i}return a},L.find.CLASS=M.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&P)return t.getElementsByClassName(e)},O=[],j=[],(M.qsa=pe.test(E.querySelectorAll))&&(s(function(e){C.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&j.push("[*^$]="+ee+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||j.push("\\["+ee+"*(?:value|"+Q+")"),e.querySelectorAll("[id~="+I+"-]").length||j.push("~="),e.querySelectorAll(":checked").length||j.push(":checked"),e.querySelectorAll("a#"+I+"+*").length||j.push(".#.+[+~]")}),s(function(e){e.innerHTML="";var t=E.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&j.push("name"+ee+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&j.push(":enabled",":disabled"),C.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&j.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),j.push(",.*:")})),(M.matchesSelector=pe.test(A=C.matches||C.webkitMatchesSelector||C.mozMatchesSelector||C.oMatchesSelector||C.msMatchesSelector))&&s(function(e){M.disconnectedMatch=A.call(e,"*"),A.call(e,"[s!='']:x"),O.push("!=",ie)}),j=j.length&&new RegExp(j.join("|")),O=O.length&&new RegExp(O.join("|")),t=pe.test(C.compareDocumentPosition),R=t||pe.test(C.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,i=t&&t.parentNode;return e===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):e.compareDocumentPosition&&16&e.compareDocumentPosition(i)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},$=t?function(e,t){if(e===t)return x=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!M.sortDetached&&t.compareDocumentPosition(e)===n?e===E||e.ownerDocument===F&&R(F,e)?-1:t===E||t.ownerDocument===F&&R(F,t)?1:S?Z(S,e)-Z(S,t):0:4&n?-1:1)}:function(e,t){if(e===t)return x=!0,0;var n,i=0,s=e.parentNode,a=t.parentNode,o=[e],d=[t];if(!s||!a)return e===E?-1:t===E?1:s?-1:a?1:S?Z(S,e)-Z(S,t):0;if(s===a)return r(e,t);for(n=e;n=n.parentNode;)o.unshift(n);for(n=t;n=n.parentNode;)d.unshift(n);for(;o[i]===d[i];)i++;return i?r(o[i],d[i]):o[i]===F?-1:d[i]===F?1:0},E):E},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==E&&H(e),n=n.replace(de,"='$1']"),M.matchesSelector&&P&&!J[n+" "]&&(!O||!O.test(n))&&(!j||!j.test(n)))try{var i=A.call(e,n);if(i||M.disconnectedMatch||e.document&&11!==e.document.nodeType)return i}catch(e){}return t(n,E,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==E&&H(e),R(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==E&&H(e);var n=L.attrHandle[t.toLowerCase()],i=n&&V.call(L.attrHandle,t.toLowerCase())?n(e,t,!P):void 0;return void 0!==i?i:M.attributes||!P?e.getAttribute(t):(i=e.getAttributeNode(t))&&i.specified?i.value:null},t.escape=function(e){return(e+"").replace(ve,Me)},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],i=0,s=0;if(x=!M.detectDuplicates,S=!M.sortStable&&e.slice(0),e.sort($),x){for(;t=e[s++];)t===e[s]&&(i=n.push(s));for(;i--;)e.splice(n[i],1)}return S=null,e},b=t.getText=function(e){var t,n="",i=0,s=e.nodeType;if(s){if(1===s||9===s||11===s){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=b(e)}else if(3===s||4===s)return e.nodeValue}else for(;t=e[i++];)n+=b(t);return n},L=t.selectors={cacheLength:50,createPseudo:i,match:ce,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(ye,ge),e[3]=(e[3]||e[4]||e[5]||"").replace(ye,ge),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return ce.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&le.test(n)&&(t=w(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(ye,ge).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=W[e+" "];return t||(t=new RegExp("(^|"+ee+")"+e+"("+ee+"|$)"))&&W(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,i){return function(s){var a=t.attr(s,e);return null==a?"!="===n:!n||(a+="","="===n?a===i:"!="===n?a!==i:"^="===n?i&&0===a.indexOf(i):"*="===n?i&&a.indexOf(i)>-1:"$="===n?i&&a.slice(-i.length)===i:"~="===n?(" "+a.replace(se," ")+" ").indexOf(i)>-1:"|="===n&&(a===i||a.slice(0,i.length+1)===i+"-"))}},CHILD:function(e,t,n,i,s){var a="nth"!==e.slice(0,3),r="last"!==e.slice(-4),o="of-type"===t;return 1===i&&0===s?function(e){return!!e.parentNode}:function(t,n,d){var l,u,c,h,m,p,f=a!==r?"nextSibling":"previousSibling",_=t.parentNode,y=o&&t.nodeName.toLowerCase(),g=!d&&!o,v=!1;if(_){if(a){for(;f;){for(h=t;h=h[f];)if(o?h.nodeName.toLowerCase()===y:1===h.nodeType)return!1;p=f="only"===e&&!p&&"nextSibling"}return!0}if(p=[r?_.firstChild:_.lastChild],r&&g){for(h=_,c=h[I]||(h[I]={}),u=c[h.uniqueID]||(c[h.uniqueID]={}),l=u[e]||[],m=l[0]===N&&l[1],v=m&&l[2],h=m&&_.childNodes[m];h=++m&&h&&h[f]||(v=m=0)||p.pop();)if(1===h.nodeType&&++v&&h===t){u[e]=[N,m,v];break}}else if(g&&(h=t,c=h[I]||(h[I]={}),u=c[h.uniqueID]||(c[h.uniqueID]={}),l=u[e]||[],m=l[0]===N&&l[1],v=m),!1===v)for(;(h=++m&&h&&h[f]||(v=m=0)||p.pop())&&((o?h.nodeName.toLowerCase()!==y:1!==h.nodeType)||!++v||(g&&(c=h[I]||(h[I]={}),u=c[h.uniqueID]||(c[h.uniqueID]={}),u[e]=[N,v]),h!==t)););return(v-=s)===i||v%i==0&&v/i>=0}}},PSEUDO:function(e,n){var s,a=L.pseudos[e]||L.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return a[I]?a(n):a.length>1?(s=[e,e,"",n],L.setFilters.hasOwnProperty(e.toLowerCase())?i(function(e,t){for(var i,s=a(e,n),r=s.length;r--;)i=Z(e,s[r]),e[i]=!(t[i]=s[r])}):function(e){return a(e,0,s)}):a}},pseudos:{not:i(function(e){var t=[],n=[],s=k(e.replace(ae,"$1"));return s[I]?i(function(e,t,n,i){for(var a,r=s(e,null,i,[]),o=e.length;o--;)(a=r[o])&&(e[o]=!(t[o]=a))}):function(e,i,a){return t[0]=e,s(t,null,a,n),t[0]=null,!n.pop()}}),has:i(function(e){return function(n){return t(e,n).length>0}}),contains:i(function(e){return e=e.replace(ye,ge),function(t){return(t.textContent||t.innerText||b(t)).indexOf(e)>-1}}),lang:i(function(e){return ue.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(ye,ge).toLowerCase(),function(t){var n;do{if(n=P?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===C},focus:function(e){return e===E.activeElement&&(!E.hasFocus||E.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:o(!1),disabled:o(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!L.pseudos.empty(e)},header:function(e){return me.test(e.nodeName)},input:function(e){return he.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:d(function(){return[0]}),last:d(function(e,t){return[t-1]}),eq:d(function(e,t,n){return[n<0?n+t:n]}),even:d(function(e,t){for(var n=0;n=0;)e.push(i);return e}),gt:d(function(e,t,n){for(var i=n<0?n+t:n;++i2&&"ID"===(r=a[0]).type&&9===t.nodeType&&P&&L.relative[a[1].type]){if(!(t=(L.find.ID(r.matches[0].replace(ye,ge),t)||[])[0]))return n;u&&(t=t.parentNode),e=e.slice(a.shift().value.length)}for(s=ce.needsContext.test(e)?0:a.length;s--&&(r=a[s],!L.relative[o=r.type]);)if((d=L.find[o])&&(i=d(r.matches[0].replace(ye,ge),_e.test(a[0].type)&&l(t.parentNode)||t))){if(a.splice(s,1),!(e=i.length&&c(a)))return K.apply(n,i),n;break}}return(u||k(e,h))(i,t,!P,n,!t||_e.test(e)&&l(t.parentNode)||t),n},M.sortStable=I.split("").sort($).join("")===I,M.detectDuplicates=!!x,H(),M.sortDetached=s(function(e){return 1&e.compareDocumentPosition(E.createElement("fieldset"))}),s(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||a("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),M.attributes&&s(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||a("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),s(function(e){return null==e.getAttribute("disabled")})||a(Q,function(e,t,n){var i;if(!n)return!0===e[t]?t.toLowerCase():(i=e.getAttributeNode(t))&&i.specified?i.value:null}),t}(n);ke.find=Ye,ke.expr=Ye.selectors,ke.expr[":"]=ke.expr.pseudos,ke.uniqueSort=ke.unique=Ye.uniqueSort,ke.text=Ye.getText,ke.isXMLDoc=Ye.isXML,ke.contains=Ye.contains,ke.escapeSelector=Ye.escape;var Se=function(e,t,n){for(var i=[],s=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(s&&ke(e).is(n))break;i.push(e)}return i},xe=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},He=ke.expr.match.needsContext,Ee=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;ke.filter=function(e,t,n){var i=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===i.nodeType?ke.find.matchesSelector(i,e)?[i]:[]:ke.find.matches(e,ke.grep(t,function(e){return 1===e.nodeType}))},ke.fn.extend({find:function(e){var t,n,i=this.length,s=this;if("string"!=typeof e)return this.pushStack(ke(e).filter(function(){for(t=0;t1?ke.uniqueSort(n):n},filter:function(e){return this.pushStack(u(this,e||[],!1))},not:function(e){return this.pushStack(u(this,e||[],!0))},is:function(e){return!!u(this,"string"==typeof e&&He.test(e)?ke(e):e||[],!1).length}});var Ce,Pe=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(ke.fn.init=function(e,t,n){var i,s;if(!e)return this;if(n=n||Ce,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:Pe.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof ke?t[0]:t,ke.merge(this,ke.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:ue,!0)),Ee.test(i[1])&&ke.isPlainObject(t))for(i in t)be(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return s=ue.getElementById(i[2]),s&&(this[0]=s,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):be(e)?void 0!==n.ready?n.ready(e):e(ke):ke.makeArray(e,this)}).prototype=ke.fn,Ce=ke(ue);var je=/^(?:parents|prev(?:Until|All))/,Oe={children:!0,contents:!0,next:!0,prev:!0};ke.fn.extend({has:function(e){var t=ke(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&ke.find.matchesSelector(n,e))){a.push(n);break}return this.pushStack(a.length>1?ke.uniqueSort(a):a)},index:function(e){return e?"string"==typeof e?fe.call(ke(e),this[0]):fe.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(ke.uniqueSort(ke.merge(this.get(),ke(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),ke.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return Se(e,"parentNode")},parentsUntil:function(e,t,n){return Se(e,"parentNode",n)},next:function(e){return c(e,"nextSibling")},prev:function(e){return c(e,"previousSibling")},nextAll:function(e){return Se(e,"nextSibling")},prevAll:function(e){return Se(e,"previousSibling")},nextUntil:function(e,t,n){return Se(e,"nextSibling",n)},prevUntil:function(e,t,n){return Se(e,"previousSibling",n)},siblings:function(e){return xe((e.parentNode||{}).firstChild,e)},children:function(e){return xe(e.firstChild)},contents:function(e){return l(e,"iframe")?e.contentDocument:(l(e,"template")&&(e=e.content||e),ke.merge([],e.childNodes))}},function(e,t){ke.fn[e]=function(n,i){var s=ke.map(this,t,n);return"Until"!==e.slice(-5)&&(i=n),i&&"string"==typeof i&&(s=ke.filter(i,s)),this.length>1&&(Oe[e]||ke.uniqueSort(s),je.test(e)&&s.reverse()),this.pushStack(s)}});var Ae=/[^\x20\t\r\n\f]+/g;ke.Callbacks=function(e){e="string"==typeof e?h(e):ke.extend({},e);var t,n,i,s,a=[],r=[],d=-1,l=function(){for(s=s||e.once,i=t=!0;r.length;d=-1)for(n=r.shift();++d-1;)a.splice(n,1),n<=d&&d--}),this},has:function(e){return e?ke.inArray(e,a)>-1:a.length>0},empty:function(){return a&&(a=[]),this},disable:function(){return s=r=[],a=n="",this},disabled:function(){return!a},lock:function(){return s=r=[],n||t||(a=n=""),this},locked:function(){return!!s},fireWith:function(e,n){return s||(n=n||[],n=[e,n.slice?n.slice():n],r.push(n),t||l()),this},fire:function(){return u.fireWith(this,arguments),this},fired:function(){return!!i}};return u},ke.extend({Deferred:function(e){var t=[["notify","progress",ke.Callbacks("memory"),ke.Callbacks("memory"),2],["resolve","done",ke.Callbacks("once memory"),ke.Callbacks("once memory"),0,"resolved"],["reject","fail",ke.Callbacks("once memory"),ke.Callbacks("once memory"),1,"rejected"]],i="pending",s={state:function(){return i},always:function(){return a.done(arguments).fail(arguments),this},catch:function(e){return s.then(null,e)},pipe:function(){var e=arguments;return ke.Deferred(function(n){ke.each(t,function(t,i){var s=be(e[i[4]])&&e[i[4]];a[i[1]](function(){var e=s&&s.apply(this,arguments);e&&be(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[i[0]+"With"](this,s?[e]:arguments)})}),e=null}).promise()},then:function(e,i,s){function a(e,t,i,s){return function(){var o=this,d=arguments,l=function(){var n,l;if(!(e=r&&(i!==p&&(o=void 0,d=[n]),t.rejectWith(o,d))}};e?u():(ke.Deferred.getStackHook&&(u.stackTrace=ke.Deferred.getStackHook()),n.setTimeout(u))}}var r=0;return ke.Deferred(function(n){t[0][3].add(a(0,n,be(s)?s:m,n.notifyWith)),t[1][3].add(a(0,n,be(e)?e:m)),t[2][3].add(a(0,n,be(i)?i:p))}).promise()},promise:function(e){return null!=e?ke.extend(e,s):s}},a={};return ke.each(t,function(e,n){var r=n[2],o=n[5];s[n[1]]=r.add,o&&r.add(function(){i=o},t[3-e][2].disable,t[3-e][3].disable,t[0][2].lock,t[0][3].lock),r.add(n[3].fire),a[n[0]]=function(){return a[n[0]+"With"](this===a?void 0:this,arguments),this},a[n[0]+"With"]=r.fireWith}),s.promise(a),e&&e.call(a,a),a},when:function(e){var t=arguments.length,n=t,i=Array(n),s=he.call(arguments),a=ke.Deferred(),r=function(e){return function(n){i[e]=this,s[e]=arguments.length>1?he.call(arguments):n,--t||a.resolveWith(i,s)}};if(t<=1&&(f(e,a.done(r(n)).resolve,a.reject,!t),"pending"===a.state()||be(s[n]&&s[n].then)))return a.then();for(;n--;)f(s[n],r(n),a.reject);return a.promise()}});var Re=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;ke.Deferred.exceptionHook=function(e,t){n.console&&n.console.warn&&e&&Re.test(e.name)&&n.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},ke.readyException=function(e){n.setTimeout(function(){throw e})};var Ie=ke.Deferred();ke.fn.ready=function(e){return Ie.then(e).catch(function(e){ke.readyException(e)}),this},ke.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--ke.readyWait:ke.isReady)||(ke.isReady=!0,!0!==e&&--ke.readyWait>0||Ie.resolveWith(ue,[ke]))}}),ke.ready.then=Ie.then,"complete"===ue.readyState||"loading"!==ue.readyState&&!ue.documentElement.doScroll?n.setTimeout(ke.ready):(ue.addEventListener("DOMContentLoaded",_),n.addEventListener("load",_));var Fe=function(e,t,n,i,s,a,r){var d=0,l=e.length,u=null==n;if("object"===o(n)){s=!0;for(d in n)Fe(e,t,d,n[d],!0,a,r)}else if(void 0!==i&&(s=!0,be(i)||(r=!0),u&&(r?(t.call(e,i),t=null):(u=t,t=function(e,t,n){return u.call(ke(e),n)})),t))for(;d1,null,!0)},removeData:function(e){return this.each(function(){Je.remove(this,e)})}}),ke.extend({queue:function(e,t,n){var i;if(e)return t=(t||"fx")+"queue",i=Be.get(e,t),n&&(!i||Array.isArray(n)?i=Be.access(e,t,ke.makeArray(n)):i.push(n)),i||[]},dequeue:function(e,t){t=t||"fx";var n=ke.queue(e,t),i=n.length,s=n.shift(),a=ke._queueHooks(e,t),r=function(){ke.dequeue(e,t)};"inprogress"===s&&(s=n.shift(),i--),s&&("fx"===t&&n.unshift("inprogress"),delete a.stop,s.call(e,r,a)),!i&&a&&a.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Be.get(e,n)||Be.access(e,n,{empty:ke.Callbacks("once memory").add(function(){Be.remove(e,[t+"queue",n])})})}}),ke.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,tt=/^$|^module$|\/(?:java|ecma)script/i,nt={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};nt.optgroup=nt.option,nt.tbody=nt.tfoot=nt.colgroup=nt.caption=nt.thead,nt.th=nt.td;var it=/<|&#?\w+;/;!function(){var e=ue.createDocumentFragment(),t=e.appendChild(ue.createElement("div")),n=ue.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),Le.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="",Le.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var st=ue.documentElement,at=/^key/,rt=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ot=/^([^.]*)(?:\.(.+)|)/;ke.event={global:{},add:function(e,t,n,i,s){var a,r,o,d,l,u,c,h,m,p,f,_=Be.get(e);if(_)for(n.handler&&(a=n,n=a.handler,s=a.selector),s&&ke.find.matchesSelector(st,s),n.guid||(n.guid=ke.guid++),(d=_.events)||(d=_.events={}),(r=_.handle)||(r=_.handle=function(t){return void 0!==ke&&ke.event.triggered!==t.type?ke.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(Ae)||[""],l=t.length;l--;)o=ot.exec(t[l])||[],m=f=o[1],p=(o[2]||"").split(".").sort(),m&&(c=ke.event.special[m]||{},m=(s?c.delegateType:c.bindType)||m,c=ke.event.special[m]||{},u=ke.extend({type:m,origType:f,data:i,handler:n,guid:n.guid,selector:s,needsContext:s&&ke.expr.match.needsContext.test(s),namespace:p.join(".")},a),(h=d[m])||(h=d[m]=[],h.delegateCount=0,c.setup&&!1!==c.setup.call(e,i,p,r)||e.addEventListener&&e.addEventListener(m,r)),c.add&&(c.add.call(e,u),u.handler.guid||(u.handler.guid=n.guid)),s?h.splice(h.delegateCount++,0,u):h.push(u),ke.event.global[m]=!0)},remove:function(e,t,n,i,s){var a,r,o,d,l,u,c,h,m,p,f,_=Be.hasData(e)&&Be.get(e);if(_&&(d=_.events)){for(t=(t||"").match(Ae)||[""],l=t.length;l--;)if(o=ot.exec(t[l])||[],m=f=o[1],p=(o[2]||"").split(".").sort(),m){for(c=ke.event.special[m]||{},m=(i?c.delegateType:c.bindType)||m,h=d[m]||[],o=o[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),r=a=h.length;a--;)u=h[a],!s&&f!==u.origType||n&&n.guid!==u.guid||o&&!o.test(u.namespace)||i&&i!==u.selector&&("**"!==i||!u.selector)||(h.splice(a,1),u.selector&&h.delegateCount--,c.remove&&c.remove.call(e,u));r&&!h.length&&(c.teardown&&!1!==c.teardown.call(e,p,_.handle)||ke.removeEvent(e,m,_.handle),delete d[m])}else for(m in d)ke.event.remove(e,m+t[l],n,i,!0);ke.isEmptyObject(d)&&Be.remove(e,"handle events")}},dispatch:function(e){var t,n,i,s,a,r,o=ke.event.fix(e),d=new Array(arguments.length),l=(Be.get(this,"events")||{})[o.type]||[],u=ke.event.special[o.type]||{};for(d[0]=o,t=1;t=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(a=[],r={},n=0;n-1:ke.find(s,this,null,[l]).length),r[s]&&a.push(i);a.length&&o.push({elem:l,handlers:a})}return l=this,d\x20\t\r\n\f]*)[^>]*)\/>/gi,lt=/\s*$/g;ke.extend({htmlPrefilter:function(e){return e.replace(dt,"<$1>")},clone:function(e,t,n){var i,s,a,r,o=e.cloneNode(!0),d=ke.contains(e.ownerDocument,e);if(!(Le.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||ke.isXMLDoc(e)))for(r=k(o),a=k(e),i=0,s=a.length;i0&&T(r,!d&&k(e,"script")),o},cleanData:function(e){for(var t,n,i,s=ke.event.special,a=0;void 0!==(n=e[a]);a++)if(We(n)){if(t=n[Be.expando]){if(t.events)for(i in t.events)s[i]?ke.event.remove(n,i):ke.removeEvent(n,i,t.handle);n[Be.expando]=void 0}n[Je.expando]&&(n[Je.expando]=void 0)}}}),ke.fn.extend({detach:function(e){return I(this,e,!0)},remove:function(e){return I(this,e)},text:function(e){return Fe(this,function(e){return void 0===e?ke.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return R(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){C(this,e).appendChild(e)}})},prepend:function(){return R(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=C(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return R(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return R(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(ke.cleanData(k(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return ke.clone(this,e,t)})},html:function(e){return Fe(this,function(e){var t=this[0]||{},n=0,i=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!lt.test(e)&&!nt[(et.exec(e)||["",""])[1].toLowerCase()]){e=ke.htmlPrefilter(e);try{for(;n1)}}),ke.Tween=V,V.prototype={constructor:V,init:function(e,t,n,i,s,a){this.elem=e,this.prop=n,this.easing=s||ke.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=i,this.unit=a||(ke.cssNumber[n]?"":"px")},cur:function(){var e=V.propHooks[this.prop];return e&&e.get?e.get(this):V.propHooks._default.get(this)},run:function(e){var t,n=V.propHooks[this.prop];return this.options.duration?this.pos=t=ke.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):V.propHooks._default.set(this),this}},V.prototype.init.prototype=V.prototype,V.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=ke.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){ke.fx.step[e.prop]?ke.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[ke.cssProps[e.prop]]&&!ke.cssHooks[e.prop]?e.elem[e.prop]=e.now:ke.style(e.elem,e.prop,e.now+e.unit)}}},V.propHooks.scrollTop=V.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},ke.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},ke.fx=V.prototype.init,ke.fx.step={};var Lt,bt,Dt=/^(?:toggle|show|hide)$/,wt=/queueHooks$/;ke.Animation=ke.extend(Q,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return b(n.elem,e,Ge.exec(t),n),n}]},tweener:function(e,t){be(e)?(t=e,e=["*"]):e=e.match(Ae);for(var n,i=0,s=e.length;i1)},removeAttr:function(e){return this.each(function(){ke.removeAttr(this,e)})}}),ke.extend({attr:function(e,t,n){var i,s,a=e.nodeType;if(3!==a&&8!==a&&2!==a)return void 0===e.getAttribute?ke.prop(e,t,n):(1===a&&ke.isXMLDoc(e)||(s=ke.attrHooks[t.toLowerCase()]||(ke.expr.match.bool.test(t)?kt:void 0)),void 0!==n?null===n?void ke.removeAttr(e,t):s&&"set"in s&&void 0!==(i=s.set(e,n,t))?i:(e.setAttribute(t,n+""),n):s&&"get"in s&&null!==(i=s.get(e,t))?i:(i=ke.find.attr(e,t),null==i?void 0:i))},attrHooks:{type:{set:function(e,t){if(!Le.radioValue&&"radio"===t&&l(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,i=0,s=t&&t.match(Ae);if(s&&1===e.nodeType)for(;n=s[i++];)e.removeAttribute(n)}}),kt={set:function(e,t,n){return!1===t?ke.removeAttr(e,n):e.setAttribute(n,n),n}},ke.each(ke.expr.match.bool.source.match(/\w+/g),function(e,t){var n=Tt[t]||ke.find.attr;Tt[t]=function(e,t,i){var s,a,r=t.toLowerCase();return i||(a=Tt[r],Tt[r]=s,s=null!=n(e,t,i)?r:null,Tt[r]=a),s}});var Yt=/^(?:input|select|textarea|button)$/i,St=/^(?:a|area)$/i;ke.fn.extend({prop:function(e,t){return Fe(this,ke.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[ke.propFix[e]||e]})}}),ke.extend({prop:function(e,t,n){var i,s,a=e.nodeType;if(3!==a&&8!==a&&2!==a)return 1===a&&ke.isXMLDoc(e)||(t=ke.propFix[t]||t,s=ke.propHooks[t]),void 0!==n?s&&"set"in s&&void 0!==(i=s.set(e,n,t))?i:e[t]=n:s&&"get"in s&&null!==(i=s.get(e,t))?i:e[t]},propHooks:{tabIndex:{get:function(e){var t=ke.find.attr(e,"tabindex");return t?parseInt(t,10):Yt.test(e.nodeName)||St.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),Le.optSelected||(ke.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),ke.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ke.propFix[this.toLowerCase()]=this}),ke.fn.extend({addClass:function(e){var t,n,i,s,a,r,o,d=0;if(be(e))return this.each(function(t){ke(this).addClass(e.call(this,t,te(this)))});if(t=ne(e),t.length)for(;n=this[d++];)if(s=te(n),i=1===n.nodeType&&" "+ee(s)+" "){for(r=0;a=t[r++];)i.indexOf(" "+a+" ")<0&&(i+=a+" ");o=ee(i),s!==o&&n.setAttribute("class",o)}return this},removeClass:function(e){var t,n,i,s,a,r,o,d=0;if(be(e))return this.each(function(t){ke(this).removeClass(e.call(this,t,te(this)))});if(!arguments.length)return this.attr("class","");if(t=ne(e),t.length)for(;n=this[d++];)if(s=te(n),i=1===n.nodeType&&" "+ee(s)+" "){for(r=0;a=t[r++];)for(;i.indexOf(" "+a+" ")>-1;)i=i.replace(" "+a+" "," ");o=ee(i),s!==o&&n.setAttribute("class",o)}return this},toggleClass:function(e,t){var n=typeof e,i="string"===n||Array.isArray(e);return"boolean"==typeof t&&i?t?this.addClass(e):this.removeClass(e):be(e)?this.each(function(n){ke(this).toggleClass(e.call(this,n,te(this),t),t)}):this.each(function(){var t,s,a,r;if(i)for(s=0,a=ke(this),r=ne(e);t=r[s++];)a.hasClass(t)?a.removeClass(t):a.addClass(t);else void 0!==e&&"boolean"!==n||(t=te(this),t&&Be.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":Be.get(this,"__className__")||""))})},hasClass:function(e){var t,n,i=0;for(t=" "+e+" ";n=this[i++];)if(1===n.nodeType&&(" "+ee(te(n))+" ").indexOf(t)>-1)return!0;return!1}});var xt=/\r/g;ke.fn.extend({val:function(e){var t,n,i,s=this[0];{if(arguments.length)return i=be(e),this.each(function(n){var s;1===this.nodeType&&(s=i?e.call(this,n,ke(this).val()):e,null==s?s="":"number"==typeof s?s+="":Array.isArray(s)&&(s=ke.map(s,function(e){return null==e?"":e+""})),(t=ke.valHooks[this.type]||ke.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,s,"value")||(this.value=s))});if(s)return(t=ke.valHooks[s.type]||ke.valHooks[s.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(s,"value"))?n:(n=s.value,"string"==typeof n?n.replace(xt,""):null==n?"":n)}}}),ke.extend({valHooks:{option:{get:function(e){var t=ke.find.attr(e,"value");return null!=t?t:ee(ke.text(e))}},select:{get:function(e){var t,n,i,s=e.options,a=e.selectedIndex,r="select-one"===e.type,o=r?null:[],d=r?a+1:s.length;for(i=a<0?d:r?a:0;i-1)&&(n=!0);return n||(e.selectedIndex=-1),a}}}}),ke.each(["radio","checkbox"],function(){ke.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=ke.inArray(ke(e).val(),t)>-1}},Le.checkOn||(ke.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),Le.focusin="onfocusin"in n;var Ht=/^(?:focusinfocus|focusoutblur)$/,Et=function(e){e.stopPropagation()};ke.extend(ke.event,{trigger:function(e,t,i,s){var a,r,o,d,l,u,c,h,m=[i||ue],p=ge.call(e,"type")?e.type:e,f=ge.call(e,"namespace")?e.namespace.split("."):[];if(r=h=o=i=i||ue,3!==i.nodeType&&8!==i.nodeType&&!Ht.test(p+ke.event.triggered)&&(p.indexOf(".")>-1&&(f=p.split("."),p=f.shift(),f.sort()),l=p.indexOf(":")<0&&"on"+p,e=e[ke.expando]?e:new ke.Event(p,"object"==typeof e&&e),e.isTrigger=s?2:3,e.namespace=f.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+f.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=i),t=null==t?[e]:ke.makeArray(t,[e]),c=ke.event.special[p]||{},s||!c.trigger||!1!==c.trigger.apply(i,t))){if(!s&&!c.noBubble&&!De(i)){for(d=c.delegateType||p,Ht.test(d+p)||(r=r.parentNode);r;r=r.parentNode)m.push(r),o=r;o===(i.ownerDocument||ue)&&m.push(o.defaultView||o.parentWindow||n)}for(a=0;(r=m[a++])&&!e.isPropagationStopped();)h=r,e.type=a>1?d:c.bindType||p,u=(Be.get(r,"events")||{})[e.type]&&Be.get(r,"handle"),u&&u.apply(r,t),(u=l&&r[l])&&u.apply&&We(r)&&(e.result=u.apply(r,t),!1===e.result&&e.preventDefault());return e.type=p,s||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(m.pop(),t)||!We(i)||l&&be(i[p])&&!De(i)&&(o=i[l],o&&(i[l]=null),ke.event.triggered=p,e.isPropagationStopped()&&h.addEventListener(p,Et),i[p](),e.isPropagationStopped()&&h.removeEventListener(p,Et),ke.event.triggered=void 0,o&&(i[l]=o)),e.result}},simulate:function(e,t,n){var i=ke.extend(new ke.Event,n,{type:e,isSimulated:!0});ke.event.trigger(i,null,t)}}),ke.fn.extend({trigger:function(e,t){return this.each(function(){ke.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return ke.event.trigger(e,t,n,!0)}}),Le.focusin||ke.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){ke.event.simulate(t,e.target,ke.event.fix(e))};ke.event.special[t]={setup:function(){var i=this.ownerDocument||this,s=Be.access(i,t);s||i.addEventListener(e,n,!0),Be.access(i,t,(s||0)+1)},teardown:function(){var i=this.ownerDocument||this,s=Be.access(i,t)-1;s?Be.access(i,t,s):(i.removeEventListener(e,n,!0),Be.remove(i,t))}}});var Ct=n.location,Pt=Date.now(),jt=/\?/;ke.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new n.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||ke.error("Invalid XML: "+e),t};var Ot=/\[\]$/,At=/\r?\n/g,Rt=/^(?:submit|button|image|reset|file)$/i,It=/^(?:input|select|textarea|keygen)/i;ke.param=function(e,t){var n,i=[],s=function(e,t){var n=be(t)?t():t;i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!ke.isPlainObject(e))ke.each(e,function(){s(this.name,this.value)});else for(n in e)ie(n,e[n],t,s);return i.join("&")},ke.fn.extend({serialize:function(){return ke.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=ke.prop(this,"elements");return e?ke.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!ke(this).is(":disabled")&&It.test(this.nodeName)&&!Rt.test(e)&&(this.checked||!Qe.test(e))}).map(function(e,t){var n=ke(this).val();return null==n?null:Array.isArray(n)?ke.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Ft=/%20/g,Nt=/#.*$/,zt=/([?&])_=[^&]*/,Wt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Bt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Jt=/^(?:GET|HEAD)$/,$t=/^\/\//,Vt={},Ut={},Gt="*/".concat("*"),qt=ue.createElement("a");qt.href=Ct.href,ke.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Bt.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Gt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":ke.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?re(re(e,ke.ajaxSettings),t):re(ke.ajaxSettings,e)},ajaxPrefilter:se(Vt),ajaxTransport:se(Ut),ajax:function(e,t){function i(e,t,i,o){var l,h,m,M,L,b=t;u||(u=!0,d&&n.clearTimeout(d),s=void 0,r=o||"",D.readyState=e>0?4:0,l=e>=200&&e<300||304===e,i&&(M=oe(p,D,i)),M=de(p,M,D,l),l?(p.ifModified&&(L=D.getResponseHeader("Last-Modified"),L&&(ke.lastModified[a]=L),(L=D.getResponseHeader("etag"))&&(ke.etag[a]=L)),204===e||"HEAD"===p.type?b="nocontent":304===e?b="notmodified":(b=M.state,h=M.data,m=M.error,l=!m)):(m=b,!e&&b||(b="error",e<0&&(e=0))),D.status=e,D.statusText=(t||b)+"",l?y.resolveWith(f,[h,b,D]):y.rejectWith(f,[D,b,m]),D.statusCode(v),v=void 0,c&&_.trigger(l?"ajaxSuccess":"ajaxError",[D,p,l?h:m]),g.fireWith(f,[D,b]),c&&(_.trigger("ajaxComplete",[D,p]),--ke.active||ke.event.trigger("ajaxStop")))}"object"==typeof e&&(t=e,e=void 0),t=t||{};var s,a,r,o,d,l,u,c,h,m,p=ke.ajaxSetup({},t),f=p.context||p,_=p.context&&(f.nodeType||f.jquery)?ke(f):ke.event,y=ke.Deferred(),g=ke.Callbacks("once memory"),v=p.statusCode||{},M={},L={},b="canceled",D={readyState:0,getResponseHeader:function(e){var t;if(u){if(!o)for(o={};t=Wt.exec(r);)o[t[1].toLowerCase()]=t[2];t=o[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return u?r:null},setRequestHeader:function(e,t){return null==u&&(e=L[e.toLowerCase()]=L[e.toLowerCase()]||e,M[e]=t),this},overrideMimeType:function(e){return null==u&&(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(u)D.always(e[D.status]);else for(t in e)v[t]=[v[t],e[t]];return this},abort:function(e){var t=e||b;return s&&s.abort(t),i(0,t),this}};if(y.promise(D),p.url=((e||p.url||Ct.href)+"").replace($t,Ct.protocol+"//"),p.type=t.method||t.type||p.method||p.type,p.dataTypes=(p.dataType||"*").toLowerCase().match(Ae)||[""],null==p.crossDomain){l=ue.createElement("a");try{l.href=p.url,l.href=l.href,p.crossDomain=qt.protocol+"//"+qt.host!=l.protocol+"//"+l.host}catch(e){p.crossDomain=!0}}if(p.data&&p.processData&&"string"!=typeof p.data&&(p.data=ke.param(p.data,p.traditional)),ae(Vt,p,t,D),u)return D;c=ke.event&&p.global,c&&0==ke.active++&&ke.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Jt.test(p.type),a=p.url.replace(Nt,""),p.hasContent?p.data&&p.processData&&0===(p.contentType||"").indexOf("application/x-www-form-urlencoded")&&(p.data=p.data.replace(Ft,"+")):(m=p.url.slice(a.length),p.data&&(p.processData||"string"==typeof p.data)&&(a+=(jt.test(a)?"&":"?")+p.data,delete p.data),!1===p.cache&&(a=a.replace(zt,"$1"),m=(jt.test(a)?"&":"?")+"_="+Pt+++m),p.url=a+m),p.ifModified&&(ke.lastModified[a]&&D.setRequestHeader("If-Modified-Since",ke.lastModified[a]),ke.etag[a]&&D.setRequestHeader("If-None-Match",ke.etag[a])),(p.data&&p.hasContent&&!1!==p.contentType||t.contentType)&&D.setRequestHeader("Content-Type",p.contentType),D.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Gt+"; q=0.01":""):p.accepts["*"]);for(h in p.headers)D.setRequestHeader(h,p.headers[h]);if(p.beforeSend&&(!1===p.beforeSend.call(f,D,p)||u))return D.abort();if(b="abort",g.add(p.complete),D.done(p.success),D.fail(p.error),s=ae(Ut,p,t,D)){if(D.readyState=1,c&&_.trigger("ajaxSend",[D,p]),u)return D;p.async&&p.timeout>0&&(d=n.setTimeout(function(){D.abort("timeout")},p.timeout));try{u=!1,s.send(M,i)}catch(e){if(u)throw e;i(-1,e)}}else i(-1,"No Transport");return D},getJSON:function(e,t,n){return ke.get(e,t,n,"json")},getScript:function(e,t){return ke.get(e,void 0,t,"script")}}),ke.each(["get","post"],function(e,t){ke[t]=function(e,n,i,s){return be(n)&&(s=s||i,i=n,n=void 0),ke.ajax(ke.extend({url:e,type:t,dataType:s,data:n,success:i},ke.isPlainObject(e)&&e))}}),ke._evalUrl=function(e){return ke.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},ke.fn.extend({wrapAll:function(e){var t;return this[0]&&(be(e)&&(e=e.call(this[0])),t=ke(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return be(e)?this.each(function(t){ke(this).wrapInner(e.call(this,t))}):this.each(function(){var t=ke(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=be(e);return this.each(function(n){ke(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){ke(this).replaceWith(this.childNodes)}),this}}),ke.expr.pseudos.hidden=function(e){return!ke.expr.pseudos.visible(e)},ke.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},ke.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(e){}};var Kt={0:200,1223:204},Xt=ke.ajaxSettings.xhr();Le.cors=!!Xt&&"withCredentials"in Xt,Le.ajax=Xt=!!Xt,ke.ajaxTransport(function(e){var t,i;if(Le.cors||Xt&&!e.crossDomain)return{send:function(s,a){var r,o=e.xhr();if(o.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(r in e.xhrFields)o[r]=e.xhrFields[r];e.mimeType&&o.overrideMimeType&&o.overrideMimeType(e.mimeType),e.crossDomain||s["X-Requested-With"]||(s["X-Requested-With"]="XMLHttpRequest");for(r in s)o.setRequestHeader(r,s[r]);t=function(e){return function(){t&&(t=i=o.onload=o.onerror=o.onabort=o.ontimeout=o.onreadystatechange=null,"abort"===e?o.abort():"error"===e?"number"!=typeof o.status?a(0,"error"):a(o.status,o.statusText):a(Kt[o.status]||o.status,o.statusText,"text"!==(o.responseType||"text")||"string"!=typeof o.responseText?{binary:o.response}:{text:o.responseText},o.getAllResponseHeaders()))}},o.onload=t(),i=o.onerror=o.ontimeout=t("error"),void 0!==o.onabort?o.onabort=i:o.onreadystatechange=function(){4===o.readyState&&n.setTimeout(function(){t&&i()})},t=t("abort");try{o.send(e.hasContent&&e.data||null)}catch(e){if(t)throw e}},abort:function(){t&&t()}}}),ke.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),ke.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return ke.globalEval(e),e}}}),ke.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),ke.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,s){t=ke(" + + diff --git a/templates/dashboard/section-simple.html.twig b/templates/dashboard/section-simple.html.twig new file mode 100644 index 00000000..ff4afef7 --- /dev/null +++ b/templates/dashboard/section-simple.html.twig @@ -0,0 +1,34 @@ +{% import "macros/widgets.html.twig" as widgets %} + +{% if section.title %} + {{ widgets.page_header(section.title) }} +{% endif %} + +{% set width = section.widgets|length %} +{% set rawWidth = 12 / width %} +{% set columnWidth = rawWidth|round(0, 'floor') %} +
+ {% for widget in section.widgets %} + {% set columnSize = columnWidth %} + {% if width == 5 and (loop.first or loop.last) %} + {% set columnSize = columnWidth + 1 %} + {% endif %} +
+ + {% set data = widget.data %} + {% if widget.dataType == constant('App\\Model\\Widget::DATA_TYPE_DURATION') %} + {% set data = widget.data|duration %} + {% elseif widget.dataType == constant('App\\Model\\Widget::DATA_TYPE_MONEY') %} + {% set data = widget.data|money %} + {% endif %} + + {% set url = null %} + {% if widget.route %} + {% set url = path(widget.route, widget.routeOptions) %} + {% endif %} + + {% set embedOptions = {data: data, title: widget.title, icon: widget.icon, color: widget.color, url: url} %} + {% embed 'embeds/widget-'~widget.type~'.html.twig' with embedOptions %}{% endembed %} +
+ {% endfor %} +
diff --git a/templates/embeds/widget-counter.html.twig b/templates/embeds/widget-counter.html.twig new file mode 100644 index 00000000..de6e7108 --- /dev/null +++ b/templates/embeds/widget-counter.html.twig @@ -0,0 +1,10 @@ + diff --git a/templates/embeds/widget-more.html.twig b/templates/embeds/widget-more.html.twig new file mode 100644 index 00000000..978510a4 --- /dev/null +++ b/templates/embeds/widget-more.html.twig @@ -0,0 +1,14 @@ +
+
+

{{ data }}{{ unit|default('') }}

+

{{ title|trans }}

+
+
+ +
+ {% if url %} + + {{ 'more.info.link'|trans }} + + {% endif %} +
diff --git a/templates/macros/widgets.html.twig b/templates/macros/widgets.html.twig index 43f217d9..a6d648ff 100644 --- a/templates/macros/widgets.html.twig +++ b/templates/macros/widgets.html.twig @@ -108,24 +108,6 @@ {% endmacro %} -{% macro info_box_counter(title, amount, icon, color, url) %} -
- - -
- {# this is a ugly hack, make me look nicely (dashboard widget with link) #} - {% if url %} - - {% endif %} - {{ title|trans }} - {{ amount }} - {% if url %} - - {% endif %} -
-
-{% endmacro %} - {% macro info_box_progress(title, description, amount, percentage, icon, color) %}
@@ -145,21 +127,6 @@
{% endmacro %} -{% macro info_box_more(title, amount, unit, url, icon, color) %} -
-
-

{{ amount }}{{ unit|default('') }}

-

{{ title|trans }}

-
-
- -
- - {{ 'more.info.link'|trans }} - -
-{% endmacro %} - {% macro button_group_dropdown(title, actions) %}
diff --git a/templates/user/profile.html.twig b/templates/user/profile.html.twig index 315526e5..7381ed5f 100644 --- a/templates/user/profile.html.twig +++ b/templates/user/profile.html.twig @@ -28,67 +28,79 @@ {% endif %} {% for year,yearStat in years %}

{{ year }}

- +
@@ -140,12 +152,12 @@
diff --git a/tests/Controller/TimesheetControllerTest.php b/tests/Controller/TimesheetControllerTest.php index dc50d9ff..68c031fe 100644 --- a/tests/Controller/TimesheetControllerTest.php +++ b/tests/Controller/TimesheetControllerTest.php @@ -66,12 +66,11 @@ class TimesheetControllerTest extends ControllerBaseTest $docuUrl = $this->createUrl('/help/timesheet'); $this->assertTrue($response->isSuccessful()); $this->assertContains( - '', + '', $response->getContent(), 'Could not find link to documentation' ); // TODO more tests } - } diff --git a/tests/EventSubscriber/DashboardSubscriberTest.php b/tests/EventSubscriber/DashboardSubscriberTest.php new file mode 100644 index 00000000..184ee527 --- /dev/null +++ b/tests/EventSubscriber/DashboardSubscriberTest.php @@ -0,0 +1,91 @@ +assertArrayHasKey(DashboardEvent::DASHBOARD, $events); + $methodName = $events[DashboardEvent::DASHBOARD][0]; + $this->assertTrue(method_exists(DashboardSubscriber::class, $methodName)); + } + + public function testWithNonAdminUser() + { + $sut = $this->getSubscriber(false, 13, 28, 37, 5); + $event = new DashboardEvent(new User()); + + $this->assertEquals(0, count($event->getSections())); + $sut->onDashboardEvent($event); + $this->assertEquals(0, count($event->getSections())); + } + + public function testWithAdminUser() + { + $sut = $this->getSubscriber(true, 13, 28, 37, 5); + $event = new DashboardEvent(new User()); + + $this->assertEquals(0, count($event->getSections())); + $sut->onDashboardEvent($event); + + $sections = $event->getSections(); + $widgets = $sections[0]->getWidgets(); + + $this->assertEquals(1, count($sections)); + $this->assertEquals(4, count($widgets)); + + $this->assertEquals('stats.userTotal', $widgets[0]->getTitle()); + $this->assertEquals(13, $widgets[0]->getData()); + + $this->assertEquals('stats.customerTotal', $widgets[1]->getTitle()); + $this->assertEquals(5, $widgets[1]->getData()); + + $this->assertEquals('stats.projectTotal', $widgets[2]->getTitle()); + $this->assertEquals(37, $widgets[2]->getData()); + + $this->assertEquals('stats.activityTotal', $widgets[3]->getTitle()); + $this->assertEquals(28, $widgets[3]->getData()); + } + + protected function getSubscriber(bool $isAdmin, int $userCount, int $activityCount, int $projectCount, int $customerCount) + { + $authMock = $this->getMockBuilder(AuthorizationCheckerInterface::class)->getMock(); + $authMock->method('isGranted')->willReturn($isAdmin); + + $userMock = $this->getMockBuilder(UserRepository::class)->disableOriginalConstructor()->getMock(); + $userMock->method('countUser')->willReturn($userCount); + + $projectMock = $this->getMockBuilder(ProjectRepository::class)->disableOriginalConstructor()->getMock(); + $projectMock->method('countProject')->willReturn($projectCount); + + $activityMock = $this->getMockBuilder(ActivityRepository::class)->disableOriginalConstructor()->getMock(); + $activityMock->method('countActivity')->willReturn($activityCount); + + $customerMock = $this->getMockBuilder(CustomerRepository::class)->disableOriginalConstructor()->getMock(); + $customerMock->method('countCustomer')->willReturn($customerCount); + + return new DashboardSubscriber($authMock, $userMock, $activityMock, $projectMock, $customerMock); + } +} diff --git a/tests/Repository/WidgetRepositoryTest.php b/tests/Repository/WidgetRepositoryTest.php new file mode 100644 index 00000000..904b691c --- /dev/null +++ b/tests/Repository/WidgetRepositoryTest.php @@ -0,0 +1,82 @@ +getMockBuilder(TimesheetRepository::class)->disableOriginalConstructor()->getMock(); + + $sut = new WidgetRepository($repoMock, ['test' => []]); + + $this->assertFalse($sut->has('foo')); + $this->assertTrue($sut->has('test')); + } + + /** + * @expectedException \InvalidArgumentException + * @expectedExceptionMessage Cannot find widget: foo + */ + public function testGetWidgetThrowsExceptionOnNonExistingWidget() + { + $repoMock = $this->getMockBuilder(TimesheetRepository::class)->disableOriginalConstructor()->getMock(); + + $sut = new WidgetRepository($repoMock, ['test' => []]); + $sut->get('foo', null); + } + + /** + * @dataProvider getWidgetData + */ + public function testGetWidget($data, $query, $dataType) + { + $repoMock = $this->getMockBuilder(TimesheetRepository::class)->disableOriginalConstructor()->getMock(); + $repoMock->method('getStatistic')->willReturn($data); + + $widget = [ + 'color' => 'sunny', + 'icon' => 'far fa-test', + 'user' => false, + 'begin' => null, + 'end' => null, + 'query' => $query, + 'title' => 'Test widget', + ]; + + $sut = new WidgetRepository($repoMock, ['test' => $widget]); + $widget = $sut->get('test', null); + + $this->assertEquals('Test widget', $widget->getTitle()); + $this->assertEquals($data, $widget->getData()); + $this->assertEquals('sunny', $widget->getColor()); + $this->assertEquals('far fa-test', $widget->getIcon()); + $this->assertEquals($dataType, $widget->getDataType()); + } + + public function getWidgetData() + { + return [ + [12, TimesheetRepository::STATS_QUERY_DURATION, Widget::DATA_TYPE_DURATION], + [112233, TimesheetRepository::STATS_QUERY_AMOUNT, Widget::DATA_TYPE_MONEY], + [37, TimesheetRepository::STATS_QUERY_ACTIVE, Widget::DATA_TYPE_INT], + [375, TimesheetRepository::STATS_QUERY_RATE, Widget::DATA_TYPE_INT], + [['test' => 'foo'], TimesheetRepository::STATS_QUERY_USER, Widget::DATA_TYPE_INT], + ]; + } +} diff --git a/tests/Twig/ExtensionsTest.php b/tests/Twig/ExtensionsTest.php index 0403c92d..0eef9ef6 100644 --- a/tests/Twig/ExtensionsTest.php +++ b/tests/Twig/ExtensionsTest.php @@ -161,40 +161,20 @@ class ExtensionsTest extends TestCase public function testIcon() { $icons = [ - 'user' => 'fas fa-user', - 'customer' => 'fas fa-users', - 'project' => 'fas fa-project-diagram', - 'activity' => 'fas fa-tasks', - 'admin' => 'fas fa-wrench', - 'invoice' => 'fas fa-file-invoice', - 'timesheet' => 'far fa-clock', - 'dashboard' => 'fas fa-tachometer-alt', - 'logout' => 'fas fa-sign-out-alt', - 'trash' => 'far fa-trash-alt', - 'delete' => 'far fa-trash-alt', - 'repeat' => 'fas fa-redo-alt', - 'edit' => 'far fa-edit', - 'manual' => 'fas fa-book', - 'help' => 'far fa-question-circle', - 'start' => 'fas fa-play-circle', - 'start-small' => 'fas fa-play-circle', - 'stop' => 'fas fa-stop', - 'stop-small' => 'far fa-stop-circle', - 'filter' => 'fas fa-filter', - 'create' => 'far fa-plus-square', - 'list' => 'fas fa-list', - 'print' => 'fas fa-print', - 'visibility' => 'far fa-eye', - 'calendar' => 'far fa-calendar-alt', + 'user', 'customer', 'project', 'activity', 'admin', 'invoice', 'timesheet', 'dashboard', 'logout', 'trash', + 'delete', 'repeat', 'edit', 'manual', 'help', 'start', 'start-small', 'stop', 'stop-small', 'filter', + 'create', 'list', 'print', 'visibility', 'calendar', 'money', 'duration', ]; + // test pre-defined icons $sut = $this->getSut('en'); - foreach ($icons as $icon => $class) { + foreach ($icons as $icon) { $result = $sut->icon($icon); - $this->assertNotEmpty($result); + $this->assertNotEmpty($result, 'Problem with icon definition: ' . $icon); $this->assertInternalType('string', $result); } + // test fallback will be returned $this->assertEquals('', $sut->icon('foo')); $this->assertEquals('bar', $sut->icon('foo', 'bar')); } diff --git a/translations/messages.de.xliff b/translations/messages.de.xliff index 6c2c0fbd..12f7786a 100644 --- a/translations/messages.de.xliff +++ b/translations/messages.de.xliff @@ -576,50 +576,82 @@ - - stats.durationThisMonth + + stats.durationToday + Arbeitszeit heute + + + stats.durationWeek + Arbeitszeit diese Woche + + + stats.durationMonth Arbeitszeit diesen Monat - - stats.amountThisMonth - Umsatz diesen Monat + + stats.durationYear + Arbeitszeit dieses Jahr stats.durationTotal Arbeitszeit total + + stats.amountToday + Umsatz heute + + + stats.amountWeek + Umsatz diese Woche + + + stats.amountMonth + Umsatz diesen Monat + + + stats.amountYear + Umsatz dieses Jahr + stats.amountTotal Umsatz total - - - - stats.userTotal - Anzahl Benutzer + + stats.userActiveToday + Aktive Benutzer heute - - stats.userActiveThisMoth + + stats.userActiveWeek + Aktive Benutzer diese Woche + + + stats.userActiveMonth Aktive Benutzer diesen Monat - - stats.userActiveEver + + stats.userActiveYear + Aktive Benutzer dieses Jahr + + + stats.userActiveTotal Aktive Benutzer jemals stats.activeRecordings - Momentan aktive Zeitmessungen + Aktive Zeitmessungen - - stats.activitiesTotal + + stats.userTotal + Anzahl Benutzer + + + stats.activityTotal Anzahl Tätigkeiten - - stats.projectsTotal + + stats.projectTotal Anzahl Projekte diff --git a/translations/messages.en.xliff b/translations/messages.en.xliff index f88725b7..3b1613bd 100644 --- a/translations/messages.en.xliff +++ b/translations/messages.en.xliff @@ -584,50 +584,82 @@ - - stats.durationThisMonth + + stats.durationToday + Working hours today + + + stats.durationWeek + Working hours this week + + + stats.durationMonth Working hours this month - - stats.amountThisMonth - Revenue this month + + stats.durationYear + Working hours this year stats.durationTotal Working hours total + + stats.amountToday + Revenue today + + + stats.amountWeek + Revenue this week + + + stats.amountMonth + Revenue this month + + + stats.amountYear + Revenue this year + stats.amountTotal Revenue total - - - - stats.userTotal - Amount users + + stats.userActiveToday + Active users today - - stats.userActiveThisMoth + + stats.userActiveWeek + Active users this week + + + stats.userActiveMonth Active users this month - - stats.userActiveEver + + stats.userActiveYear + Active users this year + + + stats.userActiveTotal Active users ever stats.activeRecordings - Currently active records + Active records - - stats.activitiesTotal + + stats.userTotal + Amount users + + + stats.activityTotal Amount activities - - stats.projectsTotal + + stats.projectTotal Amount projects diff --git a/translations/messages.it.xliff b/translations/messages.it.xliff index d30f5ff8..ace2a204 100755 --- a/translations/messages.it.xliff +++ b/translations/messages.it.xliff @@ -565,50 +565,46 @@ - - stats.durationThisMonth + + stats.durationMonth Ore mensili - - stats.amountThisMonth - Reddito mensile - stats.durationTotal Totale ore + + stats.amountMonth + Reddito mensile + stats.amountTotal Totale reddito - - - - stats.userTotal - Conteggio utenti - - - stats.userActiveThisMoth + + stats.userActiveMonth Utenti attivi questo mese - - stats.userActiveEver + + stats.userActiveTotal Totale utenti attivi stats.activeRecordings Totale registrazioni attive - - stats.activitiesTotal + + stats.userTotal + Conteggio utenti + + + stats.activityTotal Conteggio attività - - stats.projectsTotal + + stats.projectTotal Conteggio progetti diff --git a/translations/messages.ru.xliff b/translations/messages.ru.xliff index 51f57f7e..9010c75f 100644 --- a/translations/messages.ru.xliff +++ b/translations/messages.ru.xliff @@ -577,50 +577,46 @@ - - stats.durationThisMonth + + stats.durationMonth Отработанное время за этот месяц - - stats.amountThisMonth - Оборот за этот месяц - stats.durationTotal Общее отработанное время + + stats.amountMonth + Оборот за этот месяц + stats.amountTotal Общий оборот - - - - stats.userTotal - Всего пользователей - - - stats.userActiveThisMoth + + stats.userActiveMonth Активные пользователи в этом месяце - - stats.userActiveEver + + stats.userActiveTotal Когда либо активные пользователи stats.activeRecordings Текущий активный хронометраж - - stats.activitiesTotal + + stats.userTotal + Всего пользователей + + + stats.activityTotal Количество дейтельностей - - stats.projectsTotal + + stats.projectTotal Количество проектов diff --git a/var/docs/README.md b/var/docs/README.md index 27ba7041..921daa5d 100644 --- a/var/docs/README.md +++ b/var/docs/README.md @@ -8,18 +8,18 @@ try to add it as soon as possible. ## User manual -For the most part Kimai usage should be self-explanatory, so we will only cover topics here which were +For the most parts Kimai usage should be self-explanatory, so we will only cover topics here which were [requested](https://github.com/kevinpapst/kimai2/issues) by the community. -- [Timesheets](timesheet.md) - information about timesheets - -## Developer & Administrator - -- [Kimai configurations](configurations.md) - application configs, which can only be changed in config files -- [Developer docu](developers.md) - how to extend Kimai's feature set +- [Timesheets](timesheet.md) - information about timesheets - [User and Security](users.md) - docu for user and security topics, like authentication, registration and roles +- [Configurations](configurations.md) - intro into the global application configs + - [Emails](emails.md) - transport configuration and handling of emails + - [Dashboard & widgets](dashboard.md) - how to configure widgets and dashboard sections + - [Calendar](calendar.md) - the Timesheet calendar view +- [Developer docu](developers.md) - how to extend Kimai's feature set + - [Theme settings](theme.md) - theme related settings - [FAQ](faq.md) - some answers to frequently asked questions -- [Emails](emails.md) - transport configuration and handling of emails - [API](developers_api.md) - how to use the JSON API - [Translations](translations.md) - all about languages and translations diff --git a/var/docs/calendar.md b/var/docs/calendar.md new file mode 100644 index 00000000..4e500fb9 --- /dev/null +++ b/var/docs/calendar.md @@ -0,0 +1,45 @@ +# Calendar + +Kimai 2 provides a calendar view, which displays your timesheet entries in a easy readable format. +You can choose between a monthly, weekly and daily view. + +The calendar view look and feel is configured with the config keys below `kimai.calendar` in `kimai.yaml`: + +```yaml +kimai: + calendar: + week_numbers: true + day_limit: 4 + businessHours: + days: [1, 2, 3, 4, 5] + begin: '08:00' + end: '20:00' +``` + +- `week_numbers` - whether week numbers should be displayed in the monthly view (default: true) +- `day_limit` defined the max amount of items to be displayed for one day in the monthly view (default: 4) +- `businessHours.days` defines your working days, which will be highlighted in the weekly and daily view. counting starts with sunday and the index 0, so 1 = monday, ..., 6 = saturday. (default: 1-5 / monday to friday) +- `businessHours.begin` the start time of your working day, which will be highlighted in the weekly and daily view (default: 08:00 / 8am) +- `businessHours.end` the end time of your working day, which will be highlighted in the weekly and daily view (default: 20:00 / 8pm) + +#### Integrating google calender + +If you want to embed Google calendars e.g. to display regional holidays or company events you can import (multiple) Google calendars. + +- read how to obtain your [Google API key and find the Calender ID](https://fullcalendar.io/docs/google-calendar) +- add the optional `kimai.calendar.google` configuration +- you can add any number of sources under the `kimai.calendar.google.sources` node, each must have its own name (like `holidays` and `company` in this example) + +```yaml +kimai: + calendar: + google: + api_key: 'your-restricted-google-api-key' + sources: + holidays: + id: 'de.german#holiday@group.v.calendar.google.com' + color: '#ccc' + company: + id: 'de.german#holiday@group.v.calendar.google.com' + color: '#cc0000' +``` diff --git a/var/docs/configurations.md b/var/docs/configurations.md index 94d4d043..6f86499d 100644 --- a/var/docs/configurations.md +++ b/var/docs/configurations.md @@ -17,13 +17,20 @@ Configuration of Kimai is spread in all files in the `config/`directory but main - `.env` - environment specific settings - `config/packages/kimai.yaml` - Kimai specific settings -- `config/packages/admin_lte.yaml` - theme specific settings ([read more](https://github.com/kevinpapst/AdminLTEBundle/blob/master/Resources/docs/configurations.md)) +- `config/packages/admin_lte.yaml` - Kimai base theme - `config/packages/fos_user.yaml` - user management and email settings - `config/packages/local.yaml` - your local configuration settings There are several other configurations that could potentially be interesting for you in [config/packages/*.yaml](../../config/packages/). -If you want to adjust a setting from any of these files, use `local.yaml`. +If you want to adjust a setting from any of these files, use `local.yaml` (see below). + +#### Other topics + +- [Theme settings](theme.md) - in `kimai.yaml` and `admin_lte.yaml` +- [Email configuration](emails.md) - in `swiftmailer.yaml` +- [Dashboard widgets](dashboard.md) - in `kimai.yaml` +- [Calendar](calendar.md) - in `kimai.yaml` ## Overwriting local configs (local.yaml) @@ -63,10 +70,6 @@ bin/console cache:warmup --env=prod Depending on your setup it might be necessary to execute these commands as webserver user, please read the [UPGRADING guide](../../UPGRADING.md) for more details. -## Emails (swiftmailer.yaml) - -Read more about [email configuration](emails.md). - ## Security Kimai uses the FOSUserBundle for security related tasks like user management. Its configuration can be found in [fos_user.yaml](../../config/packages/fos_user.yaml). @@ -176,7 +179,7 @@ kimai: duration: 60 ``` -A rule which is often used is to round to a mulitple of 10: +A rule which is often used is to round up to a mulitple of 10: ```yaml kimai: @@ -219,47 +222,3 @@ kimai: days: ['saturday','sunday'] factor: 1.5 ``` - -### Timesheet - Calendar view (kimai.yaml) - -The calendar view look and feel can be be configured with the config keys below `kimai.calendar`: - -```yaml -kimai: - calendar: - week_numbers: true - day_limit: 4 - businessHours: - days: [1, 2, 3, 4, 5] - begin: '08:00' - end: '20:00' -``` - -- `week_numbers` - whether week numbers should be displayed in the monthly view (default: true) -- `day_limit` defined the max amount of items to be displayed for one day in the monthly view (default: 4) -- `businessHours.days` defines your working days, which will be highlighted in the weekly and daily view. counting starts with sunday and the index 0, so 1 = monday, ..., 6 = saturday. (default: 1-5 / monday to friday) -- `businessHours.begin` the start time of your working day, which will be highlighted in the weekly and daily view (default: 08:00 / 8am) -- `businessHours.end` the end time of your working day, which will be highlighted in the weekly and daily view (default: 20:00 / 8pm) - -#### Integrating google calender - -If you want to embed Google calendar events e.g. to display regional holidays or company partys you can import (multiple) Google calendars. - -- read how to obtain your [Google API key and find the Calender ID](https://fullcalendar.io/docs/google-calendar) -- add the optional `kimai.calendar.google` configuration -- you can add any number of sources under the `kimai.calendar.google.sources` node, each must have its own name (like `holidays` and `company` in this example) - -```yaml -kimai: - calendar: - google: - api_key: 'your-restricted-google-api-key' - sources: - holidays: - id: 'de.german#holiday@group.v.calendar.google.com' - color: '#ccc' - company: - id: 'de.german#holiday@group.v.calendar.google.com' - color: '#cc0000' -``` - diff --git a/var/docs/dashboard.md b/var/docs/dashboard.md new file mode 100644 index 00000000..8c69b52a --- /dev/null +++ b/var/docs/dashboard.md @@ -0,0 +1,126 @@ +# Dashboard + +Read the [configuration chapter](configurations.md) before you start changing your configs. + +## Widgets + +Widgets are defined in the configuration node `kimai.widgets` and you find the pre-defined ones in [kimai.yaml](../../config/packages/kimai.yaml). + +Here is an example of one widget definition: + +```yaml +kimai: + widgets: + userDurationToday: { title: stats.durationToday, query: duration, user: true, begin: '00:00:00', end: '23:59:59', icon: duration, color: green } +``` + +Widgets are currently only used in the Dashboard, but maybe used in other template parts as well in the future. + +### Widget settings + +- `title` - the title of your widget (will be translated) +- `query` - the allowed queries to use for populating the widget data are `duration`, `rate`, `active` and `users` +- `user` - whether the query is executed for the current user or for all users. possible values are `true` and `false` (default: `false` - all data is used to calculate the result) +- `begin` - setting the start date for the query, formatted with the [PHP DateTime syntax](http://php.net/manual/en/datetime.formats.relative.php) (default: `null` - a query matching any start date) +- `end` - setting the end date for the query, formatted with the [PHP DateTime syntax](http://php.net/manual/en/datetime.formats.relative.php) (default: `null` - a query matching any end date) +- `color` - a color name, see all possible names in [theme settings](theme.md) (default: ``) +- `icon` - an icon alias from [theme settings](theme.md) or any other icon from [Font Awesome 5](https://fontawesome.com/icons) (default: `null` - no icon) + +## Dashboard sections + +Within the dashboard all widgets are placed in sections (rows) like this: + +```yaml +kimai: + dashboard: + user_duration: + title: dashboard.you + order: 10 + permission: ROLE_USER + widgets: [userDurationToday, userDurationWeek, userDurationMonth, userDurationYear, userDurationTotal] +``` + +### Section settings + +- `permission` - the name of a role who is allowed to see the widgets, see [users](users.md) +- `title` - the title of a section, if omitted no title will be shown (default: `null`) +- `widgets` - an array of widget names (see above for an example) +- `order` - allows to define the order of the section + +### Default sections + +The dashboard has the following default sections: + +- `user_duration` - order 10 +- `user_rates` - order 20 +- `duration` - order 30 +- `active_users` - order 40 +- `rates` - order 50 +- `admin` - order 100 (this section is programmatically added) + +### Overwriting sections + +A section with an empty list of widgets will not be rendered. +If you don't like the default sections you can remove them by overwriting their widget list like this: + +```yaml +kimai: + dashboard: + user_duration: { widgets: [] } + user_rates: { widgets: [] } + duration: { widgets: [] } + active_users: { widgets: [] } + rates: { widgets: [] } +``` + +It's also possible to change the title or the list of widgets for every section like this: + +```yaml +kimai: + dashboard: + user_duration: + title: 'some fancy widgets' + widgets: [userDurationWeek, userDurationMonth, userDurationYear] +``` + +### Reorder sections + +If you want to reorder the sections, you can overwrite as many sections as you want and simply change their `order` key. +Lower numbers will be rendered before higher numbers. + +```yaml +kimai: + dashboard: + user_duration: { order: 30 } + user_rates: { order: 90 } + duration: { order: 40 } + active_users: { order: 20 } + rates: { order: 50 } +``` + +### Test widgets for the "brave users" + +While working on the widgets, some of them were created for testing future functionalities of Kimai. +You can try them out, but I can't guarantee that they will be supported in the future, as I don't consider them to be `stable` for now. + +You can try this configuration in your `local.yaml` to see a chart instead of plain boxes for the last 2 years of monthly times: + +```yaml +kimai: + widgets: + userRecapTwoYears: { title: stats.durationToday, query: monthly, user: true, begin: '01 january last year 00:00:00', end: '31 december this year 23:59:59', color: '#3b8bba|rgba(0,115,183,0.6);#c1c7d1|rgb(210,214,222,0.9)' } + + dashboard: + user_duration: + type: chart + widgets: [userRecapTwoYears, userDurationToday, userDurationWeek, userDurationMonth, userDurationYear] +``` + +A brief description: the `monthly` query allows to fetch data by month and year, but the default widgets are not able to render this data. +So internally a __chart section template__ (`type: chart`) is used to render the data, which is also able to fetch and display the data for +all of the following widgets in the configured section (the above example overwrites the widget config of the default `user_duration` section). + +In order to work, the chart widget `userRecapTwoYears` needs to be the first in the section. + +This widgets setup and configuration will likely change in the future, so keep an eye on this config if this widget +doesn't work after one of the next updates! diff --git a/var/docs/developers.md b/var/docs/developers.md index 4749289a..3daea52f 100644 --- a/var/docs/developers.md +++ b/var/docs/developers.md @@ -135,7 +135,8 @@ And that's how to use it: ```php use App\Event\DashboardEvent; -use App\Model\WidgetRow; +use App\Model\DashboardSection; +use App\Model\Widget; use Symfony\Component\EventDispatcher\EventSubscriberInterface; class MyDashboardSubscriber implements EventSubscriberInterface @@ -147,14 +148,19 @@ class MyDashboardSubscriber implements EventSubscriberInterface public function onDashboardEvent(DashboardEvent $event) { - $row = new WidgetRow('my_id', 'optional.row.title'); - // this needs to be a valid twig template string - $row->add("{{ widgets.info_box_counter('a title', 100, 'far fa-hourglass', 'green') }}"); - $event->addWidgetRow($row); + $section = new DashboardSection('optional.row.title'); + $widget = new Widget('A title', 100); + $widget + ->setIcon('duration') + ->setColor('purple') + ->setType(Widget::TYPE_COUNTER) + ; + $section->addWidget($widget); + $event->addSection($section); } } ``` -For more details check the [official dashboard subscriber](../../src/EventSubscriber/DashboardSubscriber.php). +For more details check this [dashboard subscriber](../../src/EventSubscriber/DashboardSubscriber.php). ## Adding tabs to the "control sidebar" @@ -172,7 +178,8 @@ admin_lte: icon: "fas fa-question-circle" template: sidebar/home.html.twig ``` -You have to define the `icon` (FontAwesome 5) to be used and one of: `controller` action or twig `template`. + +You have to define the `icon` ([read more](theme.md)) to be used and either `controller` action or twig `template`. Both follow the default naming syntax and you can link your bundle here instead of the app controller or templates. You should NOT add them in `config/packages/kimai.yaml` but in your own bundle or the `local.yaml` [config](configurations.md), otherwise they might get lost during an update. diff --git a/var/docs/installation.md b/var/docs/installation.md index 6f592374..c2d92453 100644 --- a/var/docs/installation.md +++ b/var/docs/installation.md @@ -1,7 +1,7 @@ # Installation If you want to install Kimai v2 in your production environment and have SSH access, then switch to the official -installation instruction in our [README](https://github.com/kevinpapst/kimai2/blob/master/README.md). +installation instruction in our [README](https://github.com/kevinpapst/kimai2/#installation). You need GIT and [Composer](https://getcomposer.org/doc/00-intro.md) on the machine where you want to install Kimai. diff --git a/var/docs/theme.md b/var/docs/theme.md new file mode 100644 index 00000000..46376396 --- /dev/null +++ b/var/docs/theme.md @@ -0,0 +1,98 @@ +# Theme + +Kimai uses the [AdminLTE theme](https://github.com/kevinpapst/AdminLTEBundle/) which can be configured in the file `config/packages/admin_lte.yaml`. +You find the theme specific documentation [here](https://github.com/kevinpapst/AdminLTEBundle/blob/master/Resources/docs/configurations.md). + +All Kimai specific theme settings will be available in the twig templates with the global `kimai_context` key, e.g. + +```twig +{{ kimai_context.box_color }} +``` + +## Active entries warning + +A small colored warning sign will be shown, if a user has more than 3 active timesheet entries. + +You can change this soft limit by setting the config key `kimai.theme.active_warning` in your `local.yaml`: + +```yaml +kimai: + theme: + active_warning: 2 +``` + +## Colors + +Kimai allows you to configure colors in several places throughout the theme. + +Possible values are: + +- `aqua` +- `black` +- `blue` +- `gray` +- `green` +- `purple` +- `red` +- `yellow` + +### Fallback color + +Whenever a color is required but none is configured, Kimai uses a fallback language from the config key `kimai.theme.box_color`. + +You can change the default color `green` to any one from the above in your `local.yaml`: + +```yaml +kimai: + theme: + box_color: 'blue' +``` + +The fallback color should be applied whenever an optional color is configurable by the user: + +```twig +
+``` + +## Icons + +Kimai allows you to configure icons in several places (provided by [Font Awesome 5](https://fontawesome.com/icons)) and ships +with a pre-defined list of icon aliases to guarantee a consistent look. + +The pre-defined icons aliases are: + +- `user` +- `customer` +- `project` +- `activity` +- `admin` +- `invoice` +- `timesheet` +- `dashboard` +- `logout` +- `trash` +- `delete` +- `repeat` +- `edit` +- `manual` +- `help` +- `start` +- `start-small` +- `stop` +- `stop-small` +- `filter` +- `create` +- `list` +- `print` +- `visibility` +- `calendar` +- `money` +- `duration` + +Icon aliases can be used by applying the `icon` filter, e.g. + +``` + +``` + + diff --git a/var/docs/timesheet.md b/var/docs/timesheet.md index 7282bb5b..46805de4 100644 --- a/var/docs/timesheet.md +++ b/var/docs/timesheet.md @@ -2,26 +2,18 @@ User manual on the timesheet tables and actions. -## Edit timesheet +Kimai 2 provides also a [calendar view](calendar.md), which displays your timesheet entries in an easy readable format. -### Duration only +## Duration only When the `duration_only` mode is activated, you will only see the `date` and `duration` fields (see [configurations chapter](configurations.md)). The `duration` field supports entering data in the following formats: | Name | Format | Description | Examples | -|---|---|---| +|---|---|---|---| | Colons | {hours}:{minutes}[:{seconds}] | Seconds are optional, overflow is supported for every field | `2:27` = 2 Hours, 27 Minutes / `3:143:13` = 5 Hours, 23 Minutes, 13 Seconds| | Natural | {hours}h{minutes}m[{seconds}s] | Seconds are optional, overflow is supported for every field | `2h27m` = 2 Hours, 27 Minutes / `3h143m13s` = 5 Hours, 23 Minutes, 13 Seconds | | Seconds | {seconds} | | `3600` = 1 Hour / `8820` = 2 Hours, 27 Minutes | Please note: if time rounding is activated (which is the default behaviour), then your entered seconds might be removed after submitting the form. - -## Calendar view - -Kimai 2 provides a calendar view, which displays your timesheet entries in a easy readable format. -You can choose between a monthly, weekly and daily view. - -It's also possible to include further [Google calendar sources](configurations.md) from Google, e.g. if you want to display regional holidays. - diff --git a/var/docs/users.md b/var/docs/users.md index e7719894..10b9adde 100644 --- a/var/docs/users.md +++ b/var/docs/users.md @@ -1,9 +1,9 @@ # Users -There are multiple pre-defined roles in Kimai, which define the ACLs. A user can only inherit one role, where the roles extend each user. - ## Roles & Permissions +There are multiple pre-defined roles in Kimai, which define the ACLs. A user can only inherit one role, where the roles extend each user. + | Role name | extends | Gives permission for | |---|---|---| | ROLE_CUSTOMER | - | Currently has no permissions, but was reserved for future functionality | @@ -14,7 +14,7 @@ There are multiple pre-defined roles in Kimai, which define the ACLs. A user can ## Login -- User can login with their username or email +- User can login with username or email - If you activate the `Remember me` option, you can use use the most common functions within the next days without a new login ### Remember me login diff --git a/yarn.lock b/yarn.lock index 80fc3cf1..4f5167bd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1092,9 +1092,25 @@ chalk@^2.4.1: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chart.js@1.1.*: - version "1.1.1" - resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-1.1.1.tgz#a9b17054220bd45cbdb176fd6bcb8783ef871a7d" +chart.js@~2.7.2: + version "2.7.2" + resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-2.7.2.tgz#3c9fde4dc5b95608211bdefeda7e5d33dffa5714" + dependencies: + chartjs-color "^2.1.0" + moment "^2.10.2" + +chartjs-color-string@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/chartjs-color-string/-/chartjs-color-string-0.5.0.tgz#8d3752d8581d86687c35bfe2cb80ac5213ceb8c1" + dependencies: + color-name "^1.0.0" + +chartjs-color@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/chartjs-color/-/chartjs-color-2.2.0.tgz#84a2fb755787ed85c39dd6dd8c7b1d88429baeae" + dependencies: + chartjs-color-string "^0.5.0" + color-convert "^0.5.3" chokidar@^2.0.0, chokidar@^2.0.2: version "2.0.3" @@ -1196,6 +1212,10 @@ collection-visit@^1.0.0: map-visit "^1.0.0" object-visit "^1.0.0" +color-convert@^0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-0.5.3.tgz#bdb6c69ce660fadffe0b0007cc447e1b9f7282bd" + color-convert@^1.3.0, color-convert@^1.9.0: version "1.9.1" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" @@ -3446,7 +3466,7 @@ mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkd dependencies: minimist "0.0.8" -moment@^2.20.1, moment@^2.9.0: +moment@^2.10.2, moment@^2.20.1, moment@^2.9.0: version "2.22.2" resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.2.tgz#3c257f9839fc0e93ff53149632239eb90783ff66"