From 11c6e4ffe399b26e82b20d8b94b08410e71e1f63 Mon Sep 17 00:00:00 2001 From: Rahmat Santosa <rnsantosa@Rahmats-MacBook-Pro.local> Date: Mon, 11 Feb 2019 14:45:20 +0700 Subject: [PATCH] change date time picker --- .DS_Store | Bin 6148 -> 6148 bytes .../Controllers/SeminarTopikController.php | 2 + public/.DS_Store | Bin 0 -> 6148 bytes .../.bower.json | 44 + .../CONTRIBUTING.md | 38 + .../Gruntfile.js | 195 + .../eonasdan-bootstrap-datetimepicker/LICENSE | 21 + .../README.md | 20 + .../bower.json | 34 + .../bootstrap-datetimepicker-standalone.css | 98 + .../build/css/bootstrap-datetimepicker.css | 374 + .../css/bootstrap-datetimepicker.min.css | 5 + .../build/js/bootstrap-datetimepicker.min.js | 2 + .../component.json | 9 + .../composer.json | 28 + .../docs/ChangeLog.md | 237 + .../docs/ContributorsGuide.md | 126 + .../docs/Events.md | 97 + .../docs/Extras.md | 95 + .../docs/FAQ.md | 22 + .../docs/Functions.md | 82 + .../docs/Installing.md | 161 + .../docs/Options.md | 909 + .../docs/Version 4 Changelog.md | 6 + .../docs/Version 4 Contributors guide.md | 6 + .../docs/index.md | 644 + .../docs/theme/android-chrome-144x144.png | Bin 0 -> 40227 bytes .../docs/theme/android-chrome-192x192.png | Bin 0 -> 68963 bytes .../docs/theme/android-chrome-36x36.png | Bin 0 -> 3800 bytes .../docs/theme/android-chrome-48x48.png | Bin 0 -> 5971 bytes .../docs/theme/android-chrome-72x72.png | Bin 0 -> 11838 bytes .../docs/theme/android-chrome-96x96.png | Bin 0 -> 19482 bytes .../docs/theme/apple-touch-icon-114x114.png | Bin 0 -> 26475 bytes .../docs/theme/apple-touch-icon-120x120.png | Bin 0 -> 29019 bytes .../docs/theme/apple-touch-icon-144x144.png | Bin 0 -> 40227 bytes .../docs/theme/apple-touch-icon-152x152.png | Bin 0 -> 44355 bytes .../docs/theme/apple-touch-icon-180x180.png | Bin 0 -> 60935 bytes .../docs/theme/apple-touch-icon-57x57.png | Bin 0 -> 7933 bytes .../docs/theme/apple-touch-icon-60x60.png | Bin 0 -> 8684 bytes .../docs/theme/apple-touch-icon-72x72.png | Bin 0 -> 11838 bytes .../docs/theme/apple-touch-icon-76x76.png | Bin 0 -> 13014 bytes .../theme/apple-touch-icon-precomposed.png | Bin 0 -> 65745 bytes .../docs/theme/apple-touch-icon.png | Bin 0 -> 60935 bytes .../docs/theme/base.html | 74 + .../docs/theme/browserconfig.xml | 12 + .../docs/theme/content.html | 9 + .../docs/theme/css/base.css | 107 + .../docs/theme/css/prettify-1.0.css | 28 + .../docs/theme/favicon-16x16.png | Bin 0 -> 1433 bytes .../docs/theme/favicon-32x32.png | Bin 0 -> 3187 bytes .../docs/theme/favicon-96x96.png | Bin 0 -> 19482 bytes .../docs/theme/favicon.ico | Bin 0 -> 12014 bytes .../docs/theme/js/base.js | 52 + .../docs/theme/js/prettify-1.0.min.js | 28 + .../docs/theme/manifest.json | 41 + .../docs/theme/mstile-144x144.png | Bin 0 -> 42796 bytes .../docs/theme/mstile-150x150.png | Bin 0 -> 36570 bytes .../docs/theme/mstile-310x150.png | Bin 0 -> 38916 bytes .../docs/theme/mstile-310x310.png | Bin 0 -> 144673 bytes .../docs/theme/mstile-70x70.png | Bin 0 -> 21052 bytes .../docs/theme/nav.html | 76 + .../docs/theme/toc.html | 10 + .../mkdocs.yml | 202 + .../package.json | 51 + .../src/js/bootstrap-datetimepicker.js | 2636 +++ .../src/less/_bootstrap-datetimepicker.less | 353 + .../less/bootstrap-datetimepicker-build.less | 17 + .../Bootstrap.v3.Datetimepicker.CSS.nuspec | 34 + .../nuget/Bootstrap.v3.Datetimepicker.nuspec | 34 + .../src/nuget/NuGet.exe | Bin 0 -> 1662976 bytes .../src/nuget/install.ps1 | 2 + .../src/sass/_bootstrap-datetimepicker.scss | 344 + .../sass/bootstrap-datetimepicker-build.scss | 16 + .../tasks/bump_version.js | 88 + public/bower_components/jquery/.bower.json | 25 + public/bower_components/jquery/AUTHORS.txt | 313 + public/bower_components/jquery/LICENSE.txt | 36 + public/bower_components/jquery/README.md | 67 + public/bower_components/jquery/bower.json | 14 + public/bower_components/jquery/dist/core.js | 399 + public/bower_components/jquery/dist/jquery.js | 10364 +++++++++++ .../jquery/dist/jquery.min.js | 2 + .../jquery/dist/jquery.min.map | 1 + .../jquery/dist/jquery.slim.js | 8269 +++++++++ .../jquery/dist/jquery.slim.min.js | 2 + .../jquery/dist/jquery.slim.min.map | 1 + .../jquery/external/sizzle/LICENSE.txt | 36 + .../jquery/external/sizzle/dist/sizzle.js | 2272 +++ .../jquery/external/sizzle/dist/sizzle.min.js | 3 + .../external/sizzle/dist/sizzle.min.map | 1 + .../jquery/src/.eslintrc.json | 5 + public/bower_components/jquery/src/ajax.js | 856 + .../bower_components/jquery/src/ajax/jsonp.js | 103 + .../bower_components/jquery/src/ajax/load.js | 77 + .../jquery/src/ajax/parseXML.js | 30 + .../jquery/src/ajax/script.js | 77 + .../jquery/src/ajax/var/location.js | 5 + .../jquery/src/ajax/var/nonce.js | 5 + .../jquery/src/ajax/var/rquery.js | 5 + .../bower_components/jquery/src/ajax/xhr.js | 170 + .../bower_components/jquery/src/attributes.js | 13 + .../jquery/src/attributes/attr.js | 141 + .../jquery/src/attributes/classes.js | 186 + .../jquery/src/attributes/prop.js | 143 + .../jquery/src/attributes/support.js | 33 + .../jquery/src/attributes/val.js | 191 + .../bower_components/jquery/src/callbacks.js | 236 + public/bower_components/jquery/src/core.js | 399 + .../jquery/src/core/DOMEval.js | 30 + .../jquery/src/core/access.js | 72 + .../jquery/src/core/camelCase.js | 23 + .../bower_components/jquery/src/core/init.js | 129 + .../jquery/src/core/nodeName.js | 13 + .../jquery/src/core/parseHTML.js | 65 + .../jquery/src/core/ready-no-deferred.js | 97 + .../bower_components/jquery/src/core/ready.js | 86 + .../jquery/src/core/readyException.js | 13 + .../jquery/src/core/stripAndCollapse.js | 14 + .../jquery/src/core/support.js | 20 + .../jquery/src/core/toType.js | 20 + .../jquery/src/core/var/rsingleTag.js | 6 + public/bower_components/jquery/src/css.js | 481 + .../jquery/src/css/addGetHookIf.js | 26 + .../jquery/src/css/adjustCSS.js | 73 + .../bower_components/jquery/src/css/curCSS.js | 65 + .../jquery/src/css/hiddenVisibleSelectors.js | 15 + .../jquery/src/css/showHide.js | 105 + .../jquery/src/css/support.js | 102 + .../jquery/src/css/var/cssExpand.js | 5 + .../jquery/src/css/var/getStyles.js | 17 + .../jquery/src/css/var/isHiddenWithinTree.js | 34 + .../jquery/src/css/var/rboxStyle.js | 7 + .../jquery/src/css/var/rnumnonpx.js | 7 + .../jquery/src/css/var/swap.js | 26 + public/bower_components/jquery/src/data.js | 180 + .../bower_components/jquery/src/data/Data.js | 162 + .../jquery/src/data/var/acceptData.js | 19 + .../jquery/src/data/var/dataPriv.js | 7 + .../jquery/src/data/var/dataUser.js | 7 + .../bower_components/jquery/src/deferred.js | 399 + .../jquery/src/deferred/exceptionHook.js | 21 + .../bower_components/jquery/src/deprecated.js | 98 + .../bower_components/jquery/src/dimensions.js | 57 + public/bower_components/jquery/src/effects.js | 702 + .../jquery/src/effects/Tween.js | 123 + .../jquery/src/effects/animatedSelector.js | 15 + public/bower_components/jquery/src/event.js | 748 + .../bower_components/jquery/src/event/ajax.js | 22 + .../jquery/src/event/alias.js | 29 + .../jquery/src/event/focusin.js | 55 + .../jquery/src/event/support.js | 11 + .../jquery/src/event/trigger.js | 199 + .../jquery/src/exports/amd.js | 26 + .../jquery/src/exports/global.js | 34 + public/bower_components/jquery/src/jquery.js | 40 + .../jquery/src/manipulation.js | 486 + .../jquery/src/manipulation/_evalUrl.js | 23 + .../jquery/src/manipulation/buildFragment.js | 105 + .../jquery/src/manipulation/getAll.js | 32 + .../jquery/src/manipulation/setGlobalEval.js | 22 + .../jquery/src/manipulation/support.js | 35 + .../src/manipulation/var/rcheckableType.js | 5 + .../src/manipulation/var/rscriptType.js | 5 + .../jquery/src/manipulation/var/rtagName.js | 5 + .../jquery/src/manipulation/wrapMap.js | 29 + public/bower_components/jquery/src/offset.js | 233 + public/bower_components/jquery/src/queue.js | 145 + .../jquery/src/queue/delay.js | 24 + .../jquery/src/selector-native.js | 237 + .../jquery/src/selector-sizzle.js | 19 + .../bower_components/jquery/src/selector.js | 3 + .../bower_components/jquery/src/serialize.js | 132 + .../bower_components/jquery/src/traversing.js | 191 + .../jquery/src/traversing/findFilter.js | 97 + .../jquery/src/traversing/var/dir.js | 22 + .../src/traversing/var/rneedsContext.js | 8 + .../jquery/src/traversing/var/siblings.js | 17 + .../jquery/src/var/ObjectFunctionString.js | 7 + public/bower_components/jquery/src/var/arr.js | 5 + .../jquery/src/var/class2type.js | 6 + .../bower_components/jquery/src/var/concat.js | 7 + .../jquery/src/var/document.js | 5 + .../jquery/src/var/documentElement.js | 7 + .../jquery/src/var/fnToString.js | 7 + .../jquery/src/var/getProto.js | 5 + .../bower_components/jquery/src/var/hasOwn.js | 7 + .../jquery/src/var/indexOf.js | 7 + .../jquery/src/var/isFunction.js | 13 + .../jquery/src/var/isWindow.js | 8 + .../bower_components/jquery/src/var/pnum.js | 5 + .../bower_components/jquery/src/var/push.js | 7 + .../jquery/src/var/rcssNum.js | 9 + .../jquery/src/var/rnothtmlwhite.js | 8 + .../bower_components/jquery/src/var/slice.js | 7 + .../jquery/src/var/support.js | 6 + .../jquery/src/var/toString.js | 7 + public/bower_components/jquery/src/wrap.js | 78 + public/bower_components/moment/.bower.json | 37 + public/bower_components/moment/CHANGELOG.md | 895 + public/bower_components/moment/LICENSE | 22 + public/bower_components/moment/README.md | 65 + public/bower_components/moment/bower.json | 26 + public/bower_components/moment/locale/af.js | 72 + .../bower_components/moment/locale/ar-dz.js | 58 + .../bower_components/moment/locale/ar-kw.js | 58 + .../bower_components/moment/locale/ar-ly.js | 121 + .../bower_components/moment/locale/ar-ma.js | 58 + .../bower_components/moment/locale/ar-sa.js | 103 + .../bower_components/moment/locale/ar-tn.js | 58 + public/bower_components/moment/locale/ar.js | 134 + public/bower_components/moment/locale/az.js | 104 + public/bower_components/moment/locale/be.js | 131 + public/bower_components/moment/locale/bg.js | 89 + public/bower_components/moment/locale/bm.js | 57 + public/bower_components/moment/locale/bn.js | 118 + public/bower_components/moment/locale/bo.js | 118 + public/bower_components/moment/locale/br.js | 107 + public/bower_components/moment/locale/bs.js | 150 + public/bower_components/moment/locale/ca.js | 87 + public/bower_components/moment/locale/cs.js | 171 + public/bower_components/moment/locale/cv.js | 62 + public/bower_components/moment/locale/cy.js | 79 + public/bower_components/moment/locale/da.js | 59 + .../bower_components/moment/locale/de-at.js | 75 + .../bower_components/moment/locale/de-ch.js | 75 + public/bower_components/moment/locale/de.js | 75 + public/bower_components/moment/locale/dv.js | 98 + public/bower_components/moment/locale/el.js | 99 + .../bower_components/moment/locale/en-SG.js | 66 + .../bower_components/moment/locale/en-au.js | 66 + .../bower_components/moment/locale/en-ca.js | 62 + .../bower_components/moment/locale/en-gb.js | 66 + .../bower_components/moment/locale/en-ie.js | 66 + .../bower_components/moment/locale/en-il.js | 61 + .../bower_components/moment/locale/en-nz.js | 66 + public/bower_components/moment/locale/eo.js | 70 + .../bower_components/moment/locale/es-do.js | 91 + .../bower_components/moment/locale/es-us.js | 91 + public/bower_components/moment/locale/es.js | 91 + public/bower_components/moment/locale/et.js | 79 + public/bower_components/moment/locale/eu.js | 65 + public/bower_components/moment/locale/fa.js | 105 + public/bower_components/moment/locale/fi.js | 108 + public/bower_components/moment/locale/fo.js | 59 + .../bower_components/moment/locale/fr-ca.js | 73 + .../bower_components/moment/locale/fr-ch.js | 77 + public/bower_components/moment/locale/fr.js | 82 + public/bower_components/moment/locale/fy.js | 74 + public/bower_components/moment/locale/ga.js | 76 + public/bower_components/moment/locale/gd.js | 75 + public/bower_components/moment/locale/gl.js | 76 + .../moment/locale/gom-latn.js | 122 + public/bower_components/moment/locale/gu.js | 123 + public/bower_components/moment/locale/he.js | 96 + public/bower_components/moment/locale/hi.js | 123 + public/bower_components/moment/locale/hr.js | 153 + public/bower_components/moment/locale/hu.js | 109 + .../bower_components/moment/locale/hy-am.js | 94 + public/bower_components/moment/locale/id.js | 81 + public/bower_components/moment/locale/is.js | 131 + .../bower_components/moment/locale/it-ch.js | 68 + public/bower_components/moment/locale/it.js | 68 + public/bower_components/moment/locale/ja.js | 91 + public/bower_components/moment/locale/jv.js | 81 + public/bower_components/moment/locale/ka.js | 88 + public/bower_components/moment/locale/kk.js | 86 + public/bower_components/moment/locale/km.js | 109 + public/bower_components/moment/locale/kn.js | 125 + public/bower_components/moment/locale/ko.js | 80 + public/bower_components/moment/locale/ku.js | 118 + public/bower_components/moment/locale/ky.js | 86 + public/bower_components/moment/locale/lb.js | 135 + public/bower_components/moment/locale/lo.js | 69 + public/bower_components/moment/locale/lt.js | 117 + public/bower_components/moment/locale/lv.js | 96 + public/bower_components/moment/locale/me.js | 111 + public/bower_components/moment/locale/mi.js | 63 + public/bower_components/moment/locale/mk.js | 89 + public/bower_components/moment/locale/ml.js | 80 + public/bower_components/moment/locale/mn.js | 103 + public/bower_components/moment/locale/mr.js | 159 + .../bower_components/moment/locale/ms-my.js | 81 + public/bower_components/moment/locale/ms.js | 81 + public/bower_components/moment/locale/mt.js | 59 + public/bower_components/moment/locale/my.js | 92 + public/bower_components/moment/locale/nb.js | 61 + public/bower_components/moment/locale/ne.js | 122 + .../bower_components/moment/locale/nl-be.js | 86 + public/bower_components/moment/locale/nl.js | 86 + public/bower_components/moment/locale/nn.js | 59 + .../bower_components/moment/locale/pa-in.js | 123 + public/bower_components/moment/locale/pl.js | 125 + .../bower_components/moment/locale/pt-br.js | 60 + public/bower_components/moment/locale/pt.js | 64 + public/bower_components/moment/locale/ro.js | 74 + public/bower_components/moment/locale/ru.js | 181 + public/bower_components/moment/locale/sd.js | 97 + public/bower_components/moment/locale/se.js | 59 + public/bower_components/moment/locale/si.js | 70 + public/bower_components/moment/locale/sk.js | 155 + public/bower_components/moment/locale/sl.js | 172 + public/bower_components/moment/locale/sq.js | 67 + .../bower_components/moment/locale/sr-cyrl.js | 110 + public/bower_components/moment/locale/sr.js | 110 + public/bower_components/moment/locale/ss.js | 87 + public/bower_components/moment/locale/sv.js | 68 + public/bower_components/moment/locale/sw.js | 58 + public/bower_components/moment/locale/ta.js | 128 + public/bower_components/moment/locale/te.js | 88 + public/bower_components/moment/locale/tet.js | 66 + public/bower_components/moment/locale/tg.js | 115 + public/bower_components/moment/locale/th.js | 66 + .../bower_components/moment/locale/tl-ph.js | 61 + public/bower_components/moment/locale/tlh.js | 121 + public/bower_components/moment/locale/tr.js | 93 + public/bower_components/moment/locale/tzl.js | 90 + .../moment/locale/tzm-latn.js | 57 + public/bower_components/moment/locale/tzm.js | 57 + .../bower_components/moment/locale/ug-cn.js | 118 + public/bower_components/moment/locale/uk.js | 153 + public/bower_components/moment/locale/ur.js | 97 + .../bower_components/moment/locale/uz-latn.js | 57 + public/bower_components/moment/locale/uz.js | 57 + public/bower_components/moment/locale/vi.js | 78 + .../moment/locale/x-pseudo.js | 67 + public/bower_components/moment/locale/yo.js | 59 + .../bower_components/moment/locale/zh-cn.js | 109 + .../bower_components/moment/locale/zh-hk.js | 102 + .../bower_components/moment/locale/zh-tw.js | 102 + public/bower_components/moment/min/locales.js | 10178 +++++++++++ .../moment/min/locales.min.js | 1 + .../moment/min/moment-with-locales.js | 14765 ++++++++++++++++ .../moment/min/moment-with-locales.min.js | 1 + .../bower_components/moment/min/moment.min.js | 1 + public/bower_components/moment/moment.d.ts | 736 + public/bower_components/moment/moment.js | 4602 +++++ .../bower_components/moment/package-lock.json | 9699 ++++++++++ .../moment/src/lib/create/check-overflow.js | 34 + .../moment/src/lib/create/date-from-array.js | 35 + .../moment/src/lib/create/from-anything.js | 110 + .../moment/src/lib/create/from-array.js | 147 + .../moment/src/lib/create/from-object.js | 16 + .../src/lib/create/from-string-and-array.js | 50 + .../src/lib/create/from-string-and-format.js | 113 + .../moment/src/lib/create/from-string.js | 230 + .../moment/src/lib/create/local.js | 5 + .../moment/src/lib/create/parsing-flags.js | 26 + .../moment/src/lib/create/utc.js | 5 + .../moment/src/lib/create/valid.js | 50 + .../moment/src/lib/duration/abs.js | 18 + .../moment/src/lib/duration/add-subtract.js | 21 + .../moment/src/lib/duration/as.js | 66 + .../moment/src/lib/duration/bubble.js | 61 + .../moment/src/lib/duration/clone.js | 6 + .../moment/src/lib/duration/constructor.js | 44 + .../moment/src/lib/duration/create.js | 122 + .../moment/src/lib/duration/duration.js | 16 + .../moment/src/lib/duration/get.js | 25 + .../moment/src/lib/duration/humanize.js | 85 + .../moment/src/lib/duration/iso-string.js | 64 + .../moment/src/lib/duration/prototype.js | 53 + .../moment/src/lib/duration/valid.js | 36 + .../moment/src/lib/format/format.js | 92 + .../moment/src/lib/locale/base-config.js | 44 + .../moment/src/lib/locale/calendar.js | 15 + .../moment/src/lib/locale/constructor.js | 5 + .../moment/src/lib/locale/en.js | 15 + .../moment/src/lib/locale/formats.js | 23 + .../moment/src/lib/locale/invalid.js | 5 + .../moment/src/lib/locale/lists.js | 93 + .../moment/src/lib/locale/locale.js | 39 + .../moment/src/lib/locale/locales.js | 197 + .../moment/src/lib/locale/ordinal.js | 7 + .../moment/src/lib/locale/pre-post-format.js | 3 + .../moment/src/lib/locale/prototype.js | 69 + .../moment/src/lib/locale/relative.js | 30 + .../moment/src/lib/locale/set.js | 49 + .../moment/src/lib/moment/add-subtract.js | 55 + .../moment/src/lib/moment/calendar.js | 26 + .../moment/src/lib/moment/clone.js | 5 + .../moment/src/lib/moment/compare.js | 63 + .../moment/src/lib/moment/constructor.js | 77 + .../moment/src/lib/moment/creation-data.js | 9 + .../moment/src/lib/moment/diff.js | 58 + .../moment/src/lib/moment/format.js | 62 + .../moment/src/lib/moment/from.js | 17 + .../moment/src/lib/moment/get-set.js | 61 + .../moment/src/lib/moment/locale.js | 34 + .../moment/src/lib/moment/min-max.js | 63 + .../moment/src/lib/moment/moment.js | 28 + .../moment/src/lib/moment/now.js | 3 + .../moment/src/lib/moment/prototype.js | 150 + .../moment/src/lib/moment/start-end-of.js | 128 + .../moment/src/lib/moment/to-type.js | 34 + .../moment/src/lib/moment/to.js | 17 + .../moment/src/lib/moment/valid.js | 15 + .../moment/src/lib/parse/regex.js | 54 + .../moment/src/lib/parse/token.js | 33 + .../moment/src/lib/units/aliases.js | 30 + .../moment/src/lib/units/constants.js | 9 + .../moment/src/lib/units/day-of-month.js | 39 + .../moment/src/lib/units/day-of-week.js | 367 + .../moment/src/lib/units/day-of-year.js | 36 + .../moment/src/lib/units/hour.js | 144 + .../moment/src/lib/units/millisecond.js | 69 + .../moment/src/lib/units/minute.js | 29 + .../moment/src/lib/units/month.js | 290 + .../moment/src/lib/units/offset.js | 235 + .../moment/src/lib/units/priorities.js | 16 + .../moment/src/lib/units/quarter.js | 32 + .../moment/src/lib/units/second.js | 29 + .../moment/src/lib/units/timestamp.js | 20 + .../moment/src/lib/units/timezone.js | 16 + .../moment/src/lib/units/units.js | 20 + .../src/lib/units/week-calendar-utils.js | 65 + .../moment/src/lib/units/week-year.js | 107 + .../moment/src/lib/units/week.js | 67 + .../moment/src/lib/units/year.js | 75 + .../moment/src/lib/utils/abs-ceil.js | 7 + .../moment/src/lib/utils/abs-floor.js | 8 + .../moment/src/lib/utils/abs-round.js | 7 + .../moment/src/lib/utils/compare-arrays.js | 16 + .../moment/src/lib/utils/defaults.js | 10 + .../moment/src/lib/utils/deprecate.js | 55 + .../moment/src/lib/utils/extend.js | 19 + .../moment/src/lib/utils/has-own-prop.js | 3 + .../moment/src/lib/utils/hooks.js | 13 + .../moment/src/lib/utils/index-of.js | 18 + .../moment/src/lib/utils/is-array.js | 3 + .../moment/src/lib/utils/is-date.js | 3 + .../moment/src/lib/utils/is-function.js | 3 + .../moment/src/lib/utils/is-number.js | 3 + .../moment/src/lib/utils/is-object-empty.js | 13 + .../moment/src/lib/utils/is-object.js | 5 + .../moment/src/lib/utils/is-undefined.js | 3 + .../moment/src/lib/utils/keys.js | 19 + .../moment/src/lib/utils/map.js | 7 + .../moment/src/lib/utils/mod.js | 3 + .../moment/src/lib/utils/some.js | 19 + .../moment/src/lib/utils/to-int.js | 12 + .../moment/src/lib/utils/zero-fill.js | 7 + .../bower_components/moment/src/locale/af.js | 64 + .../moment/src/locale/ar-dz.js | 51 + .../moment/src/locale/ar-kw.js | 50 + .../moment/src/locale/ar-ly.js | 113 + .../moment/src/locale/ar-ma.js | 52 + .../moment/src/locale/ar-sa.js | 96 + .../moment/src/locale/ar-tn.js | 51 + .../bower_components/moment/src/locale/ar.js | 128 + .../bower_components/moment/src/locale/az.js | 97 + .../bower_components/moment/src/locale/be.js | 126 + .../bower_components/moment/src/locale/bg.js | 82 + .../bower_components/moment/src/locale/bm.js | 50 + .../bower_components/moment/src/locale/bn.js | 110 + .../bower_components/moment/src/locale/bo.js | 111 + .../bower_components/moment/src/locale/br.js | 100 + .../bower_components/moment/src/locale/bs.js | 143 + .../bower_components/moment/src/locale/ca.js | 80 + .../bower_components/moment/src/locale/cs.js | 164 + .../bower_components/moment/src/locale/cv.js | 54 + .../bower_components/moment/src/locale/cy.js | 73 + .../bower_components/moment/src/locale/da.js | 51 + .../moment/src/locale/de-at.js | 70 + .../moment/src/locale/de-ch.js | 69 + .../bower_components/moment/src/locale/de.js | 69 + .../bower_components/moment/src/locale/dv.js | 90 + .../bower_components/moment/src/locale/el.js | 89 + .../moment/src/locale/en-SG.js | 59 + .../moment/src/locale/en-au.js | 58 + .../moment/src/locale/en-ca.js | 54 + .../moment/src/locale/en-gb.js | 59 + .../moment/src/locale/en-ie.js | 59 + .../moment/src/locale/en-il.js | 54 + .../moment/src/locale/en-nz.js | 58 + .../bower_components/moment/src/locale/eo.js | 65 + .../moment/src/locale/es-do.js | 83 + .../moment/src/locale/es-us.js | 84 + .../bower_components/moment/src/locale/es.js | 83 + .../bower_components/moment/src/locale/et.js | 73 + .../bower_components/moment/src/locale/eu.js | 58 + .../bower_components/moment/src/locale/fa.js | 98 + .../bower_components/moment/src/locale/fi.js | 101 + .../bower_components/moment/src/locale/fo.js | 53 + .../moment/src/locale/fr-ca.js | 66 + .../moment/src/locale/fr-ch.js | 70 + .../bower_components/moment/src/locale/fr.js | 75 + .../bower_components/moment/src/locale/fy.js | 67 + .../bower_components/moment/src/locale/ga.js | 68 + .../bower_components/moment/src/locale/gd.js | 68 + .../bower_components/moment/src/locale/gl.js | 69 + .../moment/src/locale/gom-latn.js | 114 + .../bower_components/moment/src/locale/gu.js | 115 + .../bower_components/moment/src/locale/he.js | 91 + .../bower_components/moment/src/locale/hi.js | 116 + .../bower_components/moment/src/locale/hr.js | 145 + .../bower_components/moment/src/locale/hu.js | 103 + .../moment/src/locale/hy-am.js | 87 + .../bower_components/moment/src/locale/id.js | 74 + .../bower_components/moment/src/locale/is.js | 124 + .../moment/src/locale/it-ch.js | 61 + .../bower_components/moment/src/locale/it.js | 62 + .../bower_components/moment/src/locale/ja.js | 84 + .../bower_components/moment/src/locale/jv.js | 74 + .../bower_components/moment/src/locale/ka.js | 81 + .../bower_components/moment/src/locale/kk.js | 78 + .../bower_components/moment/src/locale/km.js | 101 + .../bower_components/moment/src/locale/kn.js | 117 + .../bower_components/moment/src/locale/ko.js | 74 + .../bower_components/moment/src/locale/ku.js | 110 + .../bower_components/moment/src/locale/ky.js | 79 + .../bower_components/moment/src/locale/lb.js | 129 + .../bower_components/moment/src/locale/lo.js | 62 + .../bower_components/moment/src/locale/lt.js | 110 + .../bower_components/moment/src/locale/lv.js | 90 + .../bower_components/moment/src/locale/me.js | 103 + .../bower_components/moment/src/locale/mi.js | 55 + .../bower_components/moment/src/locale/mk.js | 82 + .../bower_components/moment/src/locale/ml.js | 73 + .../bower_components/moment/src/locale/mn.js | 96 + .../bower_components/moment/src/locale/mr.js | 153 + .../moment/src/locale/ms-my.js | 75 + .../bower_components/moment/src/locale/ms.js | 74 + .../bower_components/moment/src/locale/mt.js | 51 + .../bower_components/moment/src/locale/my.js | 87 + .../bower_components/moment/src/locale/nb.js | 55 + .../bower_components/moment/src/locale/ne.js | 115 + .../moment/src/locale/nl-be.js | 80 + .../bower_components/moment/src/locale/nl.js | 80 + .../bower_components/moment/src/locale/nn.js | 52 + .../moment/src/locale/pa-in.js | 116 + .../bower_components/moment/src/locale/pl.js | 117 + .../moment/src/locale/pt-br.js | 53 + .../bower_components/moment/src/locale/pt.js | 57 + .../bower_components/moment/src/locale/ro.js | 68 + .../bower_components/moment/src/locale/ru.js | 175 + .../bower_components/moment/src/locale/sd.js | 89 + .../bower_components/moment/src/locale/se.js | 52 + .../bower_components/moment/src/locale/si.js | 62 + .../bower_components/moment/src/locale/sk.js | 149 + .../bower_components/moment/src/locale/sl.js | 164 + .../bower_components/moment/src/locale/sq.js | 62 + .../moment/src/locale/sr-cyrl.js | 102 + .../bower_components/moment/src/locale/sr.js | 102 + .../bower_components/moment/src/locale/ss.js | 81 + .../bower_components/moment/src/locale/sv.js | 61 + .../bower_components/moment/src/locale/sw.js | 51 + .../bower_components/moment/src/locale/ta.js | 121 + .../bower_components/moment/src/locale/te.js | 80 + .../bower_components/moment/src/locale/tet.js | 60 + .../bower_components/moment/src/locale/tg.js | 107 + .../bower_components/moment/src/locale/th.js | 58 + .../moment/src/locale/tl-ph.js | 54 + .../bower_components/moment/src/locale/tlh.js | 113 + .../bower_components/moment/src/locale/tr.js | 90 + .../bower_components/moment/src/locale/tzl.js | 84 + .../moment/src/locale/tzm-latn.js | 50 + .../bower_components/moment/src/locale/tzm.js | 50 + .../moment/src/locale/ug-cn.js | 110 + .../bower_components/moment/src/locale/uk.js | 146 + .../bower_components/moment/src/locale/ur.js | 90 + .../moment/src/locale/uz-latn.js | 50 + .../bower_components/moment/src/locale/uz.js | 50 + .../bower_components/moment/src/locale/vi.js | 71 + .../moment/src/locale/x-pseudo.js | 59 + .../bower_components/moment/src/locale/yo.js | 51 + .../moment/src/locale/zh-cn.js | 102 + .../moment/src/locale/zh-hk.js | 96 + .../moment/src/locale/zh-tw.js | 95 + public/bower_components/moment/src/moment.js | 95 + .../moment/templates/default.js | 5 + .../moment/templates/locale-header.js | 6 + .../moment/templates/test-header.js | 6 + public/coba.html | 60 + public/test.html | 36 + resources/.DS_Store | Bin 0 -> 6148 bytes resources/assets/.DS_Store | Bin 0 -> 6148 bytes resources/views/layouts/app.blade.php | 7 + .../mahasiswa/form_hasil_bimbingan.blade.php | 30 +- .../detail_mahasiswa_control.blade.php | 64 +- resources/views/manajer/penjadwalan.blade.php | 28 +- 580 files changed, 107193 insertions(+), 17 deletions(-) create mode 100644 public/.DS_Store create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/.bower.json create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/CONTRIBUTING.md create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/Gruntfile.js create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/LICENSE create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/README.md create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/bower.json create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker-standalone.css create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.css create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/component.json create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/composer.json create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/ChangeLog.md create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/ContributorsGuide.md create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Events.md create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Extras.md create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/FAQ.md create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Functions.md create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Installing.md create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Options.md create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Version 4 Changelog.md create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Version 4 Contributors guide.md create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/index.md create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-144x144.png create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-192x192.png create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-36x36.png create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-48x48.png create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-72x72.png create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-96x96.png create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-114x114.png create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-120x120.png create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-144x144.png create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-152x152.png create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-180x180.png create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-57x57.png create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-60x60.png create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-72x72.png create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-76x76.png create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-precomposed.png create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon.png create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/base.html create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/browserconfig.xml create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/content.html create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/css/base.css create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/css/prettify-1.0.css create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon-16x16.png create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon-32x32.png create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon-96x96.png create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon.ico create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/js/base.js create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/js/prettify-1.0.min.js create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/manifest.json create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-144x144.png create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-150x150.png create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-310x150.png create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-310x310.png create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-70x70.png create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/nav.html create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/toc.html create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/mkdocs.yml create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/package.json create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.js create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/src/less/_bootstrap-datetimepicker.less create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/src/less/bootstrap-datetimepicker-build.less create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.CSS.nuspec create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.nuspec create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/NuGet.exe create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/install.ps1 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/src/sass/_bootstrap-datetimepicker.scss create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/src/sass/bootstrap-datetimepicker-build.scss create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/tasks/bump_version.js create mode 100644 public/bower_components/jquery/.bower.json create mode 100644 public/bower_components/jquery/AUTHORS.txt create mode 100644 public/bower_components/jquery/LICENSE.txt create mode 100644 public/bower_components/jquery/README.md create mode 100644 public/bower_components/jquery/bower.json create mode 100644 public/bower_components/jquery/dist/core.js create mode 100644 public/bower_components/jquery/dist/jquery.js create mode 100644 public/bower_components/jquery/dist/jquery.min.js create mode 100644 public/bower_components/jquery/dist/jquery.min.map create mode 100644 public/bower_components/jquery/dist/jquery.slim.js create mode 100644 public/bower_components/jquery/dist/jquery.slim.min.js create mode 100644 public/bower_components/jquery/dist/jquery.slim.min.map create mode 100644 public/bower_components/jquery/external/sizzle/LICENSE.txt create mode 100644 public/bower_components/jquery/external/sizzle/dist/sizzle.js create mode 100644 public/bower_components/jquery/external/sizzle/dist/sizzle.min.js create mode 100644 public/bower_components/jquery/external/sizzle/dist/sizzle.min.map create mode 100644 public/bower_components/jquery/src/.eslintrc.json create mode 100644 public/bower_components/jquery/src/ajax.js create mode 100644 public/bower_components/jquery/src/ajax/jsonp.js create mode 100644 public/bower_components/jquery/src/ajax/load.js create mode 100644 public/bower_components/jquery/src/ajax/parseXML.js create mode 100644 public/bower_components/jquery/src/ajax/script.js create mode 100644 public/bower_components/jquery/src/ajax/var/location.js create mode 100644 public/bower_components/jquery/src/ajax/var/nonce.js create mode 100644 public/bower_components/jquery/src/ajax/var/rquery.js create mode 100644 public/bower_components/jquery/src/ajax/xhr.js create mode 100644 public/bower_components/jquery/src/attributes.js create mode 100644 public/bower_components/jquery/src/attributes/attr.js create mode 100644 public/bower_components/jquery/src/attributes/classes.js create mode 100644 public/bower_components/jquery/src/attributes/prop.js create mode 100644 public/bower_components/jquery/src/attributes/support.js create mode 100644 public/bower_components/jquery/src/attributes/val.js create mode 100644 public/bower_components/jquery/src/callbacks.js create mode 100644 public/bower_components/jquery/src/core.js create mode 100644 public/bower_components/jquery/src/core/DOMEval.js create mode 100644 public/bower_components/jquery/src/core/access.js create mode 100644 public/bower_components/jquery/src/core/camelCase.js create mode 100644 public/bower_components/jquery/src/core/init.js create mode 100644 public/bower_components/jquery/src/core/nodeName.js create mode 100644 public/bower_components/jquery/src/core/parseHTML.js create mode 100644 public/bower_components/jquery/src/core/ready-no-deferred.js create mode 100644 public/bower_components/jquery/src/core/ready.js create mode 100644 public/bower_components/jquery/src/core/readyException.js create mode 100644 public/bower_components/jquery/src/core/stripAndCollapse.js create mode 100644 public/bower_components/jquery/src/core/support.js create mode 100644 public/bower_components/jquery/src/core/toType.js create mode 100644 public/bower_components/jquery/src/core/var/rsingleTag.js create mode 100644 public/bower_components/jquery/src/css.js create mode 100644 public/bower_components/jquery/src/css/addGetHookIf.js create mode 100644 public/bower_components/jquery/src/css/adjustCSS.js create mode 100644 public/bower_components/jquery/src/css/curCSS.js create mode 100644 public/bower_components/jquery/src/css/hiddenVisibleSelectors.js create mode 100644 public/bower_components/jquery/src/css/showHide.js create mode 100644 public/bower_components/jquery/src/css/support.js create mode 100644 public/bower_components/jquery/src/css/var/cssExpand.js create mode 100644 public/bower_components/jquery/src/css/var/getStyles.js create mode 100644 public/bower_components/jquery/src/css/var/isHiddenWithinTree.js create mode 100644 public/bower_components/jquery/src/css/var/rboxStyle.js create mode 100644 public/bower_components/jquery/src/css/var/rnumnonpx.js create mode 100644 public/bower_components/jquery/src/css/var/swap.js create mode 100644 public/bower_components/jquery/src/data.js create mode 100644 public/bower_components/jquery/src/data/Data.js create mode 100644 public/bower_components/jquery/src/data/var/acceptData.js create mode 100644 public/bower_components/jquery/src/data/var/dataPriv.js create mode 100644 public/bower_components/jquery/src/data/var/dataUser.js create mode 100644 public/bower_components/jquery/src/deferred.js create mode 100644 public/bower_components/jquery/src/deferred/exceptionHook.js create mode 100644 public/bower_components/jquery/src/deprecated.js create mode 100644 public/bower_components/jquery/src/dimensions.js create mode 100644 public/bower_components/jquery/src/effects.js create mode 100644 public/bower_components/jquery/src/effects/Tween.js create mode 100644 public/bower_components/jquery/src/effects/animatedSelector.js create mode 100644 public/bower_components/jquery/src/event.js create mode 100644 public/bower_components/jquery/src/event/ajax.js create mode 100644 public/bower_components/jquery/src/event/alias.js create mode 100644 public/bower_components/jquery/src/event/focusin.js create mode 100644 public/bower_components/jquery/src/event/support.js create mode 100644 public/bower_components/jquery/src/event/trigger.js create mode 100644 public/bower_components/jquery/src/exports/amd.js create mode 100644 public/bower_components/jquery/src/exports/global.js create mode 100644 public/bower_components/jquery/src/jquery.js create mode 100644 public/bower_components/jquery/src/manipulation.js create mode 100644 public/bower_components/jquery/src/manipulation/_evalUrl.js create mode 100644 public/bower_components/jquery/src/manipulation/buildFragment.js create mode 100644 public/bower_components/jquery/src/manipulation/getAll.js create mode 100644 public/bower_components/jquery/src/manipulation/setGlobalEval.js create mode 100644 public/bower_components/jquery/src/manipulation/support.js create mode 100644 public/bower_components/jquery/src/manipulation/var/rcheckableType.js create mode 100644 public/bower_components/jquery/src/manipulation/var/rscriptType.js create mode 100644 public/bower_components/jquery/src/manipulation/var/rtagName.js create mode 100644 public/bower_components/jquery/src/manipulation/wrapMap.js create mode 100644 public/bower_components/jquery/src/offset.js create mode 100644 public/bower_components/jquery/src/queue.js create mode 100644 public/bower_components/jquery/src/queue/delay.js create mode 100644 public/bower_components/jquery/src/selector-native.js create mode 100644 public/bower_components/jquery/src/selector-sizzle.js create mode 100644 public/bower_components/jquery/src/selector.js create mode 100644 public/bower_components/jquery/src/serialize.js create mode 100644 public/bower_components/jquery/src/traversing.js create mode 100644 public/bower_components/jquery/src/traversing/findFilter.js create mode 100644 public/bower_components/jquery/src/traversing/var/dir.js create mode 100644 public/bower_components/jquery/src/traversing/var/rneedsContext.js create mode 100644 public/bower_components/jquery/src/traversing/var/siblings.js create mode 100644 public/bower_components/jquery/src/var/ObjectFunctionString.js create mode 100644 public/bower_components/jquery/src/var/arr.js create mode 100644 public/bower_components/jquery/src/var/class2type.js create mode 100644 public/bower_components/jquery/src/var/concat.js create mode 100644 public/bower_components/jquery/src/var/document.js create mode 100644 public/bower_components/jquery/src/var/documentElement.js create mode 100644 public/bower_components/jquery/src/var/fnToString.js create mode 100644 public/bower_components/jquery/src/var/getProto.js create mode 100644 public/bower_components/jquery/src/var/hasOwn.js create mode 100644 public/bower_components/jquery/src/var/indexOf.js create mode 100644 public/bower_components/jquery/src/var/isFunction.js create mode 100644 public/bower_components/jquery/src/var/isWindow.js create mode 100644 public/bower_components/jquery/src/var/pnum.js create mode 100644 public/bower_components/jquery/src/var/push.js create mode 100644 public/bower_components/jquery/src/var/rcssNum.js create mode 100644 public/bower_components/jquery/src/var/rnothtmlwhite.js create mode 100644 public/bower_components/jquery/src/var/slice.js create mode 100644 public/bower_components/jquery/src/var/support.js create mode 100644 public/bower_components/jquery/src/var/toString.js create mode 100644 public/bower_components/jquery/src/wrap.js create mode 100644 public/bower_components/moment/.bower.json create mode 100644 public/bower_components/moment/CHANGELOG.md create mode 100644 public/bower_components/moment/LICENSE create mode 100644 public/bower_components/moment/README.md create mode 100644 public/bower_components/moment/bower.json create mode 100644 public/bower_components/moment/locale/af.js create mode 100644 public/bower_components/moment/locale/ar-dz.js create mode 100644 public/bower_components/moment/locale/ar-kw.js create mode 100644 public/bower_components/moment/locale/ar-ly.js create mode 100644 public/bower_components/moment/locale/ar-ma.js create mode 100644 public/bower_components/moment/locale/ar-sa.js create mode 100644 public/bower_components/moment/locale/ar-tn.js create mode 100644 public/bower_components/moment/locale/ar.js create mode 100644 public/bower_components/moment/locale/az.js create mode 100644 public/bower_components/moment/locale/be.js create mode 100644 public/bower_components/moment/locale/bg.js create mode 100644 public/bower_components/moment/locale/bm.js create mode 100644 public/bower_components/moment/locale/bn.js create mode 100644 public/bower_components/moment/locale/bo.js create mode 100644 public/bower_components/moment/locale/br.js create mode 100644 public/bower_components/moment/locale/bs.js create mode 100644 public/bower_components/moment/locale/ca.js create mode 100644 public/bower_components/moment/locale/cs.js create mode 100644 public/bower_components/moment/locale/cv.js create mode 100644 public/bower_components/moment/locale/cy.js create mode 100644 public/bower_components/moment/locale/da.js create mode 100644 public/bower_components/moment/locale/de-at.js create mode 100644 public/bower_components/moment/locale/de-ch.js create mode 100644 public/bower_components/moment/locale/de.js create mode 100644 public/bower_components/moment/locale/dv.js create mode 100644 public/bower_components/moment/locale/el.js create mode 100644 public/bower_components/moment/locale/en-SG.js create mode 100644 public/bower_components/moment/locale/en-au.js create mode 100644 public/bower_components/moment/locale/en-ca.js create mode 100644 public/bower_components/moment/locale/en-gb.js create mode 100644 public/bower_components/moment/locale/en-ie.js create mode 100644 public/bower_components/moment/locale/en-il.js create mode 100644 public/bower_components/moment/locale/en-nz.js create mode 100644 public/bower_components/moment/locale/eo.js create mode 100644 public/bower_components/moment/locale/es-do.js create mode 100644 public/bower_components/moment/locale/es-us.js create mode 100644 public/bower_components/moment/locale/es.js create mode 100644 public/bower_components/moment/locale/et.js create mode 100644 public/bower_components/moment/locale/eu.js create mode 100644 public/bower_components/moment/locale/fa.js create mode 100644 public/bower_components/moment/locale/fi.js create mode 100644 public/bower_components/moment/locale/fo.js create mode 100644 public/bower_components/moment/locale/fr-ca.js create mode 100644 public/bower_components/moment/locale/fr-ch.js create mode 100644 public/bower_components/moment/locale/fr.js create mode 100644 public/bower_components/moment/locale/fy.js create mode 100644 public/bower_components/moment/locale/ga.js create mode 100644 public/bower_components/moment/locale/gd.js create mode 100644 public/bower_components/moment/locale/gl.js create mode 100644 public/bower_components/moment/locale/gom-latn.js create mode 100644 public/bower_components/moment/locale/gu.js create mode 100644 public/bower_components/moment/locale/he.js create mode 100644 public/bower_components/moment/locale/hi.js create mode 100644 public/bower_components/moment/locale/hr.js create mode 100644 public/bower_components/moment/locale/hu.js create mode 100644 public/bower_components/moment/locale/hy-am.js create mode 100644 public/bower_components/moment/locale/id.js create mode 100644 public/bower_components/moment/locale/is.js create mode 100644 public/bower_components/moment/locale/it-ch.js create mode 100644 public/bower_components/moment/locale/it.js create mode 100644 public/bower_components/moment/locale/ja.js create mode 100644 public/bower_components/moment/locale/jv.js create mode 100644 public/bower_components/moment/locale/ka.js create mode 100644 public/bower_components/moment/locale/kk.js create mode 100644 public/bower_components/moment/locale/km.js create mode 100644 public/bower_components/moment/locale/kn.js create mode 100644 public/bower_components/moment/locale/ko.js create mode 100644 public/bower_components/moment/locale/ku.js create mode 100644 public/bower_components/moment/locale/ky.js create mode 100644 public/bower_components/moment/locale/lb.js create mode 100644 public/bower_components/moment/locale/lo.js create mode 100644 public/bower_components/moment/locale/lt.js create mode 100644 public/bower_components/moment/locale/lv.js create mode 100644 public/bower_components/moment/locale/me.js create mode 100644 public/bower_components/moment/locale/mi.js create mode 100644 public/bower_components/moment/locale/mk.js create mode 100644 public/bower_components/moment/locale/ml.js create mode 100644 public/bower_components/moment/locale/mn.js create mode 100644 public/bower_components/moment/locale/mr.js create mode 100644 public/bower_components/moment/locale/ms-my.js create mode 100644 public/bower_components/moment/locale/ms.js create mode 100644 public/bower_components/moment/locale/mt.js create mode 100644 public/bower_components/moment/locale/my.js create mode 100644 public/bower_components/moment/locale/nb.js create mode 100644 public/bower_components/moment/locale/ne.js create mode 100644 public/bower_components/moment/locale/nl-be.js create mode 100644 public/bower_components/moment/locale/nl.js create mode 100644 public/bower_components/moment/locale/nn.js create mode 100644 public/bower_components/moment/locale/pa-in.js create mode 100644 public/bower_components/moment/locale/pl.js create mode 100644 public/bower_components/moment/locale/pt-br.js create mode 100644 public/bower_components/moment/locale/pt.js create mode 100644 public/bower_components/moment/locale/ro.js create mode 100644 public/bower_components/moment/locale/ru.js create mode 100644 public/bower_components/moment/locale/sd.js create mode 100644 public/bower_components/moment/locale/se.js create mode 100644 public/bower_components/moment/locale/si.js create mode 100644 public/bower_components/moment/locale/sk.js create mode 100644 public/bower_components/moment/locale/sl.js create mode 100644 public/bower_components/moment/locale/sq.js create mode 100644 public/bower_components/moment/locale/sr-cyrl.js create mode 100644 public/bower_components/moment/locale/sr.js create mode 100644 public/bower_components/moment/locale/ss.js create mode 100644 public/bower_components/moment/locale/sv.js create mode 100644 public/bower_components/moment/locale/sw.js create mode 100644 public/bower_components/moment/locale/ta.js create mode 100644 public/bower_components/moment/locale/te.js create mode 100644 public/bower_components/moment/locale/tet.js create mode 100644 public/bower_components/moment/locale/tg.js create mode 100644 public/bower_components/moment/locale/th.js create mode 100644 public/bower_components/moment/locale/tl-ph.js create mode 100644 public/bower_components/moment/locale/tlh.js create mode 100644 public/bower_components/moment/locale/tr.js create mode 100644 public/bower_components/moment/locale/tzl.js create mode 100644 public/bower_components/moment/locale/tzm-latn.js create mode 100644 public/bower_components/moment/locale/tzm.js create mode 100644 public/bower_components/moment/locale/ug-cn.js create mode 100644 public/bower_components/moment/locale/uk.js create mode 100644 public/bower_components/moment/locale/ur.js create mode 100644 public/bower_components/moment/locale/uz-latn.js create mode 100644 public/bower_components/moment/locale/uz.js create mode 100644 public/bower_components/moment/locale/vi.js create mode 100644 public/bower_components/moment/locale/x-pseudo.js create mode 100644 public/bower_components/moment/locale/yo.js create mode 100644 public/bower_components/moment/locale/zh-cn.js create mode 100644 public/bower_components/moment/locale/zh-hk.js create mode 100644 public/bower_components/moment/locale/zh-tw.js create mode 100644 public/bower_components/moment/min/locales.js create mode 100644 public/bower_components/moment/min/locales.min.js create mode 100644 public/bower_components/moment/min/moment-with-locales.js create mode 100644 public/bower_components/moment/min/moment-with-locales.min.js create mode 100644 public/bower_components/moment/min/moment.min.js create mode 100644 public/bower_components/moment/moment.d.ts create mode 100644 public/bower_components/moment/moment.js create mode 100644 public/bower_components/moment/package-lock.json create mode 100644 public/bower_components/moment/src/lib/create/check-overflow.js create mode 100644 public/bower_components/moment/src/lib/create/date-from-array.js create mode 100644 public/bower_components/moment/src/lib/create/from-anything.js create mode 100644 public/bower_components/moment/src/lib/create/from-array.js create mode 100644 public/bower_components/moment/src/lib/create/from-object.js create mode 100644 public/bower_components/moment/src/lib/create/from-string-and-array.js create mode 100644 public/bower_components/moment/src/lib/create/from-string-and-format.js create mode 100644 public/bower_components/moment/src/lib/create/from-string.js create mode 100644 public/bower_components/moment/src/lib/create/local.js create mode 100644 public/bower_components/moment/src/lib/create/parsing-flags.js create mode 100644 public/bower_components/moment/src/lib/create/utc.js create mode 100644 public/bower_components/moment/src/lib/create/valid.js create mode 100644 public/bower_components/moment/src/lib/duration/abs.js create mode 100644 public/bower_components/moment/src/lib/duration/add-subtract.js create mode 100644 public/bower_components/moment/src/lib/duration/as.js create mode 100644 public/bower_components/moment/src/lib/duration/bubble.js create mode 100644 public/bower_components/moment/src/lib/duration/clone.js create mode 100644 public/bower_components/moment/src/lib/duration/constructor.js create mode 100644 public/bower_components/moment/src/lib/duration/create.js create mode 100644 public/bower_components/moment/src/lib/duration/duration.js create mode 100644 public/bower_components/moment/src/lib/duration/get.js create mode 100644 public/bower_components/moment/src/lib/duration/humanize.js create mode 100644 public/bower_components/moment/src/lib/duration/iso-string.js create mode 100644 public/bower_components/moment/src/lib/duration/prototype.js create mode 100644 public/bower_components/moment/src/lib/duration/valid.js create mode 100644 public/bower_components/moment/src/lib/format/format.js create mode 100644 public/bower_components/moment/src/lib/locale/base-config.js create mode 100644 public/bower_components/moment/src/lib/locale/calendar.js create mode 100644 public/bower_components/moment/src/lib/locale/constructor.js create mode 100644 public/bower_components/moment/src/lib/locale/en.js create mode 100644 public/bower_components/moment/src/lib/locale/formats.js create mode 100644 public/bower_components/moment/src/lib/locale/invalid.js create mode 100644 public/bower_components/moment/src/lib/locale/lists.js create mode 100644 public/bower_components/moment/src/lib/locale/locale.js create mode 100644 public/bower_components/moment/src/lib/locale/locales.js create mode 100644 public/bower_components/moment/src/lib/locale/ordinal.js create mode 100644 public/bower_components/moment/src/lib/locale/pre-post-format.js create mode 100644 public/bower_components/moment/src/lib/locale/prototype.js create mode 100644 public/bower_components/moment/src/lib/locale/relative.js create mode 100644 public/bower_components/moment/src/lib/locale/set.js create mode 100644 public/bower_components/moment/src/lib/moment/add-subtract.js create mode 100644 public/bower_components/moment/src/lib/moment/calendar.js create mode 100644 public/bower_components/moment/src/lib/moment/clone.js create mode 100644 public/bower_components/moment/src/lib/moment/compare.js create mode 100644 public/bower_components/moment/src/lib/moment/constructor.js create mode 100644 public/bower_components/moment/src/lib/moment/creation-data.js create mode 100644 public/bower_components/moment/src/lib/moment/diff.js create mode 100644 public/bower_components/moment/src/lib/moment/format.js create mode 100644 public/bower_components/moment/src/lib/moment/from.js create mode 100644 public/bower_components/moment/src/lib/moment/get-set.js create mode 100644 public/bower_components/moment/src/lib/moment/locale.js create mode 100644 public/bower_components/moment/src/lib/moment/min-max.js create mode 100644 public/bower_components/moment/src/lib/moment/moment.js create mode 100644 public/bower_components/moment/src/lib/moment/now.js create mode 100644 public/bower_components/moment/src/lib/moment/prototype.js create mode 100644 public/bower_components/moment/src/lib/moment/start-end-of.js create mode 100644 public/bower_components/moment/src/lib/moment/to-type.js create mode 100644 public/bower_components/moment/src/lib/moment/to.js create mode 100644 public/bower_components/moment/src/lib/moment/valid.js create mode 100644 public/bower_components/moment/src/lib/parse/regex.js create mode 100644 public/bower_components/moment/src/lib/parse/token.js create mode 100644 public/bower_components/moment/src/lib/units/aliases.js create mode 100644 public/bower_components/moment/src/lib/units/constants.js create mode 100644 public/bower_components/moment/src/lib/units/day-of-month.js create mode 100644 public/bower_components/moment/src/lib/units/day-of-week.js create mode 100644 public/bower_components/moment/src/lib/units/day-of-year.js create mode 100644 public/bower_components/moment/src/lib/units/hour.js create mode 100644 public/bower_components/moment/src/lib/units/millisecond.js create mode 100644 public/bower_components/moment/src/lib/units/minute.js create mode 100644 public/bower_components/moment/src/lib/units/month.js create mode 100644 public/bower_components/moment/src/lib/units/offset.js create mode 100644 public/bower_components/moment/src/lib/units/priorities.js create mode 100644 public/bower_components/moment/src/lib/units/quarter.js create mode 100644 public/bower_components/moment/src/lib/units/second.js create mode 100644 public/bower_components/moment/src/lib/units/timestamp.js create mode 100644 public/bower_components/moment/src/lib/units/timezone.js create mode 100644 public/bower_components/moment/src/lib/units/units.js create mode 100644 public/bower_components/moment/src/lib/units/week-calendar-utils.js create mode 100644 public/bower_components/moment/src/lib/units/week-year.js create mode 100644 public/bower_components/moment/src/lib/units/week.js create mode 100644 public/bower_components/moment/src/lib/units/year.js create mode 100644 public/bower_components/moment/src/lib/utils/abs-ceil.js create mode 100644 public/bower_components/moment/src/lib/utils/abs-floor.js create mode 100644 public/bower_components/moment/src/lib/utils/abs-round.js create mode 100644 public/bower_components/moment/src/lib/utils/compare-arrays.js create mode 100644 public/bower_components/moment/src/lib/utils/defaults.js create mode 100644 public/bower_components/moment/src/lib/utils/deprecate.js create mode 100644 public/bower_components/moment/src/lib/utils/extend.js create mode 100644 public/bower_components/moment/src/lib/utils/has-own-prop.js create mode 100644 public/bower_components/moment/src/lib/utils/hooks.js create mode 100644 public/bower_components/moment/src/lib/utils/index-of.js create mode 100644 public/bower_components/moment/src/lib/utils/is-array.js create mode 100644 public/bower_components/moment/src/lib/utils/is-date.js create mode 100644 public/bower_components/moment/src/lib/utils/is-function.js create mode 100644 public/bower_components/moment/src/lib/utils/is-number.js create mode 100644 public/bower_components/moment/src/lib/utils/is-object-empty.js create mode 100644 public/bower_components/moment/src/lib/utils/is-object.js create mode 100644 public/bower_components/moment/src/lib/utils/is-undefined.js create mode 100644 public/bower_components/moment/src/lib/utils/keys.js create mode 100644 public/bower_components/moment/src/lib/utils/map.js create mode 100644 public/bower_components/moment/src/lib/utils/mod.js create mode 100644 public/bower_components/moment/src/lib/utils/some.js create mode 100644 public/bower_components/moment/src/lib/utils/to-int.js create mode 100644 public/bower_components/moment/src/lib/utils/zero-fill.js create mode 100644 public/bower_components/moment/src/locale/af.js create mode 100644 public/bower_components/moment/src/locale/ar-dz.js create mode 100644 public/bower_components/moment/src/locale/ar-kw.js create mode 100644 public/bower_components/moment/src/locale/ar-ly.js create mode 100644 public/bower_components/moment/src/locale/ar-ma.js create mode 100644 public/bower_components/moment/src/locale/ar-sa.js create mode 100644 public/bower_components/moment/src/locale/ar-tn.js create mode 100644 public/bower_components/moment/src/locale/ar.js create mode 100644 public/bower_components/moment/src/locale/az.js create mode 100644 public/bower_components/moment/src/locale/be.js create mode 100644 public/bower_components/moment/src/locale/bg.js create mode 100644 public/bower_components/moment/src/locale/bm.js create mode 100644 public/bower_components/moment/src/locale/bn.js create mode 100644 public/bower_components/moment/src/locale/bo.js create mode 100644 public/bower_components/moment/src/locale/br.js create mode 100644 public/bower_components/moment/src/locale/bs.js create mode 100644 public/bower_components/moment/src/locale/ca.js create mode 100644 public/bower_components/moment/src/locale/cs.js create mode 100644 public/bower_components/moment/src/locale/cv.js create mode 100644 public/bower_components/moment/src/locale/cy.js create mode 100644 public/bower_components/moment/src/locale/da.js create mode 100644 public/bower_components/moment/src/locale/de-at.js create mode 100644 public/bower_components/moment/src/locale/de-ch.js create mode 100644 public/bower_components/moment/src/locale/de.js create mode 100644 public/bower_components/moment/src/locale/dv.js create mode 100644 public/bower_components/moment/src/locale/el.js create mode 100644 public/bower_components/moment/src/locale/en-SG.js create mode 100644 public/bower_components/moment/src/locale/en-au.js create mode 100644 public/bower_components/moment/src/locale/en-ca.js create mode 100644 public/bower_components/moment/src/locale/en-gb.js create mode 100644 public/bower_components/moment/src/locale/en-ie.js create mode 100644 public/bower_components/moment/src/locale/en-il.js create mode 100644 public/bower_components/moment/src/locale/en-nz.js create mode 100644 public/bower_components/moment/src/locale/eo.js create mode 100644 public/bower_components/moment/src/locale/es-do.js create mode 100644 public/bower_components/moment/src/locale/es-us.js create mode 100644 public/bower_components/moment/src/locale/es.js create mode 100644 public/bower_components/moment/src/locale/et.js create mode 100644 public/bower_components/moment/src/locale/eu.js create mode 100644 public/bower_components/moment/src/locale/fa.js create mode 100644 public/bower_components/moment/src/locale/fi.js create mode 100644 public/bower_components/moment/src/locale/fo.js create mode 100644 public/bower_components/moment/src/locale/fr-ca.js create mode 100644 public/bower_components/moment/src/locale/fr-ch.js create mode 100644 public/bower_components/moment/src/locale/fr.js create mode 100644 public/bower_components/moment/src/locale/fy.js create mode 100644 public/bower_components/moment/src/locale/ga.js create mode 100644 public/bower_components/moment/src/locale/gd.js create mode 100644 public/bower_components/moment/src/locale/gl.js create mode 100644 public/bower_components/moment/src/locale/gom-latn.js create mode 100644 public/bower_components/moment/src/locale/gu.js create mode 100644 public/bower_components/moment/src/locale/he.js create mode 100644 public/bower_components/moment/src/locale/hi.js create mode 100644 public/bower_components/moment/src/locale/hr.js create mode 100644 public/bower_components/moment/src/locale/hu.js create mode 100644 public/bower_components/moment/src/locale/hy-am.js create mode 100644 public/bower_components/moment/src/locale/id.js create mode 100644 public/bower_components/moment/src/locale/is.js create mode 100644 public/bower_components/moment/src/locale/it-ch.js create mode 100644 public/bower_components/moment/src/locale/it.js create mode 100644 public/bower_components/moment/src/locale/ja.js create mode 100644 public/bower_components/moment/src/locale/jv.js create mode 100644 public/bower_components/moment/src/locale/ka.js create mode 100644 public/bower_components/moment/src/locale/kk.js create mode 100644 public/bower_components/moment/src/locale/km.js create mode 100644 public/bower_components/moment/src/locale/kn.js create mode 100644 public/bower_components/moment/src/locale/ko.js create mode 100644 public/bower_components/moment/src/locale/ku.js create mode 100644 public/bower_components/moment/src/locale/ky.js create mode 100644 public/bower_components/moment/src/locale/lb.js create mode 100644 public/bower_components/moment/src/locale/lo.js create mode 100644 public/bower_components/moment/src/locale/lt.js create mode 100644 public/bower_components/moment/src/locale/lv.js create mode 100644 public/bower_components/moment/src/locale/me.js create mode 100644 public/bower_components/moment/src/locale/mi.js create mode 100644 public/bower_components/moment/src/locale/mk.js create mode 100644 public/bower_components/moment/src/locale/ml.js create mode 100644 public/bower_components/moment/src/locale/mn.js create mode 100644 public/bower_components/moment/src/locale/mr.js create mode 100644 public/bower_components/moment/src/locale/ms-my.js create mode 100644 public/bower_components/moment/src/locale/ms.js create mode 100644 public/bower_components/moment/src/locale/mt.js create mode 100644 public/bower_components/moment/src/locale/my.js create mode 100644 public/bower_components/moment/src/locale/nb.js create mode 100644 public/bower_components/moment/src/locale/ne.js create mode 100644 public/bower_components/moment/src/locale/nl-be.js create mode 100644 public/bower_components/moment/src/locale/nl.js create mode 100644 public/bower_components/moment/src/locale/nn.js create mode 100644 public/bower_components/moment/src/locale/pa-in.js create mode 100644 public/bower_components/moment/src/locale/pl.js create mode 100644 public/bower_components/moment/src/locale/pt-br.js create mode 100644 public/bower_components/moment/src/locale/pt.js create mode 100644 public/bower_components/moment/src/locale/ro.js create mode 100644 public/bower_components/moment/src/locale/ru.js create mode 100644 public/bower_components/moment/src/locale/sd.js create mode 100644 public/bower_components/moment/src/locale/se.js create mode 100644 public/bower_components/moment/src/locale/si.js create mode 100644 public/bower_components/moment/src/locale/sk.js create mode 100644 public/bower_components/moment/src/locale/sl.js create mode 100644 public/bower_components/moment/src/locale/sq.js create mode 100644 public/bower_components/moment/src/locale/sr-cyrl.js create mode 100644 public/bower_components/moment/src/locale/sr.js create mode 100644 public/bower_components/moment/src/locale/ss.js create mode 100644 public/bower_components/moment/src/locale/sv.js create mode 100644 public/bower_components/moment/src/locale/sw.js create mode 100644 public/bower_components/moment/src/locale/ta.js create mode 100644 public/bower_components/moment/src/locale/te.js create mode 100644 public/bower_components/moment/src/locale/tet.js create mode 100644 public/bower_components/moment/src/locale/tg.js create mode 100644 public/bower_components/moment/src/locale/th.js create mode 100644 public/bower_components/moment/src/locale/tl-ph.js create mode 100644 public/bower_components/moment/src/locale/tlh.js create mode 100644 public/bower_components/moment/src/locale/tr.js create mode 100644 public/bower_components/moment/src/locale/tzl.js create mode 100644 public/bower_components/moment/src/locale/tzm-latn.js create mode 100644 public/bower_components/moment/src/locale/tzm.js create mode 100644 public/bower_components/moment/src/locale/ug-cn.js create mode 100644 public/bower_components/moment/src/locale/uk.js create mode 100644 public/bower_components/moment/src/locale/ur.js create mode 100644 public/bower_components/moment/src/locale/uz-latn.js create mode 100644 public/bower_components/moment/src/locale/uz.js create mode 100644 public/bower_components/moment/src/locale/vi.js create mode 100644 public/bower_components/moment/src/locale/x-pseudo.js create mode 100644 public/bower_components/moment/src/locale/yo.js create mode 100644 public/bower_components/moment/src/locale/zh-cn.js create mode 100644 public/bower_components/moment/src/locale/zh-hk.js create mode 100644 public/bower_components/moment/src/locale/zh-tw.js create mode 100644 public/bower_components/moment/src/moment.js create mode 100644 public/bower_components/moment/templates/default.js create mode 100644 public/bower_components/moment/templates/locale-header.js create mode 100644 public/bower_components/moment/templates/test-header.js create mode 100644 public/coba.html create mode 100644 public/test.html create mode 100644 resources/.DS_Store create mode 100644 resources/assets/.DS_Store diff --git a/.DS_Store b/.DS_Store index 57c348d0394879f4a813730734349a8fe9ac02ef..dbdfca4fdd359b002f09efd0f7416f49a88abcb5 100644 GIT binary patch delta 65 zcmZoMXfc@JFU-uqz`)4BAiz+Rmy@5D4&rSVWM0WA4w7JINMtBrC@2d?lH_4}%DS1I H<1aq|xlRtE delta 50 zcmZoMXfc@JFUrKgz`)4BAi%(o$&j8@UR;orlb^KNka;=dWCIbF&8kd~SSL1!ZD!~A G%MSoHYYn>q diff --git a/app/Http/Controllers/SeminarTopikController.php b/app/Http/Controllers/SeminarTopikController.php index 5486069..68f01ea 100644 --- a/app/Http/Controllers/SeminarTopikController.php +++ b/app/Http/Controllers/SeminarTopikController.php @@ -12,8 +12,10 @@ class SeminarTopikController extends Controller $manajer= Auth::user()->isManajer(); $mhs_id = $request->get('mahasiswa'); $mahasiswa = Mahasiswa::find($mhs_id); + echo($request->get("date")); if($manajer) { if($mahasiswa) { + SeminarTopik::create( [ "mahasiswa_id" => $mhs_id, diff --git a/public/.DS_Store b/public/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..093140466b49e9b7c2781d7974ea72c5d36414c7 GIT binary patch literal 6148 zcmeHK%}T>S5Z<*_w-qr5p&s|*t%ugX>Oly#9=r(=J*c#aEjAF7(xe8Bl{|*Nk#FGZ zIJ3JIi#>P}u`{sy&FswVW<JRNFvfUu)U7jSF~$TmM2^Y~!Qq*%1rv<OagKQ41(65V zn>R4NzYh5A1$M(?7JKQ}?+^Sqsny>3LZP_0v@Aqflvm5wPCrVW#7#zV(;Z%-b?PR4 z&**1S6nyHgckcJnwzYl~g^BBjy`f6>yFCcGy70qpls2PL*p1aZj&=x95~a3P$+E5e zs;uuGjH@zhG-_43v%NPSmqcZ=et6Qkdw9&A#?LRBUJmRlSu;3+S5QoK_s%d3qVN_* zCef29LSldzAO?tm`C`DF17c;q%BE_G0b<|>4B-ACp&{A^bB${2fDW(E=r1CofR1ko zL}}1Am}>+N2-m5AI+dFz2G{8@E=`<mFxRNl8CNUAJZ9y|<Atl$VO*+k#%+z%69dG+ zGy?@~T6q2+!!I-Qkw2Y67BN5!{4)l4vE{UyP?R}azm<n)t%TNrhJtZ9Dj=XwT>`+s hePly9wO^tRakjx+BhG^3Djkq60*Vmoh=E^V-~+C2PpJR^ literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/.bower.json b/public/bower_components/eonasdan-bootstrap-datetimepicker/.bower.json new file mode 100644 index 0000000..ed25584 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/.bower.json @@ -0,0 +1,44 @@ +{ + "name": "eonasdan-bootstrap-datetimepicker", + "version": "4.17.47", + "main": [ + "build/css/bootstrap-datetimepicker.min.css", + "build/js/bootstrap-datetimepicker.min.js" + ], + "dependencies": { + "jquery": ">=1.8.3", + "moment": ">=2.10.5" + }, + "homepage": "https://github.com/Eonasdan/bootstrap-datetimepicker", + "authors": [ + "Eonasdan" + ], + "description": "bootstrap3 datetimepicker", + "keywords": [ + "twitter-bootstrap", + "bootstrap", + "datepicker", + "datetimepicker", + "timepicker", + "moment" + ], + "license": "MIT", + "private": false, + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "test", + "tests" + ], + "_release": "4.17.47", + "_resolution": { + "type": "version", + "tag": "4.17.47", + "commit": "25c11d79e614bc6463a87c3dd9cbf8280422e006" + }, + "_source": "https://github.com/Eonasdan/bootstrap-datetimepicker.git", + "_target": "^4.17.47", + "_originalSource": "eonasdan-bootstrap-datetimepicker", + "_direct": true +} \ No newline at end of file diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/CONTRIBUTING.md b/public/bower_components/eonasdan-bootstrap-datetimepicker/CONTRIBUTING.md new file mode 100644 index 0000000..9c4db38 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/CONTRIBUTING.md @@ -0,0 +1,38 @@ +Submitting Issues +================= + +If you are submitting a bug, please test and/or fork [this jsfiddle](http://jsfiddle.net/Eonasdan/0Ltv25o8/) demonstrating the issue. Code issues and fringe case bugs that do not include a jsfiddle (or similar) will be closed. + +Issues that are submitted without a description (title only) will be closed with no further explanation. + +Contributing code +================= + +To contribute, fork the library and install grunt and dependencies. You need [node](http://nodejs.org/); use [nvm](https://github.com/creationix/nvm) or [nenv](https://github.com/ryuone/nenv) to install it. + +```bash +git clone https://github.com/Eonasdan/bootstrap-datetimepicker.git +cd bootstrap-datetimepicker +npm install -g grunt-cli +npm install +git checkout development # all patches against development branch, please! +grunt # this runs tests and jshint +``` + +Very important notes +==================== + + * **Pull requests to the `master` branch will be closed.** Please submit all pull requests to the `development` branch. + * **Do not include the minified files in your pull request.** Don't worry, we'll build them when we cut a release. + * Pull requests that do not include a description (title only) and the following will be closed: + * What the change does + * A use case (for new features or enhancements) + +Grunt tasks +=========== + +We use Grunt for managing the build. Here are some useful Grunt tasks: + + * `grunt` The default task lints the code and runs the tests. You should make sure you do this before submitting a PR. + * `grunt build` Compiles the less stylesheet and minifies the javascript source in build directory. + * `grunt build:travis` Compliles and runs the jasmine/travis tests. **All PR's MUST pass tests in place** \ No newline at end of file diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/Gruntfile.js b/public/bower_components/eonasdan-bootstrap-datetimepicker/Gruntfile.js new file mode 100644 index 0000000..a9f06c6 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/Gruntfile.js @@ -0,0 +1,195 @@ +module.exports = function (grunt) { + 'use strict'; + grunt.initConfig({ + pkg: grunt.file.readJSON('package.json'), + uglify: { + target: { + files: { + 'build/js/bootstrap-datetimepicker.min.js': 'src/js/bootstrap-datetimepicker.js' + } + }, + options: { + mangle: true, + compress: { + dead_code: false // jshint ignore:line + }, + output: { + ascii_only: true // jshint ignore:line + }, + report: 'min', + preserveComments: 'some' + } + }, + jshint: { + all: [ + 'Gruntfile.js', 'src/js/*.js', 'test/*.js' + ], + options: { + 'browser': true, + 'node': true, + 'jquery': true, + 'boss': false, + 'curly': true, + 'debug': false, + 'devel': false, + 'eqeqeq': true, + 'bitwise': true, + 'eqnull': true, + 'evil': false, + 'forin': true, + 'immed': false, + 'laxbreak': false, + 'newcap': true, + 'noarg': true, + 'noempty': false, + 'nonew': false, + 'onevar': true, + 'plusplus': false, + 'regexp': false, + 'undef': true, + 'sub': true, + 'strict': true, + 'unused': true, + 'white': true, + 'es3': true, + 'camelcase': true, + 'quotmark': 'single', + 'globals': { + 'define': false, + 'moment': false, + // Jasmine + 'jasmine': false, + 'describe': false, + 'xdescribe': false, + 'expect': false, + 'it': false, + 'xit': false, + 'spyOn': false, + 'beforeEach': false, + 'afterEach': false + } + } + }, + jscs: { + all: [ + 'Gruntfile.js', 'src/js/*.js', 'test/*.js' + ], + options: { + config: '.jscs.json' + } + }, + less: { + production: { + options: { + cleancss: true, + compress: true, + paths: 'node_modules' + }, + files: { + 'build/css/bootstrap-datetimepicker.min.css': 'src/less/bootstrap-datetimepicker-build.less' + } + }, + development: { + options: { + paths: 'node_modules' + }, + files: { + 'build/css/bootstrap-datetimepicker.css': 'src/less/bootstrap-datetimepicker-build.less' + } + } + }, + env: { + paris: { + TZ: 'Europe/Paris' // sets env for phantomJS https://github.com/ariya/phantomjs/issues/10379#issuecomment-36058589 + } + }, + connect: { + server: { + options: { + port: 8099 + } + } + }, + jasmine: { + customTemplate: { + src: 'src/js/*.js', + options: { + specs: 'test/*Spec.js', + helpers: 'test/*Helper.js', + host: 'http://127.0.0.1:8099', + styles: [ + 'node_modules/bootstrap/dist/css/bootstrap.min.css', + 'build/css/bootstrap-datetimepicker.min.css' + ], + vendor: [ + 'node_modules/jquery/dist/jquery.min.js', + 'node_modules/moment/min/moment-with-locales.min.js', + 'node_modules/moment-timezone/moment-timezone.js', + 'node_modules/bootstrap/dist/js/bootstrap.min.js' + ], + display: 'none', + summary: 'true' + } + } + }, + nugetpack: { + less: { + src: 'src/nuget/Bootstrap.v3.Datetimepicker.nuspec', + dest: 'build/nuget', + options: { + version: '<%= pkg.version %>' + } + }, + css: { + src: 'src/nuget/Bootstrap.v3.Datetimepicker.CSS.nuspec', + dest: 'build/nuget', + options: { + version: '<%= pkg.version %>' + } + } + } + }); + + grunt.loadTasks('tasks'); + + grunt.loadNpmTasks('grunt-env'); + grunt.loadNpmTasks('grunt-contrib-connect'); + grunt.loadNpmTasks('grunt-contrib-jasmine'); + grunt.loadNpmTasks('grunt-nuget'); + + require('load-grunt-tasks')(grunt); + grunt.registerTask('default', ['jshint', 'jscs', 'less', 'env:paris', 'connect', 'jasmine']); + grunt.registerTask('build:travis', [ + // code style + 'jshint', 'jscs', + // build + 'uglify', 'less', + // tests + 'env:paris', 'connect', 'jasmine' + ]); + + // Task to be run when building + grunt.registerTask('build', ['jshint', 'jscs', 'uglify', 'less']); + + grunt.registerTask('test', ['jshint', 'jscs', 'uglify', 'less', 'env:paris', 'connect', 'jasmine']); + + grunt.registerTask('docs', 'Generate docs', function () { + grunt.util.spawn({ + cmd: 'mkdocs', + args: ['build', '--clean'] + }); + }); + + grunt.registerTask('release', function (version) { + if (!version || version.split('.').length !== 3) { + grunt.fail.fatal('malformed version. Use grunt release:1.2.3'); + } + + grunt.task.run([ + 'bump_version:' + version, + 'build:travis', + 'docs', + 'nugetpack' + ]); + }); +}; diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/LICENSE b/public/bower_components/eonasdan-bootstrap-datetimepicker/LICENSE new file mode 100644 index 0000000..f8071d7 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015 Jonathan Peterson (@Eonasdan) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/README.md b/public/bower_components/eonasdan-bootstrap-datetimepicker/README.md new file mode 100644 index 0000000..3d238f5 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/README.md @@ -0,0 +1,20 @@ +# Bootstrap 3 Date/Time Picker +  + + + +## [View the manual and demos](http://eonasdan.github.io/bootstrap-datetimepicker/) + +## [Installation instructions](http://eonasdan.github.io/bootstrap-datetimepicker/Installing/) + +## [Change Log](http://eonasdan.github.io/bootstrap-datetimepicker/Changelog/) + +### This issue tracker is no longer actively monitored. + +# Version 5 + +Version 5 is being completely rewritten in ES6 and modularized as Tempus Dominus. + +v5 is [in alpha](https://github.com/tempusdominus/bootstrap-3). + + diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/bower.json b/public/bower_components/eonasdan-bootstrap-datetimepicker/bower.json new file mode 100644 index 0000000..c9d5a75 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/bower.json @@ -0,0 +1,34 @@ +{ + "name": "eonasdan-bootstrap-datetimepicker", + "version": "4.17.47", + "main": [ + "build/css/bootstrap-datetimepicker.min.css", + "build/js/bootstrap-datetimepicker.min.js" + ], + "dependencies": { + "jquery": ">=1.8.3", + "moment": ">=2.10.5" + }, + "homepage": "https://github.com/Eonasdan/bootstrap-datetimepicker", + "authors": [ + "Eonasdan" + ], + "description": "bootstrap3 datetimepicker", + "keywords": [ + "twitter-bootstrap", + "bootstrap", + "datepicker", + "datetimepicker", + "timepicker", + "moment" + ], + "license": "MIT", + "private": false, + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "test", + "tests" + ] +} diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker-standalone.css b/public/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker-standalone.css new file mode 100644 index 0000000..e2f9dbf --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker-standalone.css @@ -0,0 +1,98 @@ +@font-face { + font-family: 'Glyphicons Halflings'; + src: url('../fonts/glyphicons-halflings-regular.eot'); + src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); +} + +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.glyphicon-time:before { + content: "\e023"; +} + +.glyphicon-chevron-left:before { + content: "\e079"; +} + +.glyphicon-chevron-right:before { + content: "\e080"; +} + +.glyphicon-chevron-up:before { + content: "\e113"; +} + +.glyphicon-chevron-down:before { + content: "\e114"; +} + +.glyphicon-calendar:before { + content: "\e109"; +} + +.btn { + display: inline-block; + padding: 6px 12px; + margin-bottom: 0; + font-size: 14px; + font-weight: normal; + line-height: 1.42857143; + text-align: center; + white-space: nowrap; + vertical-align: middle; + -ms-touch-action: manipulation; + touch-action: manipulation; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; +} + +.collapse { + display: none; +} + + .collapse.in { + display: block; + } + +.dropdown-menu { + position: absolute; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + font-size: 14px; + text-align: left; + list-style: none; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, .15); + border-radius: 4px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175); + box-shadow: 0 6px 12px rgba(0, 0, 0, .175); +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.css b/public/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.css new file mode 100644 index 0000000..7e6488e --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.css @@ -0,0 +1,374 @@ +/*! + * Datetimepicker for Bootstrap 3 + * version : 4.17.47 + * https://github.com/Eonasdan/bootstrap-datetimepicker/ + */ +.bootstrap-datetimepicker-widget { + list-style: none; +} +.bootstrap-datetimepicker-widget.dropdown-menu { + display: block; + margin: 2px 0; + padding: 4px; + width: 19em; +} +@media (min-width: 768px) { + .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs { + width: 38em; + } +} +@media (min-width: 992px) { + .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs { + width: 38em; + } +} +@media (min-width: 1200px) { + .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs { + width: 38em; + } +} +.bootstrap-datetimepicker-widget.dropdown-menu:before, +.bootstrap-datetimepicker-widget.dropdown-menu:after { + content: ''; + display: inline-block; + position: absolute; +} +.bootstrap-datetimepicker-widget.dropdown-menu.bottom:before { + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-bottom-color: rgba(0, 0, 0, 0.2); + top: -7px; + left: 7px; +} +.bootstrap-datetimepicker-widget.dropdown-menu.bottom:after { + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid white; + top: -6px; + left: 8px; +} +.bootstrap-datetimepicker-widget.dropdown-menu.top:before { + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-top: 7px solid #ccc; + border-top-color: rgba(0, 0, 0, 0.2); + bottom: -7px; + left: 6px; +} +.bootstrap-datetimepicker-widget.dropdown-menu.top:after { + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-top: 6px solid white; + bottom: -6px; + left: 7px; +} +.bootstrap-datetimepicker-widget.dropdown-menu.pull-right:before { + left: auto; + right: 6px; +} +.bootstrap-datetimepicker-widget.dropdown-menu.pull-right:after { + left: auto; + right: 7px; +} +.bootstrap-datetimepicker-widget .list-unstyled { + margin: 0; +} +.bootstrap-datetimepicker-widget a[data-action] { + padding: 6px 0; +} +.bootstrap-datetimepicker-widget a[data-action]:active { + box-shadow: none; +} +.bootstrap-datetimepicker-widget .timepicker-hour, +.bootstrap-datetimepicker-widget .timepicker-minute, +.bootstrap-datetimepicker-widget .timepicker-second { + width: 54px; + font-weight: bold; + font-size: 1.2em; + margin: 0; +} +.bootstrap-datetimepicker-widget button[data-action] { + padding: 6px; +} +.bootstrap-datetimepicker-widget .btn[data-action="incrementHours"]::after { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; + content: "Increment Hours"; +} +.bootstrap-datetimepicker-widget .btn[data-action="incrementMinutes"]::after { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; + content: "Increment Minutes"; +} +.bootstrap-datetimepicker-widget .btn[data-action="decrementHours"]::after { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; + content: "Decrement Hours"; +} +.bootstrap-datetimepicker-widget .btn[data-action="decrementMinutes"]::after { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; + content: "Decrement Minutes"; +} +.bootstrap-datetimepicker-widget .btn[data-action="showHours"]::after { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; + content: "Show Hours"; +} +.bootstrap-datetimepicker-widget .btn[data-action="showMinutes"]::after { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; + content: "Show Minutes"; +} +.bootstrap-datetimepicker-widget .btn[data-action="togglePeriod"]::after { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; + content: "Toggle AM/PM"; +} +.bootstrap-datetimepicker-widget .btn[data-action="clear"]::after { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; + content: "Clear the picker"; +} +.bootstrap-datetimepicker-widget .btn[data-action="today"]::after { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; + content: "Set the date to today"; +} +.bootstrap-datetimepicker-widget .picker-switch { + text-align: center; +} +.bootstrap-datetimepicker-widget .picker-switch::after { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; + content: "Toggle Date and Time Screens"; +} +.bootstrap-datetimepicker-widget .picker-switch td { + padding: 0; + margin: 0; + height: auto; + width: auto; + line-height: inherit; +} +.bootstrap-datetimepicker-widget .picker-switch td span { + line-height: 2.5; + height: 2.5em; + width: 100%; +} +.bootstrap-datetimepicker-widget table { + width: 100%; + margin: 0; +} +.bootstrap-datetimepicker-widget table td, +.bootstrap-datetimepicker-widget table th { + text-align: center; + border-radius: 4px; +} +.bootstrap-datetimepicker-widget table th { + height: 20px; + line-height: 20px; + width: 20px; +} +.bootstrap-datetimepicker-widget table th.picker-switch { + width: 145px; +} +.bootstrap-datetimepicker-widget table th.disabled, +.bootstrap-datetimepicker-widget table th.disabled:hover { + background: none; + color: #777777; + cursor: not-allowed; +} +.bootstrap-datetimepicker-widget table th.prev::after { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; + content: "Previous Month"; +} +.bootstrap-datetimepicker-widget table th.next::after { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; + content: "Next Month"; +} +.bootstrap-datetimepicker-widget table thead tr:first-child th { + cursor: pointer; +} +.bootstrap-datetimepicker-widget table thead tr:first-child th:hover { + background: #eeeeee; +} +.bootstrap-datetimepicker-widget table td { + height: 54px; + line-height: 54px; + width: 54px; +} +.bootstrap-datetimepicker-widget table td.cw { + font-size: .8em; + height: 20px; + line-height: 20px; + color: #777777; +} +.bootstrap-datetimepicker-widget table td.day { + height: 20px; + line-height: 20px; + width: 20px; +} +.bootstrap-datetimepicker-widget table td.day:hover, +.bootstrap-datetimepicker-widget table td.hour:hover, +.bootstrap-datetimepicker-widget table td.minute:hover, +.bootstrap-datetimepicker-widget table td.second:hover { + background: #eeeeee; + cursor: pointer; +} +.bootstrap-datetimepicker-widget table td.old, +.bootstrap-datetimepicker-widget table td.new { + color: #777777; +} +.bootstrap-datetimepicker-widget table td.today { + position: relative; +} +.bootstrap-datetimepicker-widget table td.today:before { + content: ''; + display: inline-block; + border: solid transparent; + border-width: 0 0 7px 7px; + border-bottom-color: #337ab7; + border-top-color: rgba(0, 0, 0, 0.2); + position: absolute; + bottom: 4px; + right: 4px; +} +.bootstrap-datetimepicker-widget table td.active, +.bootstrap-datetimepicker-widget table td.active:hover { + background-color: #337ab7; + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +.bootstrap-datetimepicker-widget table td.active.today:before { + border-bottom-color: #fff; +} +.bootstrap-datetimepicker-widget table td.disabled, +.bootstrap-datetimepicker-widget table td.disabled:hover { + background: none; + color: #777777; + cursor: not-allowed; +} +.bootstrap-datetimepicker-widget table td span { + display: inline-block; + width: 54px; + height: 54px; + line-height: 54px; + margin: 2px 1.5px; + cursor: pointer; + border-radius: 4px; +} +.bootstrap-datetimepicker-widget table td span:hover { + background: #eeeeee; +} +.bootstrap-datetimepicker-widget table td span.active { + background-color: #337ab7; + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +.bootstrap-datetimepicker-widget table td span.old { + color: #777777; +} +.bootstrap-datetimepicker-widget table td span.disabled, +.bootstrap-datetimepicker-widget table td span.disabled:hover { + background: none; + color: #777777; + cursor: not-allowed; +} +.bootstrap-datetimepicker-widget.usetwentyfour td.hour { + height: 27px; + line-height: 27px; +} +.bootstrap-datetimepicker-widget.wider { + width: 21em; +} +.bootstrap-datetimepicker-widget .datepicker-decades .decade { + line-height: 1.8em !important; +} +.input-group.date .input-group-addon { + cursor: pointer; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css b/public/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css new file mode 100644 index 0000000..5950ad2 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css @@ -0,0 +1,5 @@ +/*! + * Datetimepicker for Bootstrap 3 + * version : 4.17.47 + * https://github.com/Eonasdan/bootstrap-datetimepicker/ + */.bootstrap-datetimepicker-widget{list-style:none}.bootstrap-datetimepicker-widget.dropdown-menu{display:block;margin:2px 0;padding:4px;width:19em}@media (min-width:768px){.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}@media (min-width:992px){.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}@media (min-width:1200px){.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}.bootstrap-datetimepicker-widget.dropdown-menu:before,.bootstrap-datetimepicker-widget.dropdown-menu:after{content:'';display:inline-block;position:absolute}.bootstrap-datetimepicker-widget.dropdown-menu.bottom:before{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,0.2);top:-7px;left:7px}.bootstrap-datetimepicker-widget.dropdown-menu.bottom:after{border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid white;top:-6px;left:8px}.bootstrap-datetimepicker-widget.dropdown-menu.top:before{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #ccc;border-top-color:rgba(0,0,0,0.2);bottom:-7px;left:6px}.bootstrap-datetimepicker-widget.dropdown-menu.top:after{border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid white;bottom:-6px;left:7px}.bootstrap-datetimepicker-widget.dropdown-menu.pull-right:before{left:auto;right:6px}.bootstrap-datetimepicker-widget.dropdown-menu.pull-right:after{left:auto;right:7px}.bootstrap-datetimepicker-widget .list-unstyled{margin:0}.bootstrap-datetimepicker-widget a[data-action]{padding:6px 0}.bootstrap-datetimepicker-widget a[data-action]:active{box-shadow:none}.bootstrap-datetimepicker-widget .timepicker-hour,.bootstrap-datetimepicker-widget .timepicker-minute,.bootstrap-datetimepicker-widget .timepicker-second{width:54px;font-weight:bold;font-size:1.2em;margin:0}.bootstrap-datetimepicker-widget button[data-action]{padding:6px}.bootstrap-datetimepicker-widget .btn[data-action="incrementHours"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Increment Hours"}.bootstrap-datetimepicker-widget .btn[data-action="incrementMinutes"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Increment Minutes"}.bootstrap-datetimepicker-widget .btn[data-action="decrementHours"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Decrement Hours"}.bootstrap-datetimepicker-widget .btn[data-action="decrementMinutes"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Decrement Minutes"}.bootstrap-datetimepicker-widget .btn[data-action="showHours"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Show Hours"}.bootstrap-datetimepicker-widget .btn[data-action="showMinutes"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Show Minutes"}.bootstrap-datetimepicker-widget .btn[data-action="togglePeriod"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Toggle AM/PM"}.bootstrap-datetimepicker-widget .btn[data-action="clear"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Clear the picker"}.bootstrap-datetimepicker-widget .btn[data-action="today"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Set the date to today"}.bootstrap-datetimepicker-widget .picker-switch{text-align:center}.bootstrap-datetimepicker-widget .picker-switch::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Toggle Date and Time Screens"}.bootstrap-datetimepicker-widget .picker-switch td{padding:0;margin:0;height:auto;width:auto;line-height:inherit}.bootstrap-datetimepicker-widget .picker-switch td span{line-height:2.5;height:2.5em;width:100%}.bootstrap-datetimepicker-widget table{width:100%;margin:0}.bootstrap-datetimepicker-widget table td,.bootstrap-datetimepicker-widget table th{text-align:center;border-radius:4px}.bootstrap-datetimepicker-widget table th{height:20px;line-height:20px;width:20px}.bootstrap-datetimepicker-widget table th.picker-switch{width:145px}.bootstrap-datetimepicker-widget table th.disabled,.bootstrap-datetimepicker-widget table th.disabled:hover{background:none;color:#777;cursor:not-allowed}.bootstrap-datetimepicker-widget table th.prev::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Previous Month"}.bootstrap-datetimepicker-widget table th.next::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Next Month"}.bootstrap-datetimepicker-widget table thead tr:first-child th{cursor:pointer}.bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background:#eee}.bootstrap-datetimepicker-widget table td{height:54px;line-height:54px;width:54px}.bootstrap-datetimepicker-widget table td.cw{font-size:.8em;height:20px;line-height:20px;color:#777}.bootstrap-datetimepicker-widget table td.day{height:20px;line-height:20px;width:20px}.bootstrap-datetimepicker-widget table td.day:hover,.bootstrap-datetimepicker-widget table td.hour:hover,.bootstrap-datetimepicker-widget table td.minute:hover,.bootstrap-datetimepicker-widget table td.second:hover{background:#eee;cursor:pointer}.bootstrap-datetimepicker-widget table td.old,.bootstrap-datetimepicker-widget table td.new{color:#777}.bootstrap-datetimepicker-widget table td.today{position:relative}.bootstrap-datetimepicker-widget table td.today:before{content:'';display:inline-block;border:solid transparent;border-width:0 0 7px 7px;border-bottom-color:#337ab7;border-top-color:rgba(0,0,0,0.2);position:absolute;bottom:4px;right:4px}.bootstrap-datetimepicker-widget table td.active,.bootstrap-datetimepicker-widget table td.active:hover{background-color:#337ab7;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.bootstrap-datetimepicker-widget table td.active.today:before{border-bottom-color:#fff}.bootstrap-datetimepicker-widget table td.disabled,.bootstrap-datetimepicker-widget table td.disabled:hover{background:none;color:#777;cursor:not-allowed}.bootstrap-datetimepicker-widget table td span{display:inline-block;width:54px;height:54px;line-height:54px;margin:2px 1.5px;cursor:pointer;border-radius:4px}.bootstrap-datetimepicker-widget table td span:hover{background:#eee}.bootstrap-datetimepicker-widget table td span.active{background-color:#337ab7;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.bootstrap-datetimepicker-widget table td span.old{color:#777}.bootstrap-datetimepicker-widget table td span.disabled,.bootstrap-datetimepicker-widget table td span.disabled:hover{background:none;color:#777;cursor:not-allowed}.bootstrap-datetimepicker-widget.usetwentyfour td.hour{height:27px;line-height:27px}.bootstrap-datetimepicker-widget.wider{width:21em}.bootstrap-datetimepicker-widget .datepicker-decades .decade{line-height:1.8em !important}.input-group.date .input-group-addon{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0} \ No newline at end of file diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js b/public/bower_components/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js new file mode 100644 index 0000000..724db76 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js @@ -0,0 +1,2 @@ +!function(a){"use strict";if("function"==typeof define&&define.amd)define(["jquery","moment"],a);else if("object"==typeof exports)module.exports=a(require("jquery"),require("moment"));else{if("undefined"==typeof jQuery)throw"bootstrap-datetimepicker requires jQuery to be loaded first";if("undefined"==typeof moment)throw"bootstrap-datetimepicker requires Moment.js to be loaded first";a(jQuery,moment)}}(function(a,b){"use strict";if(!b)throw new Error("bootstrap-datetimepicker requires Moment.js to be loaded first");var c=function(c,d){var e,f,g,h,i,j,k,l={},m=!0,n=!1,o=!1,p=0,q=[{clsName:"days",navFnc:"M",navStep:1},{clsName:"months",navFnc:"y",navStep:1},{clsName:"years",navFnc:"y",navStep:10},{clsName:"decades",navFnc:"y",navStep:100}],r=["days","months","years","decades"],s=["top","bottom","auto"],t=["left","right","auto"],u=["default","top","bottom"],v={up:38,38:"up",down:40,40:"down",left:37,37:"left",right:39,39:"right",tab:9,9:"tab",escape:27,27:"escape",enter:13,13:"enter",pageUp:33,33:"pageUp",pageDown:34,34:"pageDown",shift:16,16:"shift",control:17,17:"control",space:32,32:"space",t:84,84:"t",delete:46,46:"delete"},w={},x=function(){return void 0!==b.tz&&void 0!==d.timeZone&&null!==d.timeZone&&""!==d.timeZone},y=function(a){var c;return c=void 0===a||null===a?b():b.isDate(a)||b.isMoment(a)?b(a):x()?b.tz(a,j,d.useStrict,d.timeZone):b(a,j,d.useStrict),x()&&c.tz(d.timeZone),c},z=function(a){if("string"!=typeof a||a.length>1)throw new TypeError("isEnabled expects a single character string parameter");switch(a){case"y":return i.indexOf("Y")!==-1;case"M":return i.indexOf("M")!==-1;case"d":return i.toLowerCase().indexOf("d")!==-1;case"h":case"H":return i.toLowerCase().indexOf("h")!==-1;case"m":return i.indexOf("m")!==-1;case"s":return i.indexOf("s")!==-1;default:return!1}},A=function(){return z("h")||z("m")||z("s")},B=function(){return z("y")||z("M")||z("d")},C=function(){var b=a("<thead>").append(a("<tr>").append(a("<th>").addClass("prev").attr("data-action","previous").append(a("<span>").addClass(d.icons.previous))).append(a("<th>").addClass("picker-switch").attr("data-action","pickerSwitch").attr("colspan",d.calendarWeeks?"6":"5")).append(a("<th>").addClass("next").attr("data-action","next").append(a("<span>").addClass(d.icons.next)))),c=a("<tbody>").append(a("<tr>").append(a("<td>").attr("colspan",d.calendarWeeks?"8":"7")));return[a("<div>").addClass("datepicker-days").append(a("<table>").addClass("table-condensed").append(b).append(a("<tbody>"))),a("<div>").addClass("datepicker-months").append(a("<table>").addClass("table-condensed").append(b.clone()).append(c.clone())),a("<div>").addClass("datepicker-years").append(a("<table>").addClass("table-condensed").append(b.clone()).append(c.clone())),a("<div>").addClass("datepicker-decades").append(a("<table>").addClass("table-condensed").append(b.clone()).append(c.clone()))]},D=function(){var b=a("<tr>"),c=a("<tr>"),e=a("<tr>");return z("h")&&(b.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.incrementHour}).addClass("btn").attr("data-action","incrementHours").append(a("<span>").addClass(d.icons.up)))),c.append(a("<td>").append(a("<span>").addClass("timepicker-hour").attr({"data-time-component":"hours",title:d.tooltips.pickHour}).attr("data-action","showHours"))),e.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.decrementHour}).addClass("btn").attr("data-action","decrementHours").append(a("<span>").addClass(d.icons.down))))),z("m")&&(z("h")&&(b.append(a("<td>").addClass("separator")),c.append(a("<td>").addClass("separator").html(":")),e.append(a("<td>").addClass("separator"))),b.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.incrementMinute}).addClass("btn").attr("data-action","incrementMinutes").append(a("<span>").addClass(d.icons.up)))),c.append(a("<td>").append(a("<span>").addClass("timepicker-minute").attr({"data-time-component":"minutes",title:d.tooltips.pickMinute}).attr("data-action","showMinutes"))),e.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.decrementMinute}).addClass("btn").attr("data-action","decrementMinutes").append(a("<span>").addClass(d.icons.down))))),z("s")&&(z("m")&&(b.append(a("<td>").addClass("separator")),c.append(a("<td>").addClass("separator").html(":")),e.append(a("<td>").addClass("separator"))),b.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.incrementSecond}).addClass("btn").attr("data-action","incrementSeconds").append(a("<span>").addClass(d.icons.up)))),c.append(a("<td>").append(a("<span>").addClass("timepicker-second").attr({"data-time-component":"seconds",title:d.tooltips.pickSecond}).attr("data-action","showSeconds"))),e.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.decrementSecond}).addClass("btn").attr("data-action","decrementSeconds").append(a("<span>").addClass(d.icons.down))))),h||(b.append(a("<td>").addClass("separator")),c.append(a("<td>").append(a("<button>").addClass("btn btn-primary").attr({"data-action":"togglePeriod",tabindex:"-1",title:d.tooltips.togglePeriod}))),e.append(a("<td>").addClass("separator"))),a("<div>").addClass("timepicker-picker").append(a("<table>").addClass("table-condensed").append([b,c,e]))},E=function(){var b=a("<div>").addClass("timepicker-hours").append(a("<table>").addClass("table-condensed")),c=a("<div>").addClass("timepicker-minutes").append(a("<table>").addClass("table-condensed")),d=a("<div>").addClass("timepicker-seconds").append(a("<table>").addClass("table-condensed")),e=[D()];return z("h")&&e.push(b),z("m")&&e.push(c),z("s")&&e.push(d),e},F=function(){var b=[];return d.showTodayButton&&b.push(a("<td>").append(a("<a>").attr({"data-action":"today",title:d.tooltips.today}).append(a("<span>").addClass(d.icons.today)))),!d.sideBySide&&B()&&A()&&b.push(a("<td>").append(a("<a>").attr({"data-action":"togglePicker",title:d.tooltips.selectTime}).append(a("<span>").addClass(d.icons.time)))),d.showClear&&b.push(a("<td>").append(a("<a>").attr({"data-action":"clear",title:d.tooltips.clear}).append(a("<span>").addClass(d.icons.clear)))),d.showClose&&b.push(a("<td>").append(a("<a>").attr({"data-action":"close",title:d.tooltips.close}).append(a("<span>").addClass(d.icons.close)))),a("<table>").addClass("table-condensed").append(a("<tbody>").append(a("<tr>").append(b)))},G=function(){var b=a("<div>").addClass("bootstrap-datetimepicker-widget dropdown-menu"),c=a("<div>").addClass("datepicker").append(C()),e=a("<div>").addClass("timepicker").append(E()),f=a("<ul>").addClass("list-unstyled"),g=a("<li>").addClass("picker-switch"+(d.collapse?" accordion-toggle":"")).append(F());return d.inline&&b.removeClass("dropdown-menu"),h&&b.addClass("usetwentyfour"),z("s")&&!h&&b.addClass("wider"),d.sideBySide&&B()&&A()?(b.addClass("timepicker-sbs"),"top"===d.toolbarPlacement&&b.append(g),b.append(a("<div>").addClass("row").append(c.addClass("col-md-6")).append(e.addClass("col-md-6"))),"bottom"===d.toolbarPlacement&&b.append(g),b):("top"===d.toolbarPlacement&&f.append(g),B()&&f.append(a("<li>").addClass(d.collapse&&A()?"collapse in":"").append(c)),"default"===d.toolbarPlacement&&f.append(g),A()&&f.append(a("<li>").addClass(d.collapse&&B()?"collapse":"").append(e)),"bottom"===d.toolbarPlacement&&f.append(g),b.append(f))},H=function(){var b,e={};return b=c.is("input")||d.inline?c.data():c.find("input").data(),b.dateOptions&&b.dateOptions instanceof Object&&(e=a.extend(!0,e,b.dateOptions)),a.each(d,function(a){var c="date"+a.charAt(0).toUpperCase()+a.slice(1);void 0!==b[c]&&(e[a]=b[c])}),e},I=function(){var b,e=(n||c).position(),f=(n||c).offset(),g=d.widgetPositioning.vertical,h=d.widgetPositioning.horizontal;if(d.widgetParent)b=d.widgetParent.append(o);else if(c.is("input"))b=c.after(o).parent();else{if(d.inline)return void(b=c.append(o));b=c,c.children().first().after(o)}if("auto"===g&&(g=f.top+1.5*o.height()>=a(window).height()+a(window).scrollTop()&&o.height()+c.outerHeight()<f.top?"top":"bottom"),"auto"===h&&(h=b.width()<f.left+o.outerWidth()/2&&f.left+o.outerWidth()>a(window).width()?"right":"left"),"top"===g?o.addClass("top").removeClass("bottom"):o.addClass("bottom").removeClass("top"),"right"===h?o.addClass("pull-right"):o.removeClass("pull-right"),"static"===b.css("position")&&(b=b.parents().filter(function(){return"static"!==a(this).css("position")}).first()),0===b.length)throw new Error("datetimepicker component should be placed within a non-static positioned container");o.css({top:"top"===g?"auto":e.top+c.outerHeight(),bottom:"top"===g?b.outerHeight()-(b===c?0:e.top):"auto",left:"left"===h?b===c?0:e.left:"auto",right:"left"===h?"auto":b.outerWidth()-c.outerWidth()-(b===c?0:e.left)})},J=function(a){"dp.change"===a.type&&(a.date&&a.date.isSame(a.oldDate)||!a.date&&!a.oldDate)||c.trigger(a)},K=function(a){"y"===a&&(a="YYYY"),J({type:"dp.update",change:a,viewDate:f.clone()})},L=function(a){o&&(a&&(k=Math.max(p,Math.min(3,k+a))),o.find(".datepicker > div").hide().filter(".datepicker-"+q[k].clsName).show())},M=function(){var b=a("<tr>"),c=f.clone().startOf("w").startOf("d");for(d.calendarWeeks===!0&&b.append(a("<th>").addClass("cw").text("#"));c.isBefore(f.clone().endOf("w"));)b.append(a("<th>").addClass("dow").text(c.format("dd"))),c.add(1,"d");o.find(".datepicker-days thead").append(b)},N=function(a){return d.disabledDates[a.format("YYYY-MM-DD")]===!0},O=function(a){return d.enabledDates[a.format("YYYY-MM-DD")]===!0},P=function(a){return d.disabledHours[a.format("H")]===!0},Q=function(a){return d.enabledHours[a.format("H")]===!0},R=function(b,c){if(!b.isValid())return!1;if(d.disabledDates&&"d"===c&&N(b))return!1;if(d.enabledDates&&"d"===c&&!O(b))return!1;if(d.minDate&&b.isBefore(d.minDate,c))return!1;if(d.maxDate&&b.isAfter(d.maxDate,c))return!1;if(d.daysOfWeekDisabled&&"d"===c&&d.daysOfWeekDisabled.indexOf(b.day())!==-1)return!1;if(d.disabledHours&&("h"===c||"m"===c||"s"===c)&&P(b))return!1;if(d.enabledHours&&("h"===c||"m"===c||"s"===c)&&!Q(b))return!1;if(d.disabledTimeIntervals&&("h"===c||"m"===c||"s"===c)){var e=!1;if(a.each(d.disabledTimeIntervals,function(){if(b.isBetween(this[0],this[1]))return e=!0,!1}),e)return!1}return!0},S=function(){for(var b=[],c=f.clone().startOf("y").startOf("d");c.isSame(f,"y");)b.push(a("<span>").attr("data-action","selectMonth").addClass("month").text(c.format("MMM"))),c.add(1,"M");o.find(".datepicker-months td").empty().append(b)},T=function(){var b=o.find(".datepicker-months"),c=b.find("th"),g=b.find("tbody").find("span");c.eq(0).find("span").attr("title",d.tooltips.prevYear),c.eq(1).attr("title",d.tooltips.selectYear),c.eq(2).find("span").attr("title",d.tooltips.nextYear),b.find(".disabled").removeClass("disabled"),R(f.clone().subtract(1,"y"),"y")||c.eq(0).addClass("disabled"),c.eq(1).text(f.year()),R(f.clone().add(1,"y"),"y")||c.eq(2).addClass("disabled"),g.removeClass("active"),e.isSame(f,"y")&&!m&&g.eq(e.month()).addClass("active"),g.each(function(b){R(f.clone().month(b),"M")||a(this).addClass("disabled")})},U=function(){var a=o.find(".datepicker-years"),b=a.find("th"),c=f.clone().subtract(5,"y"),g=f.clone().add(6,"y"),h="";for(b.eq(0).find("span").attr("title",d.tooltips.prevDecade),b.eq(1).attr("title",d.tooltips.selectDecade),b.eq(2).find("span").attr("title",d.tooltips.nextDecade),a.find(".disabled").removeClass("disabled"),d.minDate&&d.minDate.isAfter(c,"y")&&b.eq(0).addClass("disabled"),b.eq(1).text(c.year()+"-"+g.year()),d.maxDate&&d.maxDate.isBefore(g,"y")&&b.eq(2).addClass("disabled");!c.isAfter(g,"y");)h+='<span data-action="selectYear" class="year'+(c.isSame(e,"y")&&!m?" active":"")+(R(c,"y")?"":" disabled")+'">'+c.year()+"</span>",c.add(1,"y");a.find("td").html(h)},V=function(){var a,c=o.find(".datepicker-decades"),g=c.find("th"),h=b({y:f.year()-f.year()%100-1}),i=h.clone().add(100,"y"),j=h.clone(),k=!1,l=!1,m="";for(g.eq(0).find("span").attr("title",d.tooltips.prevCentury),g.eq(2).find("span").attr("title",d.tooltips.nextCentury),c.find(".disabled").removeClass("disabled"),(h.isSame(b({y:1900}))||d.minDate&&d.minDate.isAfter(h,"y"))&&g.eq(0).addClass("disabled"),g.eq(1).text(h.year()+"-"+i.year()),(h.isSame(b({y:2e3}))||d.maxDate&&d.maxDate.isBefore(i,"y"))&&g.eq(2).addClass("disabled");!h.isAfter(i,"y");)a=h.year()+12,k=d.minDate&&d.minDate.isAfter(h,"y")&&d.minDate.year()<=a,l=d.maxDate&&d.maxDate.isAfter(h,"y")&&d.maxDate.year()<=a,m+='<span data-action="selectDecade" class="decade'+(e.isAfter(h)&&e.year()<=a?" active":"")+(R(h,"y")||k||l?"":" disabled")+'" data-selection="'+(h.year()+6)+'">'+(h.year()+1)+" - "+(h.year()+12)+"</span>",h.add(12,"y");m+="<span></span><span></span><span></span>",c.find("td").html(m),g.eq(1).text(j.year()+1+"-"+h.year())},W=function(){var b,c,g,h=o.find(".datepicker-days"),i=h.find("th"),j=[],k=[];if(B()){for(i.eq(0).find("span").attr("title",d.tooltips.prevMonth),i.eq(1).attr("title",d.tooltips.selectMonth),i.eq(2).find("span").attr("title",d.tooltips.nextMonth),h.find(".disabled").removeClass("disabled"),i.eq(1).text(f.format(d.dayViewHeaderFormat)),R(f.clone().subtract(1,"M"),"M")||i.eq(0).addClass("disabled"),R(f.clone().add(1,"M"),"M")||i.eq(2).addClass("disabled"),b=f.clone().startOf("M").startOf("w").startOf("d"),g=0;g<42;g++)0===b.weekday()&&(c=a("<tr>"),d.calendarWeeks&&c.append('<td class="cw">'+b.week()+"</td>"),j.push(c)),k=["day"],b.isBefore(f,"M")&&k.push("old"),b.isAfter(f,"M")&&k.push("new"),b.isSame(e,"d")&&!m&&k.push("active"),R(b,"d")||k.push("disabled"),b.isSame(y(),"d")&&k.push("today"),0!==b.day()&&6!==b.day()||k.push("weekend"),J({type:"dp.classify",date:b,classNames:k}),c.append('<td data-action="selectDay" data-day="'+b.format("L")+'" class="'+k.join(" ")+'">'+b.date()+"</td>"),b.add(1,"d");h.find("tbody").empty().append(j),T(),U(),V()}},X=function(){var b=o.find(".timepicker-hours table"),c=f.clone().startOf("d"),d=[],e=a("<tr>");for(f.hour()>11&&!h&&c.hour(12);c.isSame(f,"d")&&(h||f.hour()<12&&c.hour()<12||f.hour()>11);)c.hour()%4===0&&(e=a("<tr>"),d.push(e)),e.append('<td data-action="selectHour" class="hour'+(R(c,"h")?"":" disabled")+'">'+c.format(h?"HH":"hh")+"</td>"),c.add(1,"h");b.empty().append(d)},Y=function(){for(var b=o.find(".timepicker-minutes table"),c=f.clone().startOf("h"),e=[],g=a("<tr>"),h=1===d.stepping?5:d.stepping;f.isSame(c,"h");)c.minute()%(4*h)===0&&(g=a("<tr>"),e.push(g)),g.append('<td data-action="selectMinute" class="minute'+(R(c,"m")?"":" disabled")+'">'+c.format("mm")+"</td>"),c.add(h,"m");b.empty().append(e)},Z=function(){for(var b=o.find(".timepicker-seconds table"),c=f.clone().startOf("m"),d=[],e=a("<tr>");f.isSame(c,"m");)c.second()%20===0&&(e=a("<tr>"),d.push(e)),e.append('<td data-action="selectSecond" class="second'+(R(c,"s")?"":" disabled")+'">'+c.format("ss")+"</td>"),c.add(5,"s");b.empty().append(d)},$=function(){var a,b,c=o.find(".timepicker span[data-time-component]");h||(a=o.find(".timepicker [data-action=togglePeriod]"),b=e.clone().add(e.hours()>=12?-12:12,"h"),a.text(e.format("A")),R(b,"h")?a.removeClass("disabled"):a.addClass("disabled")),c.filter("[data-time-component=hours]").text(e.format(h?"HH":"hh")),c.filter("[data-time-component=minutes]").text(e.format("mm")),c.filter("[data-time-component=seconds]").text(e.format("ss")),X(),Y(),Z()},_=function(){o&&(W(),$())},aa=function(a){var b=m?null:e;if(!a)return m=!0,g.val(""),c.data("date",""),J({type:"dp.change",date:!1,oldDate:b}),void _();if(a=a.clone().locale(d.locale),x()&&a.tz(d.timeZone),1!==d.stepping)for(a.minutes(Math.round(a.minutes()/d.stepping)*d.stepping).seconds(0);d.minDate&&a.isBefore(d.minDate);)a.add(d.stepping,"minutes");R(a)?(e=a,f=e.clone(),g.val(e.format(i)),c.data("date",e.format(i)),m=!1,_(),J({type:"dp.change",date:e.clone(),oldDate:b})):(d.keepInvalid?J({type:"dp.change",date:a,oldDate:b}):g.val(m?"":e.format(i)),J({type:"dp.error",date:a,oldDate:b}))},ba=function(){var b=!1;return o?(o.find(".collapse").each(function(){var c=a(this).data("collapse");return!c||!c.transitioning||(b=!0,!1)}),b?l:(n&&n.hasClass("btn")&&n.toggleClass("active"),o.hide(),a(window).off("resize",I),o.off("click","[data-action]"),o.off("mousedown",!1),o.remove(),o=!1,J({type:"dp.hide",date:e.clone()}),g.blur(),f=e.clone(),l)):l},ca=function(){aa(null)},da=function(a){return void 0===d.parseInputDate?(!b.isMoment(a)||a instanceof Date)&&(a=y(a)):a=d.parseInputDate(a),a},ea={next:function(){var a=q[k].navFnc;f.add(q[k].navStep,a),W(),K(a)},previous:function(){var a=q[k].navFnc;f.subtract(q[k].navStep,a),W(),K(a)},pickerSwitch:function(){L(1)},selectMonth:function(b){var c=a(b.target).closest("tbody").find("span").index(a(b.target));f.month(c),k===p?(aa(e.clone().year(f.year()).month(f.month())),d.inline||ba()):(L(-1),W()),K("M")},selectYear:function(b){var c=parseInt(a(b.target).text(),10)||0;f.year(c),k===p?(aa(e.clone().year(f.year())),d.inline||ba()):(L(-1),W()),K("YYYY")},selectDecade:function(b){var c=parseInt(a(b.target).data("selection"),10)||0;f.year(c),k===p?(aa(e.clone().year(f.year())),d.inline||ba()):(L(-1),W()),K("YYYY")},selectDay:function(b){var c=f.clone();a(b.target).is(".old")&&c.subtract(1,"M"),a(b.target).is(".new")&&c.add(1,"M"),aa(c.date(parseInt(a(b.target).text(),10))),A()||d.keepOpen||d.inline||ba()},incrementHours:function(){var a=e.clone().add(1,"h");R(a,"h")&&aa(a)},incrementMinutes:function(){var a=e.clone().add(d.stepping,"m");R(a,"m")&&aa(a)},incrementSeconds:function(){var a=e.clone().add(1,"s");R(a,"s")&&aa(a)},decrementHours:function(){var a=e.clone().subtract(1,"h");R(a,"h")&&aa(a)},decrementMinutes:function(){var a=e.clone().subtract(d.stepping,"m");R(a,"m")&&aa(a)},decrementSeconds:function(){var a=e.clone().subtract(1,"s");R(a,"s")&&aa(a)},togglePeriod:function(){aa(e.clone().add(e.hours()>=12?-12:12,"h"))},togglePicker:function(b){var c,e=a(b.target),f=e.closest("ul"),g=f.find(".in"),h=f.find(".collapse:not(.in)");if(g&&g.length){if(c=g.data("collapse"),c&&c.transitioning)return;g.collapse?(g.collapse("hide"),h.collapse("show")):(g.removeClass("in"),h.addClass("in")),e.is("span")?e.toggleClass(d.icons.time+" "+d.icons.date):e.find("span").toggleClass(d.icons.time+" "+d.icons.date)}},showPicker:function(){o.find(".timepicker > div:not(.timepicker-picker)").hide(),o.find(".timepicker .timepicker-picker").show()},showHours:function(){o.find(".timepicker .timepicker-picker").hide(),o.find(".timepicker .timepicker-hours").show()},showMinutes:function(){o.find(".timepicker .timepicker-picker").hide(),o.find(".timepicker .timepicker-minutes").show()},showSeconds:function(){o.find(".timepicker .timepicker-picker").hide(),o.find(".timepicker .timepicker-seconds").show()},selectHour:function(b){var c=parseInt(a(b.target).text(),10);h||(e.hours()>=12?12!==c&&(c+=12):12===c&&(c=0)),aa(e.clone().hours(c)),ea.showPicker.call(l)},selectMinute:function(b){aa(e.clone().minutes(parseInt(a(b.target).text(),10))),ea.showPicker.call(l)},selectSecond:function(b){aa(e.clone().seconds(parseInt(a(b.target).text(),10))),ea.showPicker.call(l)},clear:ca,today:function(){var a=y();R(a,"d")&&aa(a)},close:ba},fa=function(b){return!a(b.currentTarget).is(".disabled")&&(ea[a(b.currentTarget).data("action")].apply(l,arguments),!1)},ga=function(){var b,c={year:function(a){return a.month(0).date(1).hours(0).seconds(0).minutes(0)},month:function(a){return a.date(1).hours(0).seconds(0).minutes(0)},day:function(a){return a.hours(0).seconds(0).minutes(0)},hour:function(a){return a.seconds(0).minutes(0)},minute:function(a){return a.seconds(0)}};return g.prop("disabled")||!d.ignoreReadonly&&g.prop("readonly")||o?l:(void 0!==g.val()&&0!==g.val().trim().length?aa(da(g.val().trim())):m&&d.useCurrent&&(d.inline||g.is("input")&&0===g.val().trim().length)&&(b=y(),"string"==typeof d.useCurrent&&(b=c[d.useCurrent](b)),aa(b)),o=G(),M(),S(),o.find(".timepicker-hours").hide(),o.find(".timepicker-minutes").hide(),o.find(".timepicker-seconds").hide(),_(),L(),a(window).on("resize",I),o.on("click","[data-action]",fa),o.on("mousedown",!1),n&&n.hasClass("btn")&&n.toggleClass("active"),I(),o.show(),d.focusOnShow&&!g.is(":focus")&&g.focus(),J({type:"dp.show"}),l)},ha=function(){return o?ba():ga()},ia=function(a){var b,c,e,f,g=null,h=[],i={},j=a.which,k="p";w[j]=k;for(b in w)w.hasOwnProperty(b)&&w[b]===k&&(h.push(b),parseInt(b,10)!==j&&(i[b]=!0));for(b in d.keyBinds)if(d.keyBinds.hasOwnProperty(b)&&"function"==typeof d.keyBinds[b]&&(e=b.split(" "),e.length===h.length&&v[j]===e[e.length-1])){for(f=!0,c=e.length-2;c>=0;c--)if(!(v[e[c]]in i)){f=!1;break}if(f){g=d.keyBinds[b];break}}g&&(g.call(l,o),a.stopPropagation(),a.preventDefault())},ja=function(a){w[a.which]="r",a.stopPropagation(),a.preventDefault()},ka=function(b){var c=a(b.target).val().trim(),d=c?da(c):null;return aa(d),b.stopImmediatePropagation(),!1},la=function(){g.on({change:ka,blur:d.debug?"":ba,keydown:ia,keyup:ja,focus:d.allowInputToggle?ga:""}),c.is("input")?g.on({focus:ga}):n&&(n.on("click",ha),n.on("mousedown",!1))},ma=function(){g.off({change:ka,blur:blur,keydown:ia,keyup:ja,focus:d.allowInputToggle?ba:""}),c.is("input")?g.off({focus:ga}):n&&(n.off("click",ha),n.off("mousedown",!1))},na=function(b){var c={};return a.each(b,function(){var a=da(this);a.isValid()&&(c[a.format("YYYY-MM-DD")]=!0)}),!!Object.keys(c).length&&c},oa=function(b){var c={};return a.each(b,function(){c[this]=!0}),!!Object.keys(c).length&&c},pa=function(){var a=d.format||"L LT";i=a.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,function(a){var b=e.localeData().longDateFormat(a)||a;return b.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,function(a){return e.localeData().longDateFormat(a)||a})}),j=d.extraFormats?d.extraFormats.slice():[],j.indexOf(a)<0&&j.indexOf(i)<0&&j.push(i),h=i.toLowerCase().indexOf("a")<1&&i.replace(/\[.*?\]/g,"").indexOf("h")<1,z("y")&&(p=2),z("M")&&(p=1),z("d")&&(p=0),k=Math.max(p,k),m||aa(e)};if(l.destroy=function(){ba(),ma(),c.removeData("DateTimePicker"),c.removeData("date")},l.toggle=ha,l.show=ga,l.hide=ba,l.disable=function(){return ba(),n&&n.hasClass("btn")&&n.addClass("disabled"),g.prop("disabled",!0),l},l.enable=function(){return n&&n.hasClass("btn")&&n.removeClass("disabled"),g.prop("disabled",!1),l},l.ignoreReadonly=function(a){if(0===arguments.length)return d.ignoreReadonly;if("boolean"!=typeof a)throw new TypeError("ignoreReadonly () expects a boolean parameter");return d.ignoreReadonly=a,l},l.options=function(b){if(0===arguments.length)return a.extend(!0,{},d);if(!(b instanceof Object))throw new TypeError("options() options parameter should be an object");return a.extend(!0,d,b),a.each(d,function(a,b){if(void 0===l[a])throw new TypeError("option "+a+" is not recognized!");l[a](b)}),l},l.date=function(a){if(0===arguments.length)return m?null:e.clone();if(!(null===a||"string"==typeof a||b.isMoment(a)||a instanceof Date))throw new TypeError("date() parameter must be one of [null, string, moment or Date]");return aa(null===a?null:da(a)),l},l.format=function(a){if(0===arguments.length)return d.format;if("string"!=typeof a&&("boolean"!=typeof a||a!==!1))throw new TypeError("format() expects a string or boolean:false parameter "+a);return d.format=a,i&&pa(),l},l.timeZone=function(a){if(0===arguments.length)return d.timeZone;if("string"!=typeof a)throw new TypeError("newZone() expects a string parameter");return d.timeZone=a,l},l.dayViewHeaderFormat=function(a){if(0===arguments.length)return d.dayViewHeaderFormat;if("string"!=typeof a)throw new TypeError("dayViewHeaderFormat() expects a string parameter");return d.dayViewHeaderFormat=a,l},l.extraFormats=function(a){if(0===arguments.length)return d.extraFormats;if(a!==!1&&!(a instanceof Array))throw new TypeError("extraFormats() expects an array or false parameter");return d.extraFormats=a,j&&pa(),l},l.disabledDates=function(b){if(0===arguments.length)return d.disabledDates?a.extend({},d.disabledDates):d.disabledDates;if(!b)return d.disabledDates=!1,_(),l;if(!(b instanceof Array))throw new TypeError("disabledDates() expects an array parameter");return d.disabledDates=na(b),d.enabledDates=!1,_(),l},l.enabledDates=function(b){if(0===arguments.length)return d.enabledDates?a.extend({},d.enabledDates):d.enabledDates;if(!b)return d.enabledDates=!1,_(),l;if(!(b instanceof Array))throw new TypeError("enabledDates() expects an array parameter");return d.enabledDates=na(b),d.disabledDates=!1,_(),l},l.daysOfWeekDisabled=function(a){if(0===arguments.length)return d.daysOfWeekDisabled.splice(0);if("boolean"==typeof a&&!a)return d.daysOfWeekDisabled=!1,_(),l;if(!(a instanceof Array))throw new TypeError("daysOfWeekDisabled() expects an array parameter");if(d.daysOfWeekDisabled=a.reduce(function(a,b){return b=parseInt(b,10),b>6||b<0||isNaN(b)?a:(a.indexOf(b)===-1&&a.push(b),a)},[]).sort(),d.useCurrent&&!d.keepInvalid){for(var b=0;!R(e,"d");){if(e.add(1,"d"),31===b)throw"Tried 31 times to find a valid date";b++}aa(e)}return _(),l},l.maxDate=function(a){if(0===arguments.length)return d.maxDate?d.maxDate.clone():d.maxDate;if("boolean"==typeof a&&a===!1)return d.maxDate=!1,_(),l;"string"==typeof a&&("now"!==a&&"moment"!==a||(a=y()));var b=da(a);if(!b.isValid())throw new TypeError("maxDate() Could not parse date parameter: "+a);if(d.minDate&&b.isBefore(d.minDate))throw new TypeError("maxDate() date parameter is before options.minDate: "+b.format(i));return d.maxDate=b,d.useCurrent&&!d.keepInvalid&&e.isAfter(a)&&aa(d.maxDate),f.isAfter(b)&&(f=b.clone().subtract(d.stepping,"m")),_(),l},l.minDate=function(a){if(0===arguments.length)return d.minDate?d.minDate.clone():d.minDate;if("boolean"==typeof a&&a===!1)return d.minDate=!1,_(),l;"string"==typeof a&&("now"!==a&&"moment"!==a||(a=y()));var b=da(a);if(!b.isValid())throw new TypeError("minDate() Could not parse date parameter: "+a);if(d.maxDate&&b.isAfter(d.maxDate))throw new TypeError("minDate() date parameter is after options.maxDate: "+b.format(i));return d.minDate=b,d.useCurrent&&!d.keepInvalid&&e.isBefore(a)&&aa(d.minDate),f.isBefore(b)&&(f=b.clone().add(d.stepping,"m")),_(),l},l.defaultDate=function(a){if(0===arguments.length)return d.defaultDate?d.defaultDate.clone():d.defaultDate;if(!a)return d.defaultDate=!1,l;"string"==typeof a&&(a="now"===a||"moment"===a?y():y(a));var b=da(a);if(!b.isValid())throw new TypeError("defaultDate() Could not parse date parameter: "+a);if(!R(b))throw new TypeError("defaultDate() date passed is invalid according to component setup validations");return d.defaultDate=b,(d.defaultDate&&d.inline||""===g.val().trim())&&aa(d.defaultDate),l},l.locale=function(a){if(0===arguments.length)return d.locale;if(!b.localeData(a))throw new TypeError("locale() locale "+a+" is not loaded from moment locales!");return d.locale=a,e.locale(d.locale),f.locale(d.locale),i&&pa(),o&&(ba(),ga()),l},l.stepping=function(a){return 0===arguments.length?d.stepping:(a=parseInt(a,10),(isNaN(a)||a<1)&&(a=1),d.stepping=a,l)},l.useCurrent=function(a){var b=["year","month","day","hour","minute"];if(0===arguments.length)return d.useCurrent;if("boolean"!=typeof a&&"string"!=typeof a)throw new TypeError("useCurrent() expects a boolean or string parameter");if("string"==typeof a&&b.indexOf(a.toLowerCase())===-1)throw new TypeError("useCurrent() expects a string parameter of "+b.join(", "));return d.useCurrent=a,l},l.collapse=function(a){if(0===arguments.length)return d.collapse;if("boolean"!=typeof a)throw new TypeError("collapse() expects a boolean parameter");return d.collapse===a?l:(d.collapse=a,o&&(ba(),ga()),l)},l.icons=function(b){if(0===arguments.length)return a.extend({},d.icons);if(!(b instanceof Object))throw new TypeError("icons() expects parameter to be an Object");return a.extend(d.icons,b),o&&(ba(),ga()),l},l.tooltips=function(b){if(0===arguments.length)return a.extend({},d.tooltips);if(!(b instanceof Object))throw new TypeError("tooltips() expects parameter to be an Object");return a.extend(d.tooltips,b),o&&(ba(),ga()),l},l.useStrict=function(a){if(0===arguments.length)return d.useStrict;if("boolean"!=typeof a)throw new TypeError("useStrict() expects a boolean parameter");return d.useStrict=a,l},l.sideBySide=function(a){if(0===arguments.length)return d.sideBySide;if("boolean"!=typeof a)throw new TypeError("sideBySide() expects a boolean parameter");return d.sideBySide=a,o&&(ba(),ga()),l},l.viewMode=function(a){if(0===arguments.length)return d.viewMode;if("string"!=typeof a)throw new TypeError("viewMode() expects a string parameter");if(r.indexOf(a)===-1)throw new TypeError("viewMode() parameter must be one of ("+r.join(", ")+") value");return d.viewMode=a,k=Math.max(r.indexOf(a),p),L(),l},l.toolbarPlacement=function(a){if(0===arguments.length)return d.toolbarPlacement;if("string"!=typeof a)throw new TypeError("toolbarPlacement() expects a string parameter");if(u.indexOf(a)===-1)throw new TypeError("toolbarPlacement() parameter must be one of ("+u.join(", ")+") value");return d.toolbarPlacement=a,o&&(ba(),ga()),l},l.widgetPositioning=function(b){if(0===arguments.length)return a.extend({},d.widgetPositioning);if("[object Object]"!=={}.toString.call(b))throw new TypeError("widgetPositioning() expects an object variable");if(b.horizontal){if("string"!=typeof b.horizontal)throw new TypeError("widgetPositioning() horizontal variable must be a string");if(b.horizontal=b.horizontal.toLowerCase(),t.indexOf(b.horizontal)===-1)throw new TypeError("widgetPositioning() expects horizontal parameter to be one of ("+t.join(", ")+")");d.widgetPositioning.horizontal=b.horizontal}if(b.vertical){if("string"!=typeof b.vertical)throw new TypeError("widgetPositioning() vertical variable must be a string");if(b.vertical=b.vertical.toLowerCase(),s.indexOf(b.vertical)===-1)throw new TypeError("widgetPositioning() expects vertical parameter to be one of ("+s.join(", ")+")");d.widgetPositioning.vertical=b.vertical}return _(),l},l.calendarWeeks=function(a){if(0===arguments.length)return d.calendarWeeks;if("boolean"!=typeof a)throw new TypeError("calendarWeeks() expects parameter to be a boolean value");return d.calendarWeeks=a,_(),l},l.showTodayButton=function(a){if(0===arguments.length)return d.showTodayButton;if("boolean"!=typeof a)throw new TypeError("showTodayButton() expects a boolean parameter");return d.showTodayButton=a,o&&(ba(),ga()),l},l.showClear=function(a){if(0===arguments.length)return d.showClear;if("boolean"!=typeof a)throw new TypeError("showClear() expects a boolean parameter");return d.showClear=a,o&&(ba(),ga()),l},l.widgetParent=function(b){if(0===arguments.length)return d.widgetParent;if("string"==typeof b&&(b=a(b)),null!==b&&"string"!=typeof b&&!(b instanceof a))throw new TypeError("widgetParent() expects a string or a jQuery object parameter");return d.widgetParent=b,o&&(ba(),ga()),l},l.keepOpen=function(a){if(0===arguments.length)return d.keepOpen;if("boolean"!=typeof a)throw new TypeError("keepOpen() expects a boolean parameter");return d.keepOpen=a,l},l.focusOnShow=function(a){if(0===arguments.length)return d.focusOnShow;if("boolean"!=typeof a)throw new TypeError("focusOnShow() expects a boolean parameter");return d.focusOnShow=a,l},l.inline=function(a){if(0===arguments.length)return d.inline;if("boolean"!=typeof a)throw new TypeError("inline() expects a boolean parameter");return d.inline=a,l},l.clear=function(){return ca(),l},l.keyBinds=function(a){return 0===arguments.length?d.keyBinds:(d.keyBinds=a,l)},l.getMoment=function(a){return y(a)},l.debug=function(a){if("boolean"!=typeof a)throw new TypeError("debug() expects a boolean parameter");return d.debug=a,l},l.allowInputToggle=function(a){if(0===arguments.length)return d.allowInputToggle;if("boolean"!=typeof a)throw new TypeError("allowInputToggle() expects a boolean parameter");return d.allowInputToggle=a,l},l.showClose=function(a){if(0===arguments.length)return d.showClose;if("boolean"!=typeof a)throw new TypeError("showClose() expects a boolean parameter");return d.showClose=a,l},l.keepInvalid=function(a){if(0===arguments.length)return d.keepInvalid;if("boolean"!=typeof a)throw new TypeError("keepInvalid() expects a boolean parameter"); +return d.keepInvalid=a,l},l.datepickerInput=function(a){if(0===arguments.length)return d.datepickerInput;if("string"!=typeof a)throw new TypeError("datepickerInput() expects a string parameter");return d.datepickerInput=a,l},l.parseInputDate=function(a){if(0===arguments.length)return d.parseInputDate;if("function"!=typeof a)throw new TypeError("parseInputDate() sholud be as function");return d.parseInputDate=a,l},l.disabledTimeIntervals=function(b){if(0===arguments.length)return d.disabledTimeIntervals?a.extend({},d.disabledTimeIntervals):d.disabledTimeIntervals;if(!b)return d.disabledTimeIntervals=!1,_(),l;if(!(b instanceof Array))throw new TypeError("disabledTimeIntervals() expects an array parameter");return d.disabledTimeIntervals=b,_(),l},l.disabledHours=function(b){if(0===arguments.length)return d.disabledHours?a.extend({},d.disabledHours):d.disabledHours;if(!b)return d.disabledHours=!1,_(),l;if(!(b instanceof Array))throw new TypeError("disabledHours() expects an array parameter");if(d.disabledHours=oa(b),d.enabledHours=!1,d.useCurrent&&!d.keepInvalid){for(var c=0;!R(e,"h");){if(e.add(1,"h"),24===c)throw"Tried 24 times to find a valid date";c++}aa(e)}return _(),l},l.enabledHours=function(b){if(0===arguments.length)return d.enabledHours?a.extend({},d.enabledHours):d.enabledHours;if(!b)return d.enabledHours=!1,_(),l;if(!(b instanceof Array))throw new TypeError("enabledHours() expects an array parameter");if(d.enabledHours=oa(b),d.disabledHours=!1,d.useCurrent&&!d.keepInvalid){for(var c=0;!R(e,"h");){if(e.add(1,"h"),24===c)throw"Tried 24 times to find a valid date";c++}aa(e)}return _(),l},l.viewDate=function(a){if(0===arguments.length)return f.clone();if(!a)return f=e.clone(),l;if(!("string"==typeof a||b.isMoment(a)||a instanceof Date))throw new TypeError("viewDate() parameter must be one of [string, moment or Date]");return f=da(a),K(),l},c.is("input"))g=c;else if(g=c.find(d.datepickerInput),0===g.length)g=c.find("input");else if(!g.is("input"))throw new Error('CSS class "'+d.datepickerInput+'" cannot be applied to non input element');if(c.hasClass("input-group")&&(n=0===c.find(".datepickerbutton").length?c.find(".input-group-addon"):c.find(".datepickerbutton")),!d.inline&&!g.is("input"))throw new Error("Could not initialize DateTimePicker without an input element");return e=y(),f=e.clone(),a.extend(!0,d,H()),l.options(d),pa(),la(),g.prop("disabled")&&l.disable(),g.is("input")&&0!==g.val().trim().length?aa(da(g.val().trim())):d.defaultDate&&void 0===g.attr("placeholder")&&aa(d.defaultDate),d.inline&&ga(),l};return a.fn.datetimepicker=function(b){b=b||{};var d,e=Array.prototype.slice.call(arguments,1),f=!0,g=["destroy","hide","show","toggle"];if("object"==typeof b)return this.each(function(){var d,e=a(this);e.data("DateTimePicker")||(d=a.extend(!0,{},a.fn.datetimepicker.defaults,b),e.data("DateTimePicker",c(e,d)))});if("string"==typeof b)return this.each(function(){var c=a(this),g=c.data("DateTimePicker");if(!g)throw new Error('bootstrap-datetimepicker("'+b+'") method was called on an element that is not using DateTimePicker');d=g[b].apply(g,e),f=d===g}),f||a.inArray(b,g)>-1?this:d;throw new TypeError("Invalid arguments for DateTimePicker: "+b)},a.fn.datetimepicker.defaults={timeZone:"",format:!1,dayViewHeaderFormat:"MMMM YYYY",extraFormats:!1,stepping:1,minDate:!1,maxDate:!1,useCurrent:!0,collapse:!0,locale:b.locale(),defaultDate:!1,disabledDates:!1,enabledDates:!1,icons:{time:"glyphicon glyphicon-time",date:"glyphicon glyphicon-calendar",up:"glyphicon glyphicon-chevron-up",down:"glyphicon glyphicon-chevron-down",previous:"glyphicon glyphicon-chevron-left",next:"glyphicon glyphicon-chevron-right",today:"glyphicon glyphicon-screenshot",clear:"glyphicon glyphicon-trash",close:"glyphicon glyphicon-remove"},tooltips:{today:"Go to today",clear:"Clear selection",close:"Close the picker",selectMonth:"Select Month",prevMonth:"Previous Month",nextMonth:"Next Month",selectYear:"Select Year",prevYear:"Previous Year",nextYear:"Next Year",selectDecade:"Select Decade",prevDecade:"Previous Decade",nextDecade:"Next Decade",prevCentury:"Previous Century",nextCentury:"Next Century",pickHour:"Pick Hour",incrementHour:"Increment Hour",decrementHour:"Decrement Hour",pickMinute:"Pick Minute",incrementMinute:"Increment Minute",decrementMinute:"Decrement Minute",pickSecond:"Pick Second",incrementSecond:"Increment Second",decrementSecond:"Decrement Second",togglePeriod:"Toggle Period",selectTime:"Select Time"},useStrict:!1,sideBySide:!1,daysOfWeekDisabled:!1,calendarWeeks:!1,viewMode:"days",toolbarPlacement:"default",showTodayButton:!1,showClear:!1,showClose:!1,widgetPositioning:{horizontal:"auto",vertical:"auto"},widgetParent:null,ignoreReadonly:!1,keepOpen:!1,focusOnShow:!0,inline:!1,keepInvalid:!1,datepickerInput:".datepickerinput",keyBinds:{up:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")?this.date(b.clone().subtract(7,"d")):this.date(b.clone().add(this.stepping(),"m"))}},down:function(a){if(!a)return void this.show();var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")?this.date(b.clone().add(7,"d")):this.date(b.clone().subtract(this.stepping(),"m"))},"control up":function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")?this.date(b.clone().subtract(1,"y")):this.date(b.clone().add(1,"h"))}},"control down":function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")?this.date(b.clone().add(1,"y")):this.date(b.clone().subtract(1,"h"))}},left:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")&&this.date(b.clone().subtract(1,"d"))}},right:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")&&this.date(b.clone().add(1,"d"))}},pageUp:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")&&this.date(b.clone().subtract(1,"M"))}},pageDown:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")&&this.date(b.clone().add(1,"M"))}},enter:function(){this.hide()},escape:function(){this.hide()},"control space":function(a){a&&a.find(".timepicker").is(":visible")&&a.find('.btn[data-action="togglePeriod"]').click()},t:function(){this.date(this.getMoment())},delete:function(){this.clear()}},debug:!1,allowInputToggle:!1,disabledTimeIntervals:!1,disabledHours:!1,enabledHours:!1,viewDate:!1},a.fn.datetimepicker}); \ No newline at end of file diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/component.json b/public/bower_components/eonasdan-bootstrap-datetimepicker/component.json new file mode 100644 index 0000000..817d7d9 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/component.json @@ -0,0 +1,9 @@ +{ + "name": "bootstrap-datetimepicker", + "version": "4.17.47", + "main": ["build/css/bootstrap-datetimepicker.min.css","build/js/bootstrap-datetimepicker.min.js"], + "dependencies": { + "jquery" : ">=1.8.3", + "moment": ">=2.10.5" + } +} diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/composer.json b/public/bower_components/eonasdan-bootstrap-datetimepicker/composer.json new file mode 100644 index 0000000..6f1f44a --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/composer.json @@ -0,0 +1,28 @@ +{ + "name": "eonasdan/bootstrap-datetimepicker", + "type": "component", + "version": "4.17.47", + "description": "Date/time picker widget based on twitter bootstrap", + "keywords": [ + "bootstrap", + "datetimepicker" + ], + "homepage": "http://eonasdan.github.io/bootstrap-datetimepicker/", + "license": "MIT", + "require": { + "robloach/component-installer": "*", + "components/jquery": ">=1.9.1", + "moment/moment": ">=2.10.5" + }, + "extra": { + "component": { + "scripts": [ + "src/js/bootstrap-datetimepicker.js" + ], + "files": [ + "build/js/bootstrap-datetimepicker.min.js", + "build/css/bootstrap-datetimepicker.min.css" + ] + } + } +} diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/ChangeLog.md b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/ChangeLog.md new file mode 100644 index 0000000..9e20323 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/ChangeLog.md @@ -0,0 +1,237 @@ +# Version 4 + +## 4.17.42 + +### Bug Squashing + +* fixed moment dependencies to all be the same +* defaulted `option.timeZone` to `''` instead of UTC. This way it will default to the local timezone if it's not set. +* fixed #959 +* fixed #1311 internal `getMoment` function no longer sets `startOf('d')` +* fixed #935 + +### Other + +* moved some (will move the rest soon) inline docs to JSDoc now that ReSharper supports it. +* moved getter/setter functions to options page instead. #1313 + +## 4.17.37 + +### New Features + +* Momentjs TZ intergration #1242 thanks @bodrick +* Independent CSS file, in case you don't want bootstrap for some reason + +### Bug Squashing + +* Slight changes decade view +* Moved all tooltip text to `tooltips` +* fixed #1212 + +## 4.15.35 + +### New Features + +`tooltips` allows custom, localized text to be included for icon tooltips + +### Bug Squashing + +fixed #1066 + +fixed #1087 `sideBySide` properly supports `toolbarPlacement [top, bottom]` + +fixed #1119 + +fixed #1069 added input.blur() + +fixed #1049 fixed doc example + +fixed #999 picker now looks for an element with `.input-group-addon` + + +## 4.14.30 + +### New Features + +`disabledTimeIntervals` #644 + +`allowInputToggle` #929 + +`focusOnShow` #884 + +public `viewDate` function #872 + +`enabledHours` and `disabledHours`. + +`dp.update` fires when `viewDate` is changed (in most cases) #937 + +`viewMode` now supports a decades view. + + **Note**: because the year picker shows 12 years at a time, I've elected to make this view show blocks of 12 years + + **Note**: when selecting a decade the `viewDate` will change to the **center** of the selected years + +`parseInputDate` #1095 + +### Bug Squashing + +fixed #815 by adding `.wider` when using both seconds and am/pm. + +fixed #816 changed both min/max date to move the selected date inside. + +fixed #855 #881 `fillDate`, `fillMonths`, `fillDow` uses `startOf('day')`, which will hopefully fix the DST issues. + +fixed #885 `daysOfWeekDisabled` will move the date to a valid date if `useCurrent` is `true`. Today button will check if the DoW is disabled. + +fixed #906 + +fixed #912 if `useCurrent:false` month and year view will no longer have the current month/year selected. + +fixed #914 `use24hours` will ignore anything in side of `[]` in the format string. + +fixed #916 added titles to all icons. At some point the text should be moved to the icon's array, but this would probably be a breaking change. + +fixed #940 added -1 tab index to am/pm selector + +### Other Changes + +changed in/decrement behavior to check if the new date is valid at that granularity (hours, minutes, seconds). will also validate as before + +## 4.7.14 + +Added several in new features: + + `keybinds`, `inline`, `debug`, `clear()`, `showClose`, `ingoreReadOnly`, `datepickerInput` and `keepInvalid`. + +Bug squashing + +## 4.0.0 + +#### Changes for using the component + +* Defined a [Public API](https://github.com/Eonasdan/bootstrap-datetimepicker/wiki/Version-4-Public-API) and hidden rest of functions, variables so that all configuration options can be changed dynamically. + +* `set/getDate()` is now replaced with an overloaded `date()` function. Use it without a parameter to get the currently set date or with a parameter to set the date. + +* `hide()`, `show()`, `toggle()`, `enable()`, `disable()` and the rest of setter functions now support chaining. ie `$('#id').data('DateTimePicker').format('DD-MM-YYYY').minDate(moment()).defaultDate(moment()).show()` works + +* Replaced previous - next buttons in Date subviews with configurable icons + +* Changed `language` option name to `locale` to be inline with moment naming + +* Implemented #402 all data-date-* variables are more readable and also match with the ones in the configuration object + +* `options.direction` and `options.orientation` were merged into a single object `options.widgetPositioning` with `vertical` and `horizontal` keys that take a string value of `'auto', 'top', 'bottom'` and `'auto', 'left', 'right'` respectively. Note that the `'up'` option was renamed to `'top'` + +#### Added functionality + +* added a second way to define options as data attributes. Instead of adding distinct `data-date-*` config options you can now also pass a `data-date-options` attribute containing an object just the same as the options object that `element.datetimepicker` constructor call takes + +* also added a `options()` public api function to get/set that takes an option object and applies it to the component in one call + +* Implemented [#130](https://github.com/Eonasdan/bootstrap-datetimepicker/issues/130) by introducing a boolean `options.calendarWeeks` and `calendarWeeks()` api function + +* Implemented [#328](https://github.com/Eonasdan/bootstrap-datetimepicker/issues/328), [#426](https://github.com/Eonasdan/bootstrap-datetimepicker/issues/426) + +* Implemented [#432](https://github.com/Eonasdan/bootstrap-datetimepicker/issues/432). Widget DOM element is now lazily added only when shown and removed from the document when hidden. + +* Implemented [#141](https://github.com/Eonasdan/bootstrap-datetimepicker/issues/141) and [#283](https://github.com/Eonasdan/bootstrap-datetimepicker/issues/283) + + +#### Contributors related internal code changes + +* Refactor all UI click functions and put them as functions in the actions array private variable + +* Refactor template building process to seperate functions according to what they do + +* Remove some styles that where hardcoded in the javascript code + +* Refactor all code that changes the picker.date to change it through the setValue function to allow one place for validation logic (min/max/weekdaysenabled etc) and also one place for emmiting dp.change events + +* The v4beta branch code includes all fixes up to v.3.1.2 + +* Added `toggle()` to the public API which toggles the visibility of the DateTimePicker + +* Refactored set function to be included in the setValue function + +* Added a testing framework using jasmine and phantom.js + +# Version 3 + +## 3.0.0 + + +* Fix for #170, #179, #183: Changed event to `dp.-`. This should fix the double change event firing. +* Fix for #192: `setDate` now fires `dp.change` +* Fix for #182: Picker will **not** set the default date if the input field has a value +* Fix for #169: Seconds doesn't get reset when changing the date (Thanks to PR #174) +* Fix for #168 z-index fix for BS modal +* Fix for #155 Picker properly displays the active year and month +* Fix for #154 CSS update to fix the collapse jump +* Fix for #150 and #75 `minViewMode` and `viewMode` work properly +* Fix for #147 AM/PM won't toggle when selecting a value from the hours grid +* Fix for #44 Finally! It's here!! Thanks to @ruiwei and his code on #210 picker will adjust the positioning of the widget. + +#### Manually merged PR + +* PR #178 When using `minuteStepping` the minute select grid will only show available steppings +* PR #195, #197 Using the `data-OPTION` has been changed to `data-date-OPTION`. These options are expected to be on the `input-group` if you're using the `input-group` **or** the a bare input field if you're not using the `input-group` +* PR #184 The option `sideBySide` change be used to display both the d and the timepicker side by side +* PR #143 Added option `daysOfWeekDisabled: []`. For example, use `daysOfWeekDisabled: [0,6]` to disable Sunday and Saturday + +#### **Other Changes** +* Changed picker width to 300px if using seconds and am/pm +* Added option `useCurrent`, thanks to @ruiwei. When true, picker will set the value to the current date/time (respects picker's format) +* Added option `showToday`, thanks to @ruiwei. When true, picker will display a small arrow to indicate today's date. +* Changed `startDate` to `minDate` and `endDate` to `maxDate` to make it more clear what these options do. + +# Version 2 + +#### 2.1.32 (Hotfix) + +* Fix for #151: When a bad date value or the picker is cleared, the plugin will not longer attempt to reset it back to the previous date +* Fix for #140: `setDate` can be given `null` to force clear the picker + +#### 2.1.30 +##### Important! `build.less` file name has been been changed to `bootstrap-datetimepicker-build.less` to prevent collisions + +* Fix for #135: `setStartDate` and `setEndDate` should now properly set. +* Fix for #133: Typed in date now respects en/disabled dates +* Fix for #132: En/disable picker function works again +* Fix for #117, #119, #128, #121: double event `change` event issues should be fixed +* Fix for #112: `change` function no longer sets the input to a blank value if the passed in date is invalid + +* Enhancement for #103: Increated the `z-index` of the widget + +#### 2.1.20 +* Fix for #83: Changes to the picker should fire native `change` event for knockout and the like as well as `change.dp` which contains the old date and the new date +* Fix for #78: Script has been update for breaking changes in Moment 2.4.0 +* Fix for #73: IE8 should be working now + +* Enhancement for #79: `minuteStepping` option takes a number (default is 1). Changing the minutes in the time picker will step by this number. +* Enhancement for #74 and #65: `useMinutes` and `useSeconds` are now options. Disabling seconds will hide the seconds spinner. Disabling minutes will display `00` and hide the arrows +* Enhancement for #67: Picker will now attempt to convert all `data-OPTION` into its appropriate option + +#### 2.1.11 +* Fix for #51, #60 +* Fix for #52: Picker has its own `moment` object since moment 2.4.0 has removed global reference +* Fix for #57: New option for `useStrict`. When validating dates in `update` and `change`, the picker can use a stricter formatting validation +* Fix for #61: Picker should now properly take formatted date. Should also have correct start of the week for locales. +* Fix for #62: Default format will properly validate time picker only. + +#### 2.1.5 +* Custom icons, such as Font Awesome, are now supported. (#49) +* If more then one `input-group-addon` is present use `datepickerbutton` to identify where the picker should popup from. (#48) +* New Event: `error.dp`. Fires when Moment cannot parse the date or when the timepicker cannot change because of a `disabledDates` setting. Returns a Moment date object. The specific error can be found be using `invalidAt()`. For more information see [Moment's docs](http://momentjs.com/docs/#/parsing/is-valid/) +* Fix for #42, plugin will now check for `A` or `a` in the format string to determine if the AM/PM selector should display. +* Fix for #45, fixed null/empty and invalid dates +* Fix for #46, fixed active date highlighting +* Fix for #47, `change.dp` event to also include the previous date. + +####2.0.1 +* New event `error.dp` fires when plugin cannot parse date or when increase/descreasing hours/minutes to a disabled date. +* Minor fixes + +####2.0.0 +* `disabledDates` is now an option to set the disabled dates. It accepts date objects like `new Date("November 12, 2013 00:00:00")` and `12/25/2013' and `moment` date objects +* Events are easier to use \ No newline at end of file diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/ContributorsGuide.md b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/ContributorsGuide.md new file mode 100644 index 0000000..ed3e9fa --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/ContributorsGuide.md @@ -0,0 +1,126 @@ +This guide is aimed to contributors wishing to understand the internals of the code in order to change/evolve the component. + +**Note:** this guide refers to **version 4** which is currently in beta and will be updated as we progress + +## Introduction +This component consists actually of 2 subcomponent UI widgets one for the date and one for the time selection process. The developers can configure which of those are needed and also the granularity that the component will allow the users to select a date/time. Developers also choose the format that the selected datetime will be displayed in the input field. +The component uses on `jQuery`, `moment.js` and `bootstrap` libraries. + +## Code +### Private variables + +* `element` - Holds the DOM element this instance is attached to + +* `options` - Holds an object with the curently set options for the specific instance of the component. Don't directly change the properties of that object use the public API methods instead. DO NOT expose this object or its properties outside of the component. + +* `picker` - Reference variable to the created instance `(this)` + +* `date` - Holds the moment object for the model value of the component. **DON'T** directly change this variable unless you **REALLY** know what you are doing. Use `setValue()` function to set it. It handles all component logic for updating the model value and emitting all the appropriate events + +* `viewDate` - Holds the currently selected value that the user has selected through the widget. This is not the model value this is the view value. Changing this usually requires a subsequent call to `update()` function + +* `unset` - A `boolean` variable that holds wheather the components model value is set or not. Model's value starts as `unset = true` and if is either set by the user or programmatically through the api to a valid value then it is set to `false`. If subsequent events lead to an invalid value then this variable is set to `true` again. Setting this variable usually takes place in the `setValue()` function. + +* `input` - Hold the DOM input element this instance is attached to + +* `component` - Holds a reference to the .input-group DOM element that the widget is attached or false if it is attached directly on an input field + +* `widget` - Holds a reference to the DOM element containing the widget or `false` if the widget is hidden + +* `use24hours` - Holds whether the component uses 24 hours format or not. This is initialized on the `format()` function + +* `minViewModeNumber` - Holds the Numeric equivelant of the options.minViewMode parameter + +* `format` - Holds the current format string that is used for formating the date model value. Note this is not the same thing as the `options.format` as the second could be set to `false` in which case the first takes the locale's `L` or `LT` value + +* `currentViewMode` - Hold the state of the current viewMode for the DatePicker subcomponent + +* `actions` - An object containing all the functions that can be called when the users clicks on the widget + +* `datePickerModes` - An array of objects with configuration parameters for the different views of the DatePicker subcomponent + +* `viewModes` - An array of strings containing all the possible strings that `options.viewMode` can take through `viewMode()` public api function + +* `directionModes` - An array of strings containing all the possible strings that `options.direction` can take through `direction()` public api function + +* `orientationModes` - An array of strings containing all the possible strings that `options.orientation` can take through `orientation()` public api function + +### Private functions + +#### Widget related + +* `getDatePickerTemplate()` - returns a string containing the html code for the date picker subcomponent + +* `getTimePickerTemplate()` - returns a string containing the html code for the time picker subcomponent + +* `getTemplate()` - returns a string with containing the html code for all the DateTimePicker component + +* `place()` - handles the placement of the widget's dropdown + +* `updateMonths()` - updates the html subpage related to the months for Date picker view + +* `updateYears()` - updates the html subpage related to the years for Date picker view + +* `fillDate()` - updates the html subpage related to the days for Date picker view + +* `fillHours()` - Creates the hours spans for the hours subview of the Time subcomponent + +* `fillMinutes()` - Creates the minutes spans for the hours subview of the Time subcomponent + +* `fillSeconds()` - Creates the seconds spans for the hours subview of the Time subcomponent + +* `fillTime()` - Creates the main subview of the Time subcomponent + +* `update()` - updates the UI of part of the widget + +* `fillDow()` - Creates the day names in the days subview on the Date subcomponent + +* `fillMonths()` - Creates the month spans for the months subview of the Date subcomponent + +* `createWidget()` - creates the UI widget end attaches widget event listeners + +* `destroyWidget()` - destroys the UI widget DOM element and detaches widget event listeners + +* `showMode(dir)` - toggles between the various subpage related views of the DateTimePicker + +#### Events related + +* `notifyEvent(e)` - Use this function when you want to send en event to listener this could be used as a filter later + +* `stopEvent(e)` - Shortcut for stopping propagation of events + +* `doAction(e)` - Proxy function to call all the UI related click events + +* `keydown(e)` - Function to trap + +* `change(e)` - Listener function to track change events occuring on the `input` dom element the component is attached to + +* `attachDatePickerElementEvents()` - Attaches listeners to the existing DOM elements the component is attached to. Called upon construction of each datetimepicker instance + +* `detachDatePickerElementEvents()` - Detaches listeners from the DOM element the component is attached to. Called on `destroy()` + +* `attachDatePickerWidgetEvents()` - Attaches listeners on the components widget. Called on `show()` + +* `detachDatePickerWidgetEvents()` - Detaches listeners on the components widget. Called on `hide()` + +#### Model related + +* `setValue(targetMoment)` - Sets the model value of the component takes a moment object. An `error` event will be emmited if the `targetMoment` does not pass the configured validations. Otherwise the `date` variable will be set and the relevant events will be fired. + +* `isValid(targetMoment, granularity)` - returns `true` if the `targetMoment` moment object is valid according to the components set validation rules (`min/maxDates`, `disabled/enabledDates` and `daysOfWeekDisabled`). You may pass a second variable to check only up the the specific granularity `year, month, day, hour, minute, second` + +#### Utilities + +* `indexGivenDates (givenDatesArray)` - Function that takes the array from `enabledDates()` and `disabledDates()` public functions and stores them as object keys to enable quick lookup + +* `isInEnableDates(date)` - Checks whether if the given moment object exists in the `options.enabledDates` object + +* `isInDisableDates(date)` - Checks whether if the given moment object exists in the `options.disabledDates` array + +* `dataToOptions()` - Parses `data-date-*` options set on the input dom element the component is attached to and returns an object with them + +* `isInFixed()` - Checks if the dom element or its parents has a fixed position css rule. + +* `parseInputDate(date)` - Parses a date parameter with moment using the component's `options.format` and `options.useStrict`. It returns a `moment` object or false if `parsedMoment#isValid()` returns `false`. Use this to parse date inputs from outside the component (public API calls). + +* `init()` - Initializes the component. Called when the component instance is created diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Events.md b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Events.md new file mode 100644 index 0000000..6ed53b1 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Events.md @@ -0,0 +1,97 @@ +## Events + +### dp.hide + +Fired when the widget is hidden. + +Parameters: + +``` +e = { + date //the currently set date. Type: moment object (clone) +} +``` + +Emitted from: + +* toggle() +* hide() +* disable() + +---------------------- + +### dp.show + +Fired when the widget is shown. + +Parameters: + +No parameters are include, listen to `dp.change` instead + +Emitted from: + +* toggle() +* show() + +---------------------- + +### dp.change + +Fired when the date is changed, including when changed to a non-date (e.g. When keepInvalid=true). + +Parameters: + +``` +e = { + date, //date the picker changed to. Type: moment object (clone) + oldDate //previous date. Type: moment object (clone) or false in the event of a null +} +``` + +Emitted from: + +* toggle() **Note**: Only fired when using `useCurrent` +* show() **Note**: Only fired when using `useCurrent` or when or the date is changed to comply with date rules (min/max etc) +* date(newDate) +* minDate(minDate) +* maxDate(maxDate) +* daysOfWeekDisabled() + +---------------------- + +### dp.error + +Fired when a selected date fails to pass validation. + +Parameters: + +``` +e = { + date //the invalid date. Type: moment object (clone) + oldDate //previous date. Type: moment object (clone) or false in the event of a null +} +``` + +Emmited from: + +* minDate(minDate) +* maxDate(maxDate) +* daysOfWeekDisabled() +* setValue() *private function* + +---------------------- + +### dp.update + +<small>4.14.30</small> + +Fired (in most cases) when the `viewDate` changes. E.g. Next and Previous buttons, selecting a year. + +Parameters: + +``` +e = { + change, //Change type as a momentjs format token. Type: string e.g. yyyy on year change + viewDate //new viewDate. Type: moment object +} +``` \ No newline at end of file diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Extras.md b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Extras.md new file mode 100644 index 0000000..d830185 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Extras.md @@ -0,0 +1,95 @@ +# Extras + +Guides for making the picker work better with rails, IE, etc + +## Rails 3 + +by [dhulihan](https://github.com/dhulihan) + +You can easily override the default rails form helpers (`date_select` and `datetime_select`) with bootstrap-datetimepicker for a much nicer experience. + +```rb +# Add to config/initializers/form.rb or the end of app/helpers/application_helper.rb +module ActionView + module Helpers + class FormBuilder + def date_select(method, options = {}, html_options = {}) + existing_date = @object.send(method) + formatted_date = existing_date.to_date.strftime("%F") if existing_date.present? + @template.content_tag(:div, :class => "input-group") do + text_field(method, :value => formatted_date, :class => "form-control datepicker", :"data-date-format" => "YYYY-MM-DD") + + @template.content_tag(:span, @template.content_tag(:span, "", :class => "glyphicon glyphicon-calendar") ,:class => "input-group-addon") + end + end + + def datetime_select(method, options = {}, html_options = {}) + existing_time = @object.send(method) + formatted_time = existing_time.to_time.strftime("%F %I:%M %p") if existing_time.present? + @template.content_tag(:div, :class => "input-group") do + text_field(method, :value => formatted_time, :class => "form-control datetimepicker", :"data-date-format" => "YYYY-MM-DD hh:mm A") + + @template.content_tag(:span, @template.content_tag(:span, "", :class => "glyphicon glyphicon-calendar") ,:class => "input-group-addon") + end + end + end + end +end +``` + +The time format used here is ActiveRecord-friendly, which means it will be parsed correctly when passed in through `params` to your record. + +That's all there is to it! Now all of your forms that use `datetime_select` or `date_select` will be automatically updated: + +```erb +<% form_for @post do |f| %> + <div class="form-group"> + <label>Published At</label> + <%= f.datetime_select :published_at %> + </div> +<% end %> +``` + +## IE 7 + +by [EquilibriumCST](https://github.com/EquilibriumCST) + +I succeed to run this widget under IE7. +Here is what I did. + +1. gliphicons are not working under IE7 so add [this css file](https://github.com/coliff/bootstrap-ie7). And this enables the icons. + +2. Z-index problem with IE 7. I added position: relative and `z-index: 10` to the parent container. Otherwise popup is shown under the next elements. + +3. JS events were not working well. + +If you open the datetimepicker widget and click on some button or date inside it, widget is automatically closed. +So I added `debug: true` as an option when initializing the widget. Why I did this? I saw on line 1121 from bootsrap-datetimepicker.js the code `'blur': options.debug ? '' : hide`. +And now widget window is not closed on every click inside it, but now you can't close it anyway :) +And closing should be done manually. I've added this document click handler. If you click something outside the widget, now closing works. + +``` +$(document).click(function(e){ + var target = $(e.target); + if(target.parents('.bootstrap-datetimepicker-widget').length < 1 && !target.hasClass('datetimepickerInput') && !target.hasClass('datepickerIcon') && !target.hasClass('clockpickerIcon')){ + if($('.bootstrap-datetimepicker-widget').length > 0){ + $('#startDate').data('DateTimePicker').hide(); + $('#startTime').data('DateTimePicker').hide(); + $('.datetimepickerInput').blur(); + } + } + }); +``` + + +But if you have more than one widget on the page like I did, clicking on one widget does'n close the other. Added below lines and now all works fine. + +``` +$('#widget1').on("dp.show",function (e) { + $('#widget2).data('DateTimePicker').hide(); +}); + +$('#widget2').on("dp.show",function (e) { + $('#widget1).data('DateTimePicker').hide(); +}); +``` + +I hope this will help to the others who are fighting with the old IE versions :) \ No newline at end of file diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/FAQ.md b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/FAQ.md new file mode 100644 index 0000000..82cc4d5 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/FAQ.md @@ -0,0 +1,22 @@ +# FAQs + +# How do I disable the date or time element +<small>How do I format ...; How do I add seconds; etc.</small> + +The picker uses the `format` option to decide what components to show. Set `format` to `LT`, `LTS` or another valid [MomentJs format string](http://momentjs.com/docs/#/displaying/format/) to display certain components + +# How do I change the language/locale + +The picker uses MomentJs to determine the language string. You can use `moment-with-locales` or you can include whatever local file you need. Set the picker's `locale` option to `de` or whatever the locale string is. + +# How do I change the styles? The picker closes. + +Set `debug:true` which will force the picker to stay open, even `onBlur`. You can hide the picker manually by calling `hide()` + +# How do I change the start of the week? + +Start of the week is based on the [`locale` provided](Options.md#locale). This is defined by moment's locales. If you want to change it, create your own locale file or override. [See moment's docs](http://momentjs.com/docs/#/i18n/). + +# How I use the picker as birthday picker? + +Use the [`viewMode`](Options.md#viewmode) option to `'years'` \ No newline at end of file diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Functions.md b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Functions.md new file mode 100644 index 0000000..2e74097 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Functions.md @@ -0,0 +1,82 @@ +## Functions + +<div class="alert alert-info"> + <strong>Note</strong> + All functions are accessed via the <code>data</code> attribute e.g. <code>$('#datetimepicker').data("DateTimePicker").FUNCTION()</code> +</div> + +###destroy() + +Destroys the widget and removes all attached event listeners + +---------------------- + +### toggle() + +Shows or hides the widget + +#### Emits + +* `dp.hide` - if the widget is hidden after the toggle call + +* `dp.show` - if the widget is show after the toggle call + +* `dp.change` - if the widget is opened for the first time and the input element is empty and `options.useCurrent != false` + +---------------------- + +### show() + +Shows the widget + +#### Emits + +* `dp.show` - if the widget was hidden before that call + +* `dp.change` - if the widget is opened for the first time and the useCurrent is set to true or to a granularity value and the input element the component is attached to has an empty value + +---------------------- + +### hide() + +Hides the widget + +#### Emits + +* `dp.hide` - if the widget was visible before that call + +---------------------- + +### disable() + +Disables the input element, the component is attached to, by adding a `disabled="true"` attribute to it. If the widget was visible before that call it is hidden. + +#### Emits + +* `dp.hide` - if the widget was visible before that call + +---------------------- + +### enable() + +Enables the input element, the component is attached to, by removing `disabled` attribute from it. + +---------------------- + +### clear() + +Clears the datepicker by setting the value to `null` + +### viewDate + +<small>4.14.30</small> Issue #872 + +#### viewDate() + +Returns a `moment` variable with the currently set `options.viewDate` option. + +#### viewDate(viewDate) + +Takes a `string, moment or Date` value. + +This will change the `viewDate` without changing or setting the selected date. \ No newline at end of file diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Installing.md b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Installing.md new file mode 100644 index 0000000..84fde42 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Installing.md @@ -0,0 +1,161 @@ +# Minimal Requirements + +1. jQuery +2. Moment.js +3. Bootstrap.js (transition and collapse are required if you're not using the full Bootstrap) +4. Bootstrap Datepicker script +5. Bootstrap CSS +6. Bootstrap Datepicker CSS +7. Locales: Moment's locale files are [here](https://github.com/moment/moment/tree/master/locale) + +# Installation Guides +* [Bower](#bower-) +* [Nuget](#nuget) +* [Rails](#rails-) +* [Angular](#angular-wrapper) +* [Meteor.js](#meteorjs) +* [Manual](#manual) + +## [bower](http://bower.io)  + +Run the following command: +``` +bower install eonasdan-bootstrap-datetimepicker#latest --save +``` + +Include necessary scripts and styles: +```html +<head> + <!-- ... --> + <script type="text/javascript" src="/bower_components/jquery/jquery.min.js"></script> + <script type="text/javascript" src="/bower_components/moment/min/moment.min.js"></script> + <script type="text/javascript" src="/bower_components/bootstrap/dist/js/bootstrap.min.js"></script> + <script type="text/javascript" src="/bower_components/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js"></script> + <link rel="stylesheet" href="/bower_components/bootstrap/dist/css/bootstrap.min.css" /> + <link rel="stylesheet" href="/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css" /> +</head> +``` +## Nuget +### [LESS](https://www.nuget.org/packages/Bootstrap.v3.Datetimepicker/):  +``` +PM> Install-Package Bootstrap.v3.Datetimepicker +``` + +### [CSS](https://www.nuget.org/packages/Bootstrap.v3.Datetimepicker.CSS/):  +``` +PM> Install-Package Bootstrap.v3.Datetimepicker.CSS +``` + +```html +<head> + <script type="text/javascript" src="/scripts/jquery.min.js"></script> + <script type="text/javascript" src="/scripts/moment.min.js"></script> + <script type="text/javascript" src="/scripts/bootstrap.min.js"></script> + <script type="text/javascript" src="/scripts/bootstrap-datetimepicker.*js"></script> + <!-- include your less or built css files --> + <!-- + bootstrap-datetimepicker-build.less will pull in "../bootstrap/variables.less" and "bootstrap-datetimepicker.less"; + or + <link rel="stylesheet" href="/Content/bootstrap-datetimepicker.css" /> + --> +</head> +``` + +## [Rails](http://rubygems.org/gems/bootstrap3-datetimepicker-rails)  + +Add the following to your `Gemfile`: +```ruby +gem 'momentjs-rails', '>= 2.9.0' +gem 'bootstrap3-datetimepicker-rails', '~> 4.14.30' +``` +Note: You may need to change the version number above to the version number on the badge above. +Read the rest of the install instructions @ +[TrevorS/bootstrap3-datetimepicker-rails](https://github.com/TrevorS/bootstrap3-datetimepicker-rails) + + +## Angular Wrapper +Follow the link [here](https://gist.github.com/eugenekgn/f00c4d764430642dca4b) + +## Meteor.js + +This widget has been package for the [Meteor.js](http://www.meteor.com/) platform, to install it use meteorite as follows: + +`$ mrt add tsega:bootstrap3-datetimepicker` + +For more detail see the package page on [Atmosphere](http://atmospherejs.com/package/bootstrap3-datetimepicker) + +## Manual + +### Acquire [jQuery](http://jquery.com) +### Acquire [Moment.js](https://github.com/moment/moment) +### Bootstrap 3 collapse and transition plugins +Make sure to include *.JS files for plugins [collapse](http://getbootstrap.com/javascript/#collapse) and [transitions](http://getbootstrap.com/javascript/#transitions). They are included with [bootstrap in js/ directory](https://github.com/twbs/bootstrap/tree/master/js) +Alternatively you could include the whole bundle of bootstrap plugins from [bootstrap.js](https://github.com/twbs/bootstrap/tree/master/dist/js) + +```html +<script type="text/javascript" src="/path/to/jquery.js"></script> +<script type="text/javascript" src="/path/to/moment.js"></script> +<script type="text/javascript" src="/path/to/bootstrap/js/transition.js"></script> +<script type="text/javascript" src="/path/to/bootstrap/js/collapse.js"></script> +<script type="text/javascript" src="/path/to/bootstrap/dist/bootstrap.min.js"></script> +<script type="text/javascript" src="/path/to/bootstrap-datetimepicker.min.js"></script> +``` + +## Knockout + +``` +ko.bindingHandlers.dateTimePicker = { + init: function (element, valueAccessor, allBindingsAccessor) { + //initialize datepicker with some optional options + var options = allBindingsAccessor().dateTimePickerOptions || {}; + $(element).datetimepicker(options); + + //when a user changes the date, update the view model + ko.utils.registerEventHandler(element, "dp.change", function (event) { + var value = valueAccessor(); + if (ko.isObservable(value)) { + if (event.date != null && !(event.date instanceof Date)) { + value(event.date.toDate()); + } else { + value(event.date); + } + } + }); + + ko.utils.domNodeDisposal.addDisposeCallback(element, function () { + var picker = $(element).data("DateTimePicker"); + if (picker) { + picker.destroy(); + } + }); + }, + update: function (element, valueAccessor, allBindings, viewModel, bindingContext) { + + var picker = $(element).data("DateTimePicker"); + //when the view model is updated, update the widget + if (picker) { + var koDate = ko.utils.unwrapObservable(valueAccessor()); + + //in case return from server datetime i am get in this form for example /Date(93989393)/ then fomat this + koDate = (typeof (koDate) !== 'object') ? new Date(parseFloat(koDate.replace(/[^0-9]/g, ''))) : koDate; + + picker.date(koDate); + } + } +}; +``` + +### CSS styles + +#### Using LESS +```css +@import "/path/to/bootstrap/less/variables"; +@import "/path/to/bootstrap-datetimepicker/src/less/bootstrap-datetimepicker-build.less"; + +// [...] your custom styles and variables +``` + +Using CSS (default color palette) +```html +<link rel="stylesheet" href="/path/to/bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css" /> +``` \ No newline at end of file diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Options.md b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Options.md new file mode 100644 index 0000000..17df760 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Options.md @@ -0,0 +1,909 @@ +## Options + +<div class="alert alert-info"> + <strong>Note</strong> + All options are accessed via the <code>data</code> attribute e.g. <code>$('#datetimepicker').data("DateTimePicker").OPTION()</code> +</div> + +### options() + +Returns the components current options object. Note that the changing the values of the returned object does not change the components actual configuration. Use `options(options)` to set the components options massively or the other methods for setting config options individually. + + +### options([options]) + +Takes an object variable with option key:value properties and configures the component. Use this to update multiple options on the component. + +---------------------- + +### date + + Returns the component's model current date, a `moment` object or `null` if not set. + +####date([newDate]) + + Takes `string, Date, moment, null` parameter and sets the components model current moment to it. Passing a `null` value unsets the components model current moment. Parsing of the newDate parameter is made using moment library with the `options.format` and `options.useStrict` components configuration. + +##### Throws + +* `TypeError` - in case the `newDate` cannot be parsed + +##### Emits + +* `dp.change` - In case `newDate` is different from current moment + +---------------------- + +### format + + Default: false + +See [momentjs' docs](http://momentjs.com/docs/#/displaying/format/) for valid formats. Format also dictates what components are shown, e.g. `MM/dd/YYYY` will not display the time picker. + +#### format() + +Returns the component's `options.format` `string` + +#### format(format) + +Takes a [moment.js](http://momentjs.com/docs/#/displaying/format/) format `string` and sets the components `options.format`. This is used for displaying and also for parsing input strings either from the input element the component is attached to or the `date()` function. +The parameter can also be a `boolean:false` in which case the format is set to the locale's `L LT`. + +**Note:** this is also used to determine if the TimePicker sub component will display the hours in 12 or 24 format. (if 'a' or 'h' exists in the passed `string` then a 12 hour mode is set) + +---------------------- + +### dayViewHeaderFormat + + Default: 'MMMM YYYY' + +Changes the heading of the datepicker when in "days" view. + + + +#### dayViewHeaderFormat() + +Returns a `string` variable with the currently set `options.dayViewHeaderFormat` option. + +#### dayViewHeaderFormat(string) + +Takes a `string` value. + +Used to customize the header of the day view. + +---------------------- + +### extraFormats + + Default: false + +Allows for several input formats to be valid. See [this PR](https://github.com/Eonasdan/bootstrap-datetimepicker/pull/666). + +#### extraFormats() + +Returns a `boolean` or array with the `options.extraFormats` option configuration + +#### extraFormats(formats) + +Takes an array of valid input moment format options. + +---------------------- + + +### stepping + + Default: 1 + +Number of minutes the up/down arrow's will move the minutes value in the time picker + +#### stepping() + +Returns a `number` with the `options.stepping` option configuration + + +#### stepping(number) + +Takes a `number`. This be the amount the up/down arrows move the minute value with a time picker. + +---------------------- + + +### min/maxDate + + Default: false + Accepts: date, moment, string + +Prevents date/time selections before this date. Will override `defaultDate` and `useCurrent` if either of these settings are the same day since both options are invalid according to the rules you've selected. + +#### minDate() + +Returns the currently set moment of the `options.minDate` or `false` if not set + +#### minDate(minDate) + +Takes a minDate `string, Date, moment, boolean:false` parameter and disallows the user to select a moment that is before that moment. If a `boolean:false` value is passed the `options.minDate` parameter is cleared and there is no restriction to the miminum moment the user can select. + +**Note:** If the minDate parameter is after the currently selected moment the currently selected moment changes to minDate parameter + +##### Throws + +* `TypeError` - if minDate parameter cannot be parsed using the `options.format` and `options.useStrict` configuration settings + +* `TypeError` - if minDate parameter is after `options.maxDate` + +##### Emits + +* `dp.change` - if the new minDate is after currently selected moment (waiting for #472 to close in order to finalize this part) + +* `dp.error` - if the new minDate is after currently selected moment (waiting for #472 to close in order to finalize this part) + +---------------------- + +#### maxDate() + +Returns the currently set moment of the `options.maxDate` or `false` if not set + + +#### maxDate(maxDate) + +Takes a maxDate `string, Date, moment, boolean:false` parameter and disallows the user to select a moment that is after that moment. If a `boolean:false` value is passed `options.maxDate` is cleared and there is no restriction to the maximum moment the user can select. + +**Note:** If maxDate is before the currently selected moment the currently selected moment changes to maxDate + +##### Throws + +* `TypeError` - if maxDate parameter cannot be parsed using the `options.format` and `options.useStrict` configuration settings + +* `TypeError` - if maxDate parameter is before `options.minDate` + +##### Emits + +* `dp.change` - if the new maxDate is after currently selected moment (waiting for #472 to close in order to finalize this part) + +* `dp.error` - if the new maxDate is after currently selected moment (waiting for #472 to close in order to finalize this part) + +---------------------- + +### useCurrent + + Default: true + +On `show`, will set the picker to the current date/time. + +#### useCurrent() + +Returns a `boolean` or `string` with the `options.useCurrent` option configuration + +#### useCurrent(boolean or string) + +Takes a `boolean` or `string`. If a `boolean` true is passed and the components model moment is not set (either through `setDate` or through a valid value on the input element the component is attached to) then the first time the user opens the datetimepicker widget the value is initialized to the current moment of the action. If a false `boolean` is passed then no initialization happens on the input element. You can select the granularity on the initialized moment by passing one of the following strings (`'year', 'month', 'day', 'hour', 'minute'`) in the variable. + +If for example you pass `'day'` to the `setUseCurrent` function and the input field is empty the first time the user opens the datetimepicker widget the input text will be initialized to the current datetime with day granularity (ie if currentTime = `2014-08-10 13:32:33` the input value will be initialized to `2014-08-10 00:00:00`) + +**Note:** If the `options.defaultDate` is set or the input element the component is attached to has already a value that takes precedence and the functionality of `useCurrent` is not triggered! + +---------------------- + + +### collapse + + Default: true + +Using a Bootstraps collapse to switch between date/time pickers. + +#### collapse() + +Returns a `boolean` of the `options.sideBySide`. + + +#### collapse(collapse) + +Takes a `boolean`. If set to `false` the picker will display similar to `sideBySide` except vertical. + +---------------------- + + +### locale + + Default: moment.locale() + Accepts: string, moment.locale('locale') + +See [momentjs](https://github.com/moment/moment/tree/develop/locale) for valid locales. + +You must include `moment-with-locales.js` or a local js file. + +#### locale() + +Returns the currently set locale of the `options.locale` + +#### locale(newLocale) + +Takes a `string` of any valid [moment locale](https://github.com/moment/moment/tree/develop/locale) e.g. `de` for German. + +##### Throws + +* `TypeError` - if the locale is not loaded via a separate script or `moment-with-locales` + +---------------------- + + +### defaultDate + + Default: false + Accepts: date, moment, string + +Sets the picker default date/time. Overrides `useCurrent` + +#### defaultDate() + +Returns a `moment` with the `options.defaultDate` option configuration or `false` if not set + +#### defaultDate(defaultDate) + +Takes a `string, Date, moment, boolean:false`. Will set the picker's inital date. If a `boolean:false` value is passed the `options.defaultDate` parameter is cleared. + +* `TypeError` - if the provided date pass validation, including `disabledDates`, `enabledDates`, `minDate`, `maxDate`, and `daysOfWeekDisabled` + +* `TypeError` - if the provided date cannot be parsed by momentjs + +---------------------- + +### en/disabledDates + + Default: false + Accepts: array of [date, moment, string] + +#### disabledDates() + +Returns an array with the currently set disabled dates on the component. + +#### disabledDates(dates) + +Takes an `[` `string` or `Date` or `moment` `]` of values and disallows the user to select those days. Setting this takes precedence over `options.minDate`, `options.maxDate` configuration. Also calling this function removes the configuration of options.enabledDates if such exist. + +**Note:** These values are matched with `Day` granularity. + +---------------------- + +#### enabledDates() + +Returns an array with the currently set enabled dates on the component. + + +#### enabledDates(dates) + +Takes an `[` `string` or `Date` or `moment` `]` of values and allows the user to select only from those days. Setting this takes precedence over `options.minDate`, `options.maxDate` configuration. Also calling this function removes the configuration of options.disabledDates if such exist. + +**Note:** These values are matched with `Day` granularity. + +---------------------- + +### icons + + Default: { + time: 'glyphicon glyphicon-time', + date: 'glyphicon glyphicon-calendar', + up: 'glyphicon glyphicon-chevron-up', + down: 'glyphicon glyphicon-chevron-down', + previous: 'glyphicon glyphicon-chevron-left', + next: 'glyphicon glyphicon-chevron-right', + today: 'glyphicon glyphicon-screenshot', + clear: 'glyphicon glyphicon-trash', + close: 'glyphicon glyphicon-remove' + } + Accepts: object with all or some of the parameters above + +Change the default icons for the pickers functions. + +#### icons() + +Returns an `Ojbect` of `options.icons` + +#### icons(icons) + +Takes an `Ojbect` of `strings`. + +##### Throws + +* `TypeError` - if icons parameter is not an `Ojbect` + +---------------------- + +### useStrict + + Default: false + +Defines if moment should use strict date parsing when considering a date to be valid. + +#### useStrict() + +Returns a `boolean` of the `options.useStrict` + +#### useStrict(useStrict) + +Takes a `boolean`. If `useStrict` is `true`, momentjs parsing rules will be stricter when determining if a date is valid or not. + +---------------------- + + +### sideBySide + + Default: false + +Shows the picker side by side when using the time and date together. + + + +#### sideBySide() + +Returns a `boolean` of the `options.sideBySide`. + +#### sideBySide(sideBySide) + +Takes a `boolean`. If `sideBySide` is `true` and the time picker is used, both components will display side by side instead of collapsing. + +---------------------- + + +### daysOfWeekDisabled + + Default: [] + Accepts: array of numbers from 0-6 + +Disables the section of days of the week, e.g. weekends. + +#### daysOfWeekDisabled() + +Returns an array with the `options.daysOfWeekDisabled` configuration setting of the component. + +#### daysOfWeekDisabled(daysOfWeek) + +Takes an `[` `Number`:`0` to `6` `]` and disallow the user to select weekdays that exist in this array. This has lower priority over the `options.minDate`, `options.maxDate`, `options.disabledDates` and `options.enabledDates` configuration settings. + +##### Emits + +* `dp.change` - if the currently selected moment falls in the values passed on the daysOfWeek parameter. (waiting for #472 to close in order to finalize this part) + +* `dp.error` - if the currently selected moment falls in the values passed on the daysOfWeek parameter. (waiting for #472 to close in order to finalize this part) + +---------------------- + +### calendarWeeks + + Default: false + +Shows the week of the year to the left of first day of the week. + + + +#### calendarWeeks() + +Returns a `boolean` with the current `options.calendarWeeks` option configuration + +#### calendarWeeks(boolean) + +Takes a `boolean` variable to set if the week numbers will appear to the left on the days view + +---------------------- + +### viewMode + + Default: 'days' + Accepts: 'decades','years','months','days' + +The default view to display when the picker is shown. + +**Note**: To limit the picker to selecting, for instance the year and month, use `format: MM/YYYY`. + +#### viewMode() + +Returns a `string` of the `options.viewMode`. + +#### viewMode(newViewMode) + +Takes a `string`. Valid values are `'days'`, `'months'`, `'years'` and `'decades'` + +##### Throws + +* `TypeError` - if `newViewMode` parameter is not an a `string` or if `newViewMode` is not a valid value. + +---------------------- + +### toolbarPlacement + + Default: 'default' + Accepts: 'default', 'top', 'bottom' + +Changes the placement of the icon toolbar. + + + +#### toolbarplacement() + +Returns a `string` variable with the currently set `options.toolbarplacement` option. + +#### toolbarplacement(string) + +Takes a `string` value. Valid values are `'default'`, `'top'` and `'bottom'`. + +Changes the placement of the toolbar where the today, clear, component switch icon are located. + +---------------------- + +### showTodayButton + + Default: false + +Show the "Today" button in the icon toolbar. + +Clicking the "Today" button will set the calendar view and set the date to `now`. + +#### showTodayButton() + +Returns a `boolean` variable with the currently set `options.showTodayButton` option. + +#### showTodayButton(boolean) + +Takes a `boolean` variable to set if the Today button will appear on the widget + +---------------------- + +### showClear + + Default: false + +Show the "Clear" button in the icon toolbar. + +Clicking the "Clear" button will set the calendar to null. + +#### showClear() + +Returns a `boolean` variable with the currently set `options.showClear` option. + +#### showClear(boolean) + +Takes a `boolean` variable to set if the clear date button will appear on the widget + +---------------------- + +### showClose + + Default: false + +Show the "Close" button in the icon toolbar. + +Clicking the "Close" button will call `hide()` + +#### showClose() + +Returns a `boolean` variable with the currently set `options.showClose` option. + +#### showClose(boolean) + +Takes a `boolean` value. + +If `true`, an icon will be displayed on the toolbar that will hide the picker + +---------------------- + +### widgetPositioning + + Default: { + horizontal: 'auto' + vertical: 'auto' + } + Accepts: object with the all or one of the parameters above + horizontal: 'auto', 'left', 'right' + vertical: 'auto', 'top', 'bottom' + +#### widgetPositioning() + +Returns the currently set `options.widgetPositioning` object containing two keys `horizontal` and `vertical` + +#### widgetPositioning(positioningObject) + +Takes an object parameter that can contain two keys `vertical` and `horizontal` each having a value of `'auto', 'top', 'bottom'` for `vertical` and `'auto', 'left', 'right'` for `horizontal` which defines where the dropdown with the widget will appear relative to the input element the component is attached to. + +`'auto'` is the default value for both `horizontal` and `vertical` keys and it tries to automatically place the dropdown in a position that is visible to the user. Usually you should not override those options unless you have a special need in your layout. + +---------------------- + +### widgetParent + + Default: null + Accepts: string or jQuery object + +On picker show, places the widget at the identifier (string) or jQuery object **if** the element has css `position: 'relative'` + +#### widgetParent() + +Returns a `$(element)` variable with the currently set `options.widgetParent` option. + +#### widgetParent(widgetParent) + +Takes a `string` or `$(element)` value. + +---------------------- + +### keepOpen + + Default: false + +Will cause the date picker to stay open after selecting a date. + +#### keepOpen() + +Returns a `boolean` variable with the currently set `options.keepOpen` option. + +#### keepOpen(boolean) + +Takes a `boolean` value. + +---------------------- + +### inline + + Default: false + +Will display the picker inline without the need of a input field. This will also hide borders and shadows. + +#### inline() + +Returns a `boolean` variable with the currently set `options.inline` option. + +#### inline(boolean) + +Takes a `boolean` value. + +---------------------- + +### keepInvalid + +<small>4.7.14</small> + + Default: false + +Will cause the date picker to **not** revert or overwrite invalid dates. + +#### keepInvalid() + +Returns a `string` variable with the currently set `options.keepInvalid` option. + +#### keepInvalid(boolean) + +Takes a `boolean` value. + +If `true`, invalid dates will not be reverted to a previous selection or changed. + +---------------------- + +### keyBinds + + Default: up: function (widget) { + if (widget.find('.datepicker').is(':visible')) { + this.date(this.date().clone().subtract(7, 'd')); + } else { + this.date(this.date().clone().add(1, 'm')); + } + }, + down: function (widget) { + if (!widget) { + this.show(); + } + else if (widget.find('.datepicker').is(':visible')) { + this.date(this.date().clone().add(7, 'd')); + } else { + this.date(this.date().clone().subtract(1, 'm')); + } + }, + 'control up': function (widget) { + if (widget.find('.datepicker').is(':visible')) { + this.date(this.date().clone().subtract(1, 'y')); + } else { + this.date(this.date().clone().add(1, 'h')); + } + }, + 'control down': function (widget) { + if (widget.find('.datepicker').is(':visible')) { + this.date(this.date().clone().add(1, 'y')); + } else { + this.date(this.date().clone().subtract(1, 'h')); + } + }, + left: function (widget) { + if (widget.find('.datepicker').is(':visible')) { + this.date(this.date().clone().subtract(1, 'd')); + } + }, + right: function (widget) { + if (widget.find('.datepicker').is(':visible')) { + this.date(this.date().clone().add(1, 'd')); + } + }, + pageUp: function (widget) { + if (widget.find('.datepicker').is(':visible')) { + this.date(this.date().clone().subtract(1, 'M')); + } + }, + pageDown: function (widget) { + if (widget.find('.datepicker').is(':visible')) { + this.date(this.date().clone().add(1, 'M')); + } + }, + enter: function () { + this.hide(); + }, + escape: function () { + this.hide(); + }, + 'control space': function (widget) { + if (widget.find('.timepicker').is(':visible')) { + widget.find('.btn[data-action="togglePeriod"]').click(); + } + }, + t: function () { + this.date(moment()); + }, + 'delete': function () { + this.clear(); + } + +Allows for custom events to fire on keyboard press. + +#### keyBinds() + +Returns a `string` variable with the currently set `options.keyBinds` option. + +#### keyBinds(object) + +Takes an `object` value. + +Allows for several keyBinding functions to be specified for ease of access or accessibility. See the options page for defaults. + +---------------------- + + +### debug + +<small>4.7.14</small> + + Default: false + +Will cause the date picker to stay open after a `blur` event. + +---------------------- + + +### ignoreReadonly + +<small>4.7.14</small> + + Default: false + +Allow date picker show event to fire even when the associated input element has the `readonly="readonly"`property. + +#### ignoreReadonly() + +Returns a `boolean` variable with the currently set `options.ignoreReadonly` option. + +#### ignoreReadonly(boolean) + +Takes a `boolean` value. + +Set this to `true` to allow the picker to be used even if the input field is `readonly`. This will **not** bypass the `disabled` property + +---------------------- + +### disabledTimeIntervals + +<small>4.14.30</small> + + Default: false + +Disables time selection between the given `moments`. + +#### disabledTimeIntervals() + +Returns an `array` variable with the currently set `options.disabledTimeIntervals` option. + +#### disabledTimeIntervals(array) + +Takes a `array` value. + +The array **must** be in the following format `[moment(),moment()]` + +For example: + + disabledTimeIntervals: [[moment({ h: 0 }), moment({ h: 8 })], [moment({ h: 18 }), moment({ h: 24 })]] + +Will disable times between 12-8am and 6-12pm today + +---------------------- + +### allowInputToggle + +<small>4.14.30</small> + + Default: false + +If `true`, the picker will show on textbox focus and icon click when used in a button group. + +#### allowInputToggle() + +Returns a `boolean` variable with the currently set `options.allowInputToggle` option. + +#### allowInputToggle(boolean) + +Takes a `boolean` value. + +If `true`, the picker will show on textbox focus and icon click when used in a button group + +---------------------- + +### focusOnShow + +<small>4.14.30</small> + + Default: true + +If `false`, the textbox will not be given focus when the picker is shown. + +#### focusOnShow() + +Returns a `boolean` variable with the currently set `options.focusOnShow` option. + +#### focusOnShow(boolean) + +Takes a `boolean` value. + +If `false`, the textbox will not be given focus when the picker is shown + +---------------------- +### en/disabledHours + +<small>4.14.30</small> Issue: #851 + + Default: false + +#### disabledHours() + +Returns an `array` variable with the currently set `options.en/disabledHours` option. + +#### disabledHours(boolean) + +Takes a `array` value. + +Must be in 24 hour format. Will allow or disallow hour selections (much like `disabledTimeIntervals`) but will affect all days. + +Like `en/disabledDates`, these options are mutually exclusive and will reset one of the options back to false. + + disabledHours: [0, 1, 2, 3, 4, 5, 6, 7, 8, 18, 19, 20, 21, 22, 23, 24] + enabledHours: [9, 10, 11, 12, 13, 14, 15, 16] + +---------------------- + +### viewDate + +<small>4.14.30</small> + + Default: false + +This will change the `viewDate` without changing or setting the selected date. + +---------------------- + +### parseInputDate + +<small>4.14.30</small> Issue #1095 + +#### parseInputDate() + +Returns a `function` with the currently set `options.parseInputDate` + +#### parseInputDate(function) + +Takes a `function` + +Allows custom input formatting For example: the user can enter 'yesterday' or '30 days ago'. + +Example: + +``` +var parseRelativeDate = function(relativeDate) { + + switch (relativeDate) { + case 'today': + return moment() + case 'yesterday': + return moment().subtract(1, 'day'); + default: + return moment() + .subtract(Number(relativeDate.replace("days ago", "").trim()), 'days'); + } +} + +var parseInputDate = function(inputDate) { + var relativeDatePattern = /today|yesterday|[0-9]+\s+(days ago)/, + resultDate; + + if (moment.isMoment(inputDate) || inputDate instanceof Date) { + resultDate = moment(inputDate); + } else { + var relativeDate = inputDate.match(relativeDatePattern), + parseDate = null; + + if (relativeDate !== null) + parseDate = this.parseRelativeDate(inputDate.match(relativeDatePattern)[0]); + else + parseDate = moment(); + + resultDate = moment(parseDate, "YYYY-MM-DD"); + } + + return resultDate; +} +``` + +---------------------- + +### tooltips + +<small>4.15.35</small> + +``` +tooltips: { + today: 'Go to today', + clear: 'Clear selection', + close: 'Close the picker', + selectMonth: 'Select Month', + prevMonth: 'Previous Month', + nextMonth: 'Next Month', + selectYear: 'Select Year', + prevYear: 'Previous Year', + nextYear: 'Next Year', + selectDecade: 'Select Decade', + prevDecade: 'Previous Decade', + nextDecade: 'Next Decade', + prevCentury: 'Previous Century', + nextCentury: 'Next Century' +} +``` + +This will change the `tooltips` over each icon to a custom string. + +#### tooltips() + +Returns an `Ojbect` of `options.tooltips` + +#### tooltips(tooltips) + +Takes an `Ojbect` of `strings`. + +##### Throws + +* `TypeError` - if tooltips parameter is not an `Ojbect` + +---------------------- + + +### timeZone + +<small>4.17.37</small> + +``` +timeZone: '' +``` + +Allows the setting of the Time Zone. You must include [`moment-timezone.js`](http://momentjs.com/timezone/) and `moment-timzone` data. See moment timezone documentation for usage. + +#### timeZone() + +Returns an `string` of `options.timeZone` + +#### timeZone(timeZone) + +Takes an `string` of a valid timezone. + +##### Throws + +* `TypeError` - if tooltips parameter is not an `string` \ No newline at end of file diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Version 4 Changelog.md b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Version 4 Changelog.md new file mode 100644 index 0000000..f3c30de --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Version 4 Changelog.md @@ -0,0 +1,6 @@ +<meta http-equiv="refresh" content="1; url=/Changelog/"/> +<meta http-equiv="refresh" content="0; url=/Changelog/"/> +<link rel="canonical" href="/Changelog/"> + + <p>The page has moved to: + <a href="/Changelog/">this page</a></p> \ No newline at end of file diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Version 4 Contributors guide.md b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Version 4 Contributors guide.md new file mode 100644 index 0000000..0378e0f --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Version 4 Contributors guide.md @@ -0,0 +1,6 @@ +<meta http-equiv="refresh" content="1; url=/Changelog/"/> +<meta http-equiv="refresh" content="0; url=/ContributorsGuide/"/> +<link rel="canonical" href="/ContributorsGuide/"> + + <p>The page has moved to: + <a href="/ContributorsGuide/">this page</a></p> \ No newline at end of file diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/index.md b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/index.md new file mode 100644 index 0000000..ac35290 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/index.md @@ -0,0 +1,644 @@ +#Bootstrap 3 Datepicker v4 Docs + +<div class="alert alert-info"> + <strong>Note</strong> + All functions are accessed via the <code>data</code> attribute e.g. <code>$('#datetimepicker').data("DateTimePicker").FUNCTION()</code> +</div> + +### Minimum Setup + +<div class="container"> + <div class="row"> + <div class='col-sm-6'> + <div class="form-group"> + <div class='input-group date' id='datetimepicker1'> + <input type='text' class="form-control" /> + <span class="input-group-addon"> + <span class="glyphicon glyphicon-calendar"></span> + </span> + </div> + </div> + </div> + <script type="text/javascript"> + $(function () { + $('#datetimepicker1').datetimepicker(); + }); + </script> + </div> +</div> + +#### Code + +``` +<div class="container"> + <div class="row"> + <div class='col-sm-6'> + <div class="form-group"> + <div class='input-group date' id='datetimepicker1'> + <input type='text' class="form-control" /> + <span class="input-group-addon"> + <span class="glyphicon glyphicon-calendar"></span> + </span> + </div> + </div> + </div> + <script type="text/javascript"> + $(function () { + $('#datetimepicker1').datetimepicker(); + }); + </script> + </div> +</div> +``` + +---------------------- + +### Using Locales + +<div class="container"> + <div class="row"> + <div class='col-sm-6'> + <div class="form-group"> + <div class='input-group date' id='datetimepicker2'> + <input type='text' class="form-control" /> + <span class="input-group-addon"> + <span class="glyphicon glyphicon-calendar"></span> + </span> + </div> + </div> + </div> + <script type="text/javascript"> + $(function () { + $('#datetimepicker2').datetimepicker({ + locale: 'ru' + }); + }); + </script> + </div> +</div> + +#### Code + +``` +<div class="container"> + <div class="row"> + <div class='col-sm-6'> + <div class="form-group"> + <div class='input-group date' id='datetimepicker2'> + <input type='text' class="form-control" /> + <span class="input-group-addon"> + <span class="glyphicon glyphicon-calendar"></span> + </span> + </div> + </div> + </div> + <script type="text/javascript"> + $(function () { + $('#datetimepicker2').datetimepicker({ + locale: 'ru' + }); + }); + </script> + </div> +</div> +``` + +---------------------- + +### Time Only + +<div class="container"> + <div class="row"> + <div class='col-sm-6'> + <div class="form-group"> + <div class='input-group date' id='datetimepicker3'> + <input type='text' class="form-control" /> + <span class="input-group-addon"> + <span class="glyphicon glyphicon-time"></span> + </span> + </div> + </div> + </div> + <script type="text/javascript"> + $(function () { + $('#datetimepicker3').datetimepicker({ + format: 'LT' + }); + }); + </script> + </div> +</div> + +#### Code + +``` +<div class="container"> + <div class="row"> + <div class='col-sm-6'> + <div class="form-group"> + <div class='input-group date' id='datetimepicker3'> + <input type='text' class="form-control" /> + <span class="input-group-addon"> + <span class="glyphicon glyphicon-time"></span> + </span> + </div> + </div> + </div> + <script type="text/javascript"> + $(function () { + $('#datetimepicker3').datetimepicker({ + format: 'LT' + }); + }); + </script> + </div> +</div> +``` + +---------------------- + +### Date Only + +<div class="container"> + <div class="row"> + <div class='col-sm-6'> + <div class="form-group"> + <div class='input-group date' id='datetimepicker3'> + <input type='text' class="form-control" /> + <span class="input-group-addon"> + <span class="glyphicon glyphicon-time"></span> + </span> + </div> + </div> + </div> + <script type="text/javascript"> + $(function () { + $('#datetimepicker3').datetimepicker({ + format: 'L' + }); + }); + </script> + </div> +</div> + +#### Code + +``` +<div class="container"> + <div class="row"> + <div class='col-sm-6'> + <div class="form-group"> + <div class='input-group date' id='datetimepicker3'> + <input type='text' class="form-control" /> + <span class="input-group-addon"> + <span class="glyphicon glyphicon-time"></span> + </span> + </div> + </div> + </div> + <script type="text/javascript"> + $(function () { + $('#datetimepicker3').datetimepicker({ + format: 'LT' + }); + }); + </script> + </div> +</div> +``` + +---------------------- + +### No Icon (input field only): + +<div class="container"> + <div class="row"> + <div class='col-sm-6'> + <input type='text' class="form-control" id='datetimepicker4' /> + </div> + <script type="text/javascript"> + $(function () { + $('#datetimepicker4').datetimepicker(); + }); + </script> + </div> +</div> + +#### Code + +``` + +<div class="container"> + <div class="row"> + <div class='col-sm-6'> + <input type='text' class="form-control" id='datetimepicker4' /> + </div> + <script type="text/javascript"> + $(function () { + $('#datetimepicker4').datetimepicker(); + }); + </script> + </div> +</div> +``` + +---------------------- + +### Enabled/Disabled Dates + +<div class="container"> + <div class="row"> + <div class='col-sm-6'> + <div class="form-group"> + <div class='input-group date' id='datetimepicker5'> + <input type='text' class="form-control" /> + <span class="input-group-addon"> + <span class="glyphicon glyphicon-calendar"></span> + </span> + </div> + </div> + </div> + <script type="text/javascript"> + $(function () { + $('#datetimepicker5').datetimepicker({ + defaultDate: "11/1/2013", + disabledDates: [ + moment("12/25/2013"), + new Date(2013, 11 - 1, 21), + "11/22/2013 00:53" + ] + }); + }); + </script> + </div> +</div> + +#### Code + +``` +<div class="container"> + <div class="row"> + <div class='col-sm-6'> + <div class="form-group"> + <div class='input-group date' id='datetimepicker5'> + <input type='text' class="form-control" /> + <span class="input-group-addon"> + <span class="glyphicon glyphicon-calendar"></span> + </span> + </div> + </div> + </div> + <script type="text/javascript"> + $(function () { + $('#datetimepicker5').datetimepicker({ + defaultDate: "11/1/2013", + disabledDates: [ + moment("12/25/2013"), + new Date(2013, 11 - 1, 21), + "11/22/2013 00:53" + ] + }); + }); + </script> + </div> +</div> +``` + +---------------------- + +### Linked Pickers + +<div class="container"> + <div class='col-md-5'> + <div class="form-group"> + <div class='input-group date' id='datetimepicker6'> + <input type='text' class="form-control" /> + <span class="input-group-addon"> + <span class="glyphicon glyphicon-calendar"></span> + </span> + </div> + </div> + </div> + <div class='col-md-5'> + <div class="form-group"> + <div class='input-group date' id='datetimepicker7'> + <input type='text' class="form-control" /> + <span class="input-group-addon"> + <span class="glyphicon glyphicon-calendar"></span> + </span> + </div> + </div> + </div> +</div> +<script type="text/javascript"> + $(function () { + $('#datetimepicker6').datetimepicker(); + $('#datetimepicker7').datetimepicker({ + useCurrent: false + }); + $("#datetimepicker6").on("dp.change", function (e) { + $('#datetimepicker7').data("DateTimePicker").minDate(e.date); + }); + $("#datetimepicker7").on("dp.change", function (e) { + $('#datetimepicker6').data("DateTimePicker").maxDate(e.date); + }); + }); +</script> + +#### Code + +``` +<div class="container"> + <div class='col-md-5'> + <div class="form-group"> + <div class='input-group date' id='datetimepicker6'> + <input type='text' class="form-control" /> + <span class="input-group-addon"> + <span class="glyphicon glyphicon-calendar"></span> + </span> + </div> + </div> + </div> + <div class='col-md-5'> + <div class="form-group"> + <div class='input-group date' id='datetimepicker7'> + <input type='text' class="form-control" /> + <span class="input-group-addon"> + <span class="glyphicon glyphicon-calendar"></span> + </span> + </div> + </div> + </div> +</div> +<script type="text/javascript"> + $(function () { + $('#datetimepicker6').datetimepicker(); + $('#datetimepicker7').datetimepicker({ + useCurrent: false //Important! See issue #1075 + }); + $("#datetimepicker6").on("dp.change", function (e) { + $('#datetimepicker7').data("DateTimePicker").minDate(e.date); + }); + $("#datetimepicker7").on("dp.change", function (e) { + $('#datetimepicker6').data("DateTimePicker").maxDate(e.date); + }); + }); +</script> +``` + +---------------------- + +### Custom Icons + +<div class="container"> + <div class="col-sm-6" style="height:130px;"> + <div class="form-group"> + <div class='input-group date' id='datetimepicker8'> + <input type='text' class="form-control" /> + <span class="input-group-addon"> + <span class="fa fa-calendar"> + </span> + </span> + </div> + </div> + </div> + <script type="text/javascript"> + $(function () { + $('#datetimepicker8').datetimepicker({ + icons: { + time: "fa fa-clock-o", + date: "fa fa-calendar", + up: "fa fa-arrow-up", + down: "fa fa-arrow-down" + } + }); + }); + </script> +</div> + +#### Code + +``` +<div class="container"> + <div class="col-sm-6" style="height:130px;"> + <div class="form-group"> + <div class='input-group date' id='datetimepicker8'> + <input type='text' class="form-control" /> + <span class="input-group-addon"> + <span class="fa fa-calendar"> + </span> + </span> + </div> + </div> + </div> + <script type="text/javascript"> + $(function () { + $('#datetimepicker8').datetimepicker({ + icons: { + time: "fa fa-clock-o", + date: "fa fa-calendar", + up: "fa fa-arrow-up", + down: "fa fa-arrow-down" + } + }); + }); + </script> +</div> +``` + +---------------------- + +### View Mode + +<div class="container"> + <div class="col-sm-6" style="height:130px;"> + <div class="form-group"> + <div class='input-group date' id='datetimepicker9'> + <input type='text' class="form-control" /> + <span class="input-group-addon"> + <span class="glyphicon glyphicon-calendar"> + </span> + </span> + </div> + </div> + </div> + <script type="text/javascript"> + $(function () { + $('#datetimepicker9').datetimepicker({ + viewMode: 'years' + }); + }); + </script> +</div> + +#### Code + +``` +<div class="container"> + <div class="col-sm-6" style="height:130px;"> + <div class="form-group"> + <div class='input-group date' id='datetimepicker9'> + <input type='text' class="form-control" /> + <span class="input-group-addon"> + <span class="glyphicon glyphicon-calendar"> + </span> + </span> + </div> + </div> + </div> + <script type="text/javascript"> + $(function () { + $('#datetimepicker9').datetimepicker({ + viewMode: 'years' + }); + }); + </script> +</div> +``` + +---------------------- + +### Min View Mode + +<div class="container"> + <div class="col-sm-6" style="height:130px;"> + <div class="form-group"> + <div class='input-group date' id='datetimepicker10'> + <input type='text' class="form-control" /> + <span class="input-group-addon"> + <span class="glyphicon glyphicon-calendar"> + </span> + </span> + </div> + </div> + </div> + <script type="text/javascript"> + $(function () { + $('#datetimepicker10').datetimepicker({ + viewMode: 'years', + format: 'MM/YYYY' + }); + }); + </script> +</div> + +#### Code + +``` +<div class="container"> + <div class="col-sm-6" style="height:130px;"> + <div class="form-group"> + <div class='input-group date' id='datetimepicker10'> + <input type='text' class="form-control" /> + <span class="input-group-addon"> + <span class="glyphicon glyphicon-calendar"> + </span> + </span> + </div> + </div> + </div> + <script type="text/javascript"> + $(function () { + $('#datetimepicker10').datetimepicker({ + viewMode: 'years', + format: 'MM/YYYY' + }); + }); + </script> +</div> + +``` + +---------------------- + +### Disabled Days of the Week + +<div class="container"> + <div class="col-sm-6" style="height:130px;"> + <div class="form-group"> + <div class='input-group date' id='datetimepicker11'> + <input type='text' class="form-control" /> + <span class="input-group-addon"> + <span class="glyphicon glyphicon-calendar"> + </span> + </span> + </div> + </div> + </div> + <script type="text/javascript"> + $(function () { + $('#datetimepicker11').datetimepicker({ + daysOfWeekDisabled: [0, 6] + }); + }); + </script> +</div> + +#### Code + +``` +<div class="container"> + <div class="col-sm-6" style="height:130px;"> + <div class="form-group"> + <div class='input-group date' id='datetimepicker11'> + <input type='text' class="form-control" /> + <span class="input-group-addon"> + <span class="glyphicon glyphicon-calendar"> + </span> + </span> + </div> + </div> + </div> + <script type="text/javascript"> + $(function () { + $('#datetimepicker11').datetimepicker({ + daysOfWeekDisabled: [0, 6] + }); + }); + </script> +</div> +``` + +---------------------- + +### Inline + +<div style="overflow:hidden;"> + <div class="form-group"> + <div class="row"> + <div class="col-md-8"> + <div id="datetimepicker12"></div> + </div> + </div> + </div> + <script type="text/javascript"> + $(function () { + $('#datetimepicker12').datetimepicker({ + inline: true, + sideBySide: true + }); + }); + </script> +</div> + +#### Code + +``` +<div style="overflow:hidden;"> + <div class="form-group"> + <div class="row"> + <div class="col-md-8"> + <div id="datetimepicker12"></div> + </div> + </div> + </div> + <script type="text/javascript"> + $(function () { + $('#datetimepicker12').datetimepicker({ + inline: true, + sideBySide: true + }); + }); + </script> +</div> +``` \ No newline at end of file diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-144x144.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..0c40e3400abb425b944d4dbb412508aaadfd4187 GIT binary patch literal 40227 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 literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-192x192.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..8ec2a4bfaf6b29051ac8168944a3a26fcc33fa76 GIT binary patch literal 68963 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 literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-36x36.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-36x36.png new file mode 100644 index 0000000000000000000000000000000000000000..2b202e9c784b05b1374b37715f472f036cd2e480 GIT binary patch literal 3800 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 literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-48x48.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-48x48.png new file mode 100644 index 0000000000000000000000000000000000000000..517e151bb05e7fcf226ff58c2b3604cbb9d10ff5 GIT binary patch literal 5971 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 Cwep() literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-72x72.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-72x72.png new file mode 100644 index 0000000000000000000000000000000000000000..8bcbe3412b6005bbf74aa4b9de83254fae2ac1ac GIT binary patch literal 11838 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 U*y&Sk@I0U-|5UCFWg7Co0GGX_asU7T literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-96x96.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-96x96.png new file mode 100644 index 0000000000000000000000000000000000000000..7b1fafe26b2fe3c87165c6fa20b0e208bfaac481 GIT binary patch literal 19482 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 literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-114x114.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-114x114.png new file mode 100644 index 0000000000000000000000000000000000000000..f31b0558b9570939c7c62aa3fc009d4b1a2e5008 GIT binary patch literal 26475 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 literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-120x120.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-120x120.png new file mode 100644 index 0000000000000000000000000000000000000000..df87985f4a22b0f830117ed78b2c6b7792a87c0f GIT binary patch literal 29019 zcmW(-2RN1Q8@3($B<a{&2-ze1WbcIRk-hg`;UIhOQTQQy<p>eU$_jCe?2MeO?EQcH zpDwvNm+N!B_j}&^xu5&K-(s~jl}HGw2{AA*NK};Nb-;K3e_s$R@HY~#I0}5j^wLp+ zW7Lh&{s#ZRd!?o%k8$_!&%4fwbnp&=yRxAd1_lxNzc0+m#n5Z;Ccd|dh64UFE<Gj@ z5p!tIUknUaR~30VUH^HPPP+^fln;C0m(f<wKXp4hZ!`z(t)Z+C+qevSoB1?F<i^H- zhe!F1c9L#c19`3e^lIxT&f==;6Q3Gc=P4Cp$rYZHYhY2RK&kBCO(cHbE_kuwJte+% zGrO40Gg{4HAX~gM)4BDhxwrLmr>L~=v7Abp*cQyHKW8fd!sM@%#;VF`r49*)et`uQ zDRD+=F(aVx3>_w%;6f-IA_wspTh-`?G08utNN9v&Eg@vYw=#58(h$%D4+NA6!OuP% z2Q`7<$PhBH;0X3x8zNn3?vEdtB=85nOk*|7GL2D5`zC%QNfrv>Rj$POtc*0PLkskC zlp&yFqG1njy=e!0OcVI~{n2QO;!%n4hc(2K*>@`AM=NV^h@PG)%7+$TpEz{zNKyrY zY5uw|&4x-ElZ=3fF#Ei%y7%gU>Q2RCu~mlaC;n1kPuU9T3YFLv!h#8>UpejlmiU2! zVV30h{Rk^{6I7;6pNI3f7w3Z}Zo&R*C(kkdo`e86B!&3nGbRMO{b2KMf4w^-0;A_8 ztI9m@<AZ?n2mXqNS#$%I37m0QZ^M<M8Eg`S^EK|84mujn$bWKN<8S@UR#mM;w=-(H zPu=!^$vVG77$2YY-|?Bm@Z-Hbdr1{)bG1(nN31}Y#zbZQwDUUWmvHpG3im2T=Sw6W zY@%+2%QC*)JM2?PV?{t~1b)VTc64W6t+1SERjUiLy1jS2|9x5foR^zHQp|+mmO%9P zepc8X8`K&8rm8A|f4FId$o;HgXu<8FSwrIOKyVa>%%5e<Yl6pUH0|B?g@h`E5+c|S zJJQutfbjS8QzoIW%|D+plr(N1|2S@OLS<!T>7(=s<dUpVj>0NwSm7A`vmUev2pm?_ z_t49L#b5Vs<?`-Wt9UDbQR^1}+AiGZY`hWOj&z9>I41jmZhwb&9e=(CAtQ}vytq5v zCw9f!n|*2BRrS{<>`Lb53j5yCTlWsLi1DBz{20<-q^u9`hu<TI+qYxEH8|vQ1UJ<+ zw1RiOR`~8x2d@nc&?E*n8aNB>`0f3qqN6J;Dl#)Rb`r^tE3vP#+{R1}aBpu_!H#Ib z;5?ibx~_lX*O1Y5c;FLtmvB3Pd>gr|_{M85fF36PX?KHxH2C~Gf%!4=j?X^C;Nh}n z#Gfmg22<VTWkN*G094VP{-#y#boIYpuX!X1O)19@4<1!cd)cwJatHUx{L#(quH&*u zd@_-I4V5&QRk_1Fk_Yh~g|4oy-Wn^Up{Fm(H+`?`XaRemFlQ^7Qg0U$xk(i6HqtsA zch}{1bW^r`t8n)x0)_EdlM~ksi{c4H!X(btXyJMaGdsnG%KPW(RBMP~Na+^(c$el4 zlw8^Qj`b7S0ExFrr&&D;-B1WhbdP`2bBuPtawOfxFpF(Uh&8tV)$?9H-#uEydhYmE zy*WeZe&^AC*VWi!ho7*9g!lIM`&yD7*RuqI(D%ArMO#K$Ctejx=5im|%$+WxU9Xl~ zKU?(5ww^oQ*AMFmJU+qvw66wpz9=_gkoI2Nx`y4EIEw~a<n<IrRJ*AX8c2>2uoZZ1 z1~jNd5XGuOJXF&7<qCp|ws5g~WEp=<Pfsl`GbAdOOmOrYpiXR?<M;+(Po6x%#|l?w zC6Dim=)r&wdeAC7@8<FxTMpPN47;od6Cp0u;mjU>(EHu1?etj;snpre7#l;UA85Bv zhy60Q>oS?DY`uIG3Yf7-?%}iY;AL!)rPjv_4~g{W&YEPEZ^~xt94!nVC}5(rr-YWL z7DEA$2~Ev!J|=9?U3mF(S$3HxlI?WS1(7m9wO*jz-m;dV9S7Ba5Cwg;Kna(mj+eYW zw|aZkVt(`WQIU+t+Sl8gtA%;bA?q(f*hALLnX2F7B&DQ6R=@NGb|&%jQp6n{5hW^? zmX)zl5IW?|I2#ph^}ULnm}pci_4qZInv_JU@cgB|zOAjTzW&Us2?K7*g*GocC8et< zqKA(&<EpAw&U=4n*#vYn|58i%Ov|X!@a;C{&aba&R3&Wr_~PyHgCD*(NzgC&F-dYO z-LRuhHuJh0`#uy|1C_fep9H;K@US?3<{Cd4|9{__Y=r&(YzG_^rzcB#a?vMCBv~1c zcoZnJt_2jasyI2J!KP^oIJ(TN&W`JQ#RtQw7)81aH&G~1QB%*idA;PyR4>!XRacz) z;Do9R*>y4x+AfZP7i$|EFC@~4Qa*f`P5IK=P|EYy;0rCO>B+RNu(0d#+dp@?Z{L#P zJxgN^_X*$nySTMmvi{_)n?mrzZc)=Nic9)dxBg(xXreCyt}j0qcm@ADz-~yg*hWfJ z+>Y_}Tio4n5Ygf>;jkl!k~ncUNQ>C5h*`MrUxt%O-l%;(4radRW<)a98Q6LFDD1j# zdb%Yk$#=o`%j&_%$jJPBUWqE=9az*vMY@3rpH2gA1l%&=_m?jbXt6R+aavM_r``vv zF<O4UzM<<h%Q<-klK$K89PpS^2fuwIJepnXINRKMc)GiAw_RF6MlboXsp)S_*!f%V zxHP5^SIfMCw{g93&VFRUXQW+CAy&bCB$)s0Yq*{bL_v`*RtY4%7;Kn?uYG+_yU&<b zP9r(O#&1j)>212@jwF*k@JOYuix}3Gb;%2A!K<c*Bd$Qb-)FI*W^;DdfIXixQ!NS} z>ggEa@g!F{c>CFS(NiDQ=NZ-lmFPfL^4Nj(n;Yy-iA#dw-`?oD!Vc$!PCviv&Cz=c zzTgx4Ie8}troMT^rebDhCI{PJ>_7=&x4JG;)6r?Ll3$(eFE*B*&D2hS$}~XlYA*PC zZ5azL7rBv5$p!{jV2yB^kj&sO&4qd_`$fY%r#S7$eO%9|S|!NdMIx;zWb7(M-7?9| zmwU$5(h&F3*xKftiOI<Bj(1xX6<wX3ovj6GD>MtKsh_(4nVpDXkoLJgZ&YUe^r@XT zQIR2VyI8Tb@xzDz(Cu~TIy9l2^Frdl{m4iOV`HN$e7wouKaP(_Zm!nV)P|$r&-H}$ zroXHzH_v&Sie{?r&NUDCEY8i%ZES2fBV8=sg`w(9v!9srW)J6;U+54p&7MA*cP&5; z*YBHLxJNLA4K;BOH|^&{+TRttc1>Qfw^I_GH6QR0iOS#)D@Dc>%RF>-9TLMT+$|N) zKTJXs@KPwu_?Wtj2ut~#>|_!>T*}YOOS56iRK>-z<;q-Ybu$+tzgRl!5)~E}786tE ztktiEzZo0TOc?t0O9*Z-^&vNRPO+3KzE2>Rc&o&ymLS}*#fU5O+lFVRs$Q0;)!Un^ zv!EhTY3b1YrA~jznPr)VptHKx<$wVXT2+oM+Mi_ON7ucrbU_C%zsYQLjYavy=wU~# zbdYuFoZ5JIBrPU<>FDr1k4K~N5%<c-nREDgQ!wV(j9n}DFYdu**;m?|SX~G^pd((K z#fS(Bh=LxZc(hztO6ufv!OgTY5ZuYh$;qn`uQq2siolJl`oX530FRoQBA}}5=}k4W zSuDd%TLH21lRl<QDcp~%s@TY5bt;_~d@FU6`qnaZ49k<Ow6wGonNy4C7I8|i&ITS* zQa*jUfRB$izu=Y4Yg#3WX5ZF;NE6_?$3gk{()QC;($pc8Yd3rYt<JYj68#N}#>@1^ z=fwj3Ih&q^T}p6HJ-tlT45FTtZUh8@GyANkZN+{#;d;aYj>S@}EWm~!XTFE^KAcqz z(lhrJVhLv*W8&USRo*UTxN2~qF4MVZHBsc$>avw6y2MA!QmEN$ws}O8>ORYtc&*rF zz|Gh1G~M5?$V5%lQRf7Uc9B4%(HS}lsWhY1Wq=h9yCRY09UUEN8*At1ro)bV%b!Kl zNA2@G57z<^V#Nj}gj>pK9R6A`?Ej*q++J8RBgD>XOBjEJjDJNXLI+%5UUoHHF2&a; ziEVx0Ss*3C*QCG3d$`YHd5dCIDKRD|@ukfu+-iH*+&vL4D);m{@)=|`;eNtB%DnQs zfxB~tj*fO5@+9o%V!PYhCMG7dbaXCmZdw&neXk~({y4U@BaxKEh?TE3^;?`wxz5$B z6RKrRURxG?_RI)xQ?jUtoE7!*mO1Cwt2%m_UZGc~yWUS1r>3S*C}VC)w`F=S(|WV& z-q0&eKBgT0WT-l4Dr-Aibi>Esjw+lW2+?jw$SvM$^3%~8H*5s-LuV(EOF$3fPK1{j zS=Ua0d1%{g-D`~RUtm`<uc4DdBnjAm5H1TVVpt!oB*s49o!#Abhu;9Ki{Mv`w$%Nm zr;^q@_h-TF^P;ne#+0)VbwRVeP=D^bjOgA}#}-H9y7l%JqrRpZI*Gt<8);RJCxKE> zK5WcV9UknTd+n~BW?Kbh#KZ{+3Gb`smzVbg%y_dU+*f3klt52Z;-GL9qAuE+L+<vv zRaIe3HZ97Bf4$y6_^&=bWS}Sc>Oh2b{_H6$%IAT?p=AA>^W_976XK?Z<fk{^Jvh9( zF2a7eN&WX`TyMTbm|PvtaMer|c_s(jkhK71y!6Gd^hcVK4Ie%lRO<H+?AO%SJLEm( z=idl0L7mtO8F5hTEp|KvyW)42XB%x|pE?VS7_Xwjjx{#V_RTjeD_yP!!y9P>lDv`w zjYm<S<;y`-Sjn?&dZ=+Ddpd*8k`fXIn<RyWTRwgI<hQ>xGcz+)!9ai)QB_q}TmM$d z>vXquxhVfFQ4Cz8T8`jBgvS`0%3;nU=p%#qJ<{%yEA3c@jvk%!ndz4-`{*o|7zPY4 z2g8~2->f*6BVVtwXOHWnpi8!Yu`EQ~A4ka=H%Q^<t`$5=AF>ysPE^Fl!y|q+ZY=;? z5A5U@5YXYx2K~UeS`YVCntbz|elG+EOKwni+Ofr5?B~pkKJQDc@OR}qbIuFX)u^~W zPmw7_&J+LMBU+}E_1Ot~=a3L7^4JX3J`-Lg&S@bMcjAvRs%3xI;-9dmt1KXC5~FPl z3%vBEpGru8MueJbW&t0eBsE{uHFQg2nToz^FJOd^*c8>8W>x^DDm`O4c^f%@vvC?m zK_Tk@UB*gWOWK_paUJsK%aNEOG*T>y1);6?z-mO2tWiTNRD#c-R^NGH#z!hsH40vQ zdU^_0ckicoj%t~;A?S7DL8pJt&(HhfA3iHiDW|Hcita5g?7-vbLs%$0UolSj$Gmpu zTa0S6hOEKodb&uR%w}u5Nl8h`s`7hp-cmxp)~ws$hhvL2$5)uKq2ZyV7V2baX-Ssx zH53a%AXMy-*J7lB@?rW4Af?mnOmZI-MjcweT2JA*kOmzL_7k*-u&}%B?QN~F%c<4X zRioN+hdl1#0-~N+)}e)T>@J$Un23e-hs({13u$(6$k6!9OVaf_(ghX-&Q=6b0#vpR zET10T06+2i?~1q7KgFS>Q4&v|!i!T}BtX5?)fLEu75{6v%LZm<t}ZT%pTq9{{*5bn zA1=#Ss99Y_Nr<-=J9~Wm1JHV>7NbrxH<A3JEr&e3*dp(zJUDr8-@c$|sjW@)QY0`m zH%IyO@p(`EK+ViR<Z5eqVClBa1U;H%I^i*dQE)*)K`AMzj7g)~naN2kcV9{R;Vn_> zMB6f*{+xv5<qi)kF|c=Tj;B7~U44F8smp8f(fx3(FJIK{mAbXca>TZ^jLjcoaaGR2 zlFye7m?^5K(^CB~hNu3tZfs6BKSlcGoq2><ndRaw5W0Hd%U-k+6ofbVVMlJHbkee% zJvoF-tXzWqib?~ws|>f60Re`3dWKom(~bhU>g?%As}~V(gLh&({Prp1`(zovJBy?Z z{rdV9QNl6jO!-SQ%SKNRJKUnYW%qPf0#pk>;DH)~D`H8krBP9Bwo{Wr!r4v?G&H+A zJJB%-1M3IQaU~z?j4O2`dMuorsx4s$CZo2^I+ff{p5&JoI|NG7gUKps9n^+#t7~n2 zy`4ZU!}SWjR)PO(FW-y58!yd6cCUl737BkU?M5sUs;k29*(5Nr1|#Tn(Z1(XXI<T# zjEL`a5|^!>w<9li68Kd)dS;I#A<tM<Aw6jbsw0R(i_ykGYVY0V^6gu|Yxvc9$YcGB z;-PhV=qFw0Ypq=;CD2#y?tHoGtm#9_tdq;j=9RkYQ`_5vLrp@0g0<+Uzm}aBTpb)7 zgs1_foO7N*?!Ib-k;X*!d_O)`FP-Ry(L`%PqLl4JLP&`H#b_zvI9Qnf3b!-^(6;lB z;x+I#6A@x;@`Q4Sy4qTRU5cfa3z{uPHVF^n6`15f;|EwQM$4P2YByF;n4cf7X!YzF zzE+WBo7?_vVq#)!Y!J-L6vc^~uyFJoe_6yeM*L=bz5@6A%#4V63RCMB*pv`S+TDu! zs|3FOtVKroudi0`KS~N&$*s7Zwv)~rMcx7uX=`VfOfR(=uyk;c_^|6DS=22F+%Two zd1g|)8KF^lF`tCQ!rXKv$K=}DE0O%NjA%GhFJJcqaPgYC$w_j!@;~7xJ1Yy)Q>?9x z67K!sbW&wwT<##xoT^ybBfea;@KUeEfcsmMa~`|(%8DVVbwJpn;00d8fG`SZ+)pwB zTOb*1E%Se)Gehu!9O65`m5t$SqA0jA(q(IGF@}_^@6{@eXtc}1bL+Vy<bmb*5jNHG zo=dXKN|@!kgRybUTi^MF|7`kBXqo(*=Nf9tp+AL2fhrJsFh>@Aoz8GOVkdnvyPix+ zdU`)1ck5f+@nowxGotHs-pQ@-#-ViL4|r{FzstxPwo!H9gULf&oSprPvX$AL7b5Iz z6L2Ht+)XibN4Aba$0GPe#Knsp9K~q4D2d{jC6ahlK7ay1w>Y*CN?<xrd{2Al4uz*Y zikD}uLt_>En3=&#Hm#oS7Op~}=bVvq&UN+m591Z4gz`t(oxOsBu2xno+DzzyQjwEm z@8II%qCrM{ygM)Df3~+6+{Ng!8W5Tl(D5z0aG~pGz60X^fYyc6=b=jvQ$$;dGUy$t zEJ~mQ;Njt^3%;uo_);@h<5Y!rkZzfmWpgw3`F8Q}Fcwtsg2eY_(eIO!o*UnU4YREO zJ%?~vi&wAUkb8-W%`Uk{wIyhy<~e5v2Tsa(M%=iP!KP1u5G4<kPQ14<1Op8-0v1gV z!7)MAPJ@mG#;2&LC|xc+?ktS9Xm`d`W$^Ru?Q#4`1M5f^uQ4Cf`e{e7sliL9@&giy zhZP>!Sv0;SHSR_Gh=R~YAourghl5fKv+=DX=t-GQCFmBvCvEz_+R0qyhKJJ&T8xa3 z-ffuQ?v|;ch@~)`2va^J(*SlwaR2Q9v&tm<OrunX<AMl$tu^dQH0<!<TN!`%!K0u5 zv<p^*wE)$ChiOb@m1d=SWx@DE^P3*Bit=(<vg6ZJdhy_2JJU`V!DeaJhFMtQ-N(lt zs;aVVe0+ToUznzTJkC@F_%rPY1f-;O*)Ktsmc=bCfc8cATB@WuwosR4c!^RFw$;_X z|8_a=SgUVSK)_2ofUARFCPbecxz*9okfO}$yr54}Hertw+2b$CJM1Y*?<Pe3&TIt( z)DdWo=}GIlT$z=Xl>px6ke!W<{L<3WfU-0-HGTTTJ?ts{_H)pgFE_nP1^I99Knsh5 zMZfWBG>J-D2yT;<IX1kR?#t3QDqGK6_>~IxW?P*TgG{Ii3W$Vto!5VdK`Q}`^F?A= zS!Q6TxQOqTxmnoJ#(wDjUg4p=(B#xqb9=i{^)#4@fYKnC>&!u6Jwn6q8K3V>xkI$& z%nl$Ye*#>a=Md+$ot=d`pth<VsQo)0KYmO^MATj<xT#Q5>{vVbA+OD3VP}U6Uh=uV ze(nRCN|It}qGB&{*Me`>S)`((LRh2OWkG1vfLos{Q?_7u!_&|2?D|?#HZoHcJn!z` zn0Ea_8e;*Kx<Ga9U6p5^n423Ce?l1#Tknkl`@L~)t`gi4YkDl8KWv6CP9A61V`i-h zh6lIKiY7?c+Y9!ljec+o!3r9A5b->AFzrKEQ8rruYR|OXVPr&Iw6_26-@o~8MN(n6 z*FfZ{GpDIT(ZtIC?G7(~O$CWzKJtpEp^37citAgObN02eT14h=sEX&Rzpr|g^VG_$ z^m(!(OC7qVt}Ys048~5B&;HLg78M;13ZU75xu#4f7OGRJOWgZLp1H^3y_uU({>)g9 zDcT7=?YM}fYbaT{%~oYoNsH@)^JZh0$cfRC;;75=@(kns`VZU?bE*X&gmmcJx43eL zRd@f85IU=$Kt|E5c%U$}0c0*6=Tt@V*k3^P(kgr!#lM3_yQ#Fkf?GA7OY9dt{uK{p zAYg)iNm>`!WWuo&o%>SRwi2PktU~VMgvOyAJ~BbT5Q0rL7TiFG*!{h?H#bqJ%2r<S z2)_ExfjT541hL}IN=+DTWGo0-mGIkpnxs~lG46)wz4s=P%8%e)j|F3{Dm0EQmX~{E z;MH?e)U#sk7Nf+zS4rzX+kGCxh$D12k1m3xm*?jl^ESavSi*+n9YaIq(yW=ZYxUhk zT>1^fXvb`u>(HA=0jit`8KjFIS0>=dgi*53L5G1`3NAS1m0QBnSUKZLI8?#K2iAKm z_$Uac9RWN=_AuI$BT`%zKyQsJ0YI6XOSOPZq7}b9U)Sm{iM5?tqvhe|{&aNO@mk+a zONKlGckT6s2QNn^f^o#k#2o?Mwcn?Vz%~>~eWO&G8rV5w|AP+I^yl*Yd=ZG5#Cx<k zMMdoaN1H&-Nv4x18r~4w%2b_h$^)CD#b}z(djSc+S$-8TbsZjwqz!EU1b#g|ueJi0 z1psJ({pG4BB_}JDK9_md>H?V5@AfVvax=h8h}zW5Y^l)-AO2pOLtB-}HG`EPVlpw2 zL{E=R#Ze?buiPpDJ6sk(>h#XEBM*!i%K?Y<o9)uT(d&=*Nn_-adxb5B)(-tEb+IzZ zlLrKI)r+-Zbac}`ou#Fb(2^>nV(s(syNkOnud6zTyo3NKrjDw$Av2Cw_bx6u)^je) zU-x&RqZ{q4u~;?NZRS_g%Xc@+Kt04i`!kn0RQ{^by-lY|R~4U(UYo+f`*`N&>V=or z5qPyYN>LDI58L$nGg=V#2x}1GVJ95=OWH~#xfsLZgQY(M$l#{T&d!z^&(Fy*FfeeZ z-8xw91&cB5INelZFQf_qZ6hVi)Y!P$rK7VG%q_5JInGgQ0Y<TDN4=>JQbDKPJ3r7q zkoH%NvpYLr%ySjt8H+*(wiro4As<>cfUL=q`UZ;SU03c9R|1qRjA}e4U2e)%7*+JD z80oumpkUS2!4+Mstk!?Fc_C7IdgNx?ii(OVD}QHZW?Jyc4zl|N-7kAq5Rl;21AB<Y z&kpH{;~H*~UzmSN&;ubDKcWvl_*Enolr|)99(I<>@{COC`1_QW%pw>%?1dtFzSo%s z@tSuzE+kbs=FZfVJAhk5?kWrYa2ByP{D!p28||O``-&@5SC5L~l_b3ud%CPxoMLIT zC9QPu$2n*CEQ$CFF_JlF5hw%<sqSOoj(Qx!w*lG>4XH56i{#@Dj6EU(V`6OVki6vF z+=O1esI_4%qBPGH!t1<XW^O)i+Z-Ps4_c9r4`u@XQ=B!rH?A1Agm{rHMx#Ea|2Vd6 zixHT742+DZ>FM|W{J{y6%vIl8Xx;z2p_XWCIwh=tt4j0Cz`3l4qaVjg6;hmr;Ah5} zIyHGH&!1%FHI_st5zT*^6VLBUo9&gV*_xxMoHeam#g^^#Ir!pRXON$$$lr`_2&l#s z?%yw~?`pomtOi<K7I?GctE&Ffsq~jzLZK?qfqbx^pvG&2%Z@Kk&=dB$kbAN6jxF<l z{x};O8>^|QwV6a$051@y;s4ZlY;;sZT|K9KZhAUXot;f(es*?yX9r8zs2&yB(@>nh zBJtoa?zq)xc^P_s<8ijFZFvtGKZefAgg0C6iD<sYn@qq}xG90VH0}6+G>ARD5`_k1 zr7jl<3CZZ#*iwg|+dvXstbECYy*%?OQ2hWq2Dqg{zM^6B+&Y1Pjp8fSWEz|i)pCy< z$SySBtyNWubH+D3>F9P70%$I-Cnt59Eyu^Wxw&g7;xn_&Z<lI~TOC{SEMar%`E}^H z65E9)#5-$&9!atSq_qI%y@z7zDK^R#Q{eOb2`!xfum)9(l#4uLNge$Ax5>s3a0}GQ z>8bCOP>*myQ4wC~i>HO`2yPyp=c>J{4eMeP_TY2$A`54-)VV3mjg0Vu8x6RVmOnpH z5qmqXrJ=#YJtCS<`SDem4rivS90louGYs!M06Gtg?tx)@?TTqKLhYTLXz1uVeb8B~ zDusoGuyt#JfaC26z_mVpv@k@X+Y5+>o9G5sP5g`SPoej_pTS03d<6Qtaphp6BkD5e zE7)n=VP_J{H#4nf)HEGlH}j(t6B0y6@xVs`BUz;`7mOGeOAg_#q!fd0j{}B_0?LQv zSt~cu;4c8t6mf{&V%4(A#YIyNieTI0krCoSwNA4q*~5qw;8YrLBO4mDIVjc+&j$yU zrQhO@S(NE`&^}z-?CB|twshyMnpWke#6~egA$<Ka`Y1qNSyGkDbevp9zpi`qLRiTU zOO?p>mp{uCYMz~*j*W~^#4DTw>xv43gMebxerRb4AFP;iP$u;+dNeGs4WuG&6&)Z3 ztgWr(3fc*23|kvLP!Q2r567pUZE<?3q{N%6uA}PrXV$~Qo+EuUI)Z7y!+F4iPD#&Z z0cl@XOOs_XrORv3n6upCWcTuA^7?^9>%K#kCPa^-t)n9dIEjeCx?ag_OLZ*FW|KPI zYQ2O?ZcaKn)12>peG1BDkuF19N7|B8&LWsHT$!p>RWs<5wl;BPKHKIwP?5>W$xnEA zT98OzA0Mh{kM;gU1Mc~yA{GSilP4WXFKdNQ_vW&fId-B|A(|CaySuv^o^4<p=H{0D z{+yc<3S8-vlSI$TJk>I;=_Y6dwA~4{XD?KR#<L2xwWVgJ8^jXqH$j2^{O%*;HpY55 z6i5$`5C}Mvo*o&km@Fg!T?_mIMR>70S0+0G`QZaC@L#qktSYqLhF%{k{WA)b=*4f& z*OSAxpE3OK-sn7AdZ8Bug?qJWexE_Q5cKd2|CQW7KTPNOomD8|Crq6<Jw07n$vODl z+4&bqueM$$lpKOXWfg4+36~r<HZr3B?5Cv<HW~+oIx9IoDJ^Ij4K6gaK^W@<Oc*JE z6s)|C>Rt70Blb`g$?pt2;qs>*9v*Hn0zJ_v%e3-`t{x5T&pCS`l<17LVH0<CON&oH z0M$3TwL^JH`bP+O_{$cfbXIZ7c>Ss}#nR_onLrdQr^+ke@Z9aOSXt`q00i>$XPNXN z47`jX>(}rPg-<YE$5vIza^q)%cLA*<B_pe^tHUZYNMlua9x3+%vLZ<cS1DaO?-w;U zFg3*H$UwIG{nG@<m9^va^l}ReWrEM$pJpcYy^`=fMk0|$`cp>+jRr>G)<Dy5wo5K| zSb^zPPxtlp0pZ`X?Z@OKH8F0}95K_!340)O(nQ}QjKW}X70Cy4QE4eCcnDK}e?M{W z;D#pv%F@zOXvN}3k5aSxN93^v+|eoEvcPTmR}HFV6Aj%n0V7#9oasZLw15x?sEGl0 zIXbX&$^J+Fkad+=y;_<HS7ucUwO!Fl$=nCA`}$MB4XLfA614F4_01aI0K<k{Wu8M` zTnX4dzuTo{WXRN<4FP^I0+o)W+gh6i07<kZfGN`sU!deHu&}UXs$TRb(iCeeqev1| zLQ4-G-JN_k6APOV(lE?|S*2BR>6R32F-H?*LE&{)rk~s^KfAq~u-69AOvi}x`E))R zR9&9N<5XpJb#>V#oKQdw7KKRum4%~`kFvG<7~KG_qhJB~aFb_SK^QzdGhed;NT&FF zQwIkPB^*jgwBg(?TH~bsvp;`cUtR|CK@$|$5*lrr!BUn^xL4}VkMS598z&E}L++WP zdir2(;!j0oXh`ujre<enF{ByFyd536XbD8}efX-<)6>EH4ZydxHKup9sEA&+#d#rm z;Wb8#ms#~RBeyK1Z0a`<4QvH+Rm%h<Bs$vL+dqB!Y5yZA$d5H0OsIzy=GSXw@!8Lc zq5VIQbO;=c*8il&Hwp+4uTT4O3`|W!&R1VF)eJWM65I3pe6{EncD0b9TB%!ATH4!G z<1R)U--m~fFTO=4<;_JI4;Gq$X+~5Z8?#xz8WSZuB_!sTsEA!4I7lO&)C^|tSo!vj zj`+T{u|kPQ?CgY5SU9*z>)_cXCNHz#;71k%uy1Pj-CilS7WmyxZ&g<^82WW$Vgi$m zCskQ!Di2dVz`;SBKHjd`B~|&Oesv`L^>)9<&$f$P#}=#!N&7EgN+!kwS7wZVGTc;$ z9<`l9?pg~Na%FN46XIaS%6~cf6f8}q_(1Y4P|>@(x<FarVr|wMvjEQ6Vszqkw|+M* zv{)eroWHg@lK)H)DeE88SRcoMMe_{tKaU+?P=WxVbE(U#qrSerwH4(f^-e2ecte)a z9X<1={5Pn08X6k-!Q7nTqV~&|FG+eiGUIa9DH*RXE-w5f>0{+}^$PRyj7&@bhJcbZ zGBj)pxk5VR0i=k6TLO6`rFU;<$J6wo6^JodHGV|5FJCQHBVAfsY=$@fe*Hxu|Ex@h zK-*$UNGch~i1qa@*3E5EQMjl>QhG@fZlHq1DXw7=^yk>jrMiDydM~(?Fi`r=y?UC< ze-7*gu=8Zqqhxv(qY<(%U!s6h{U4jK1`PuPP_#^V$45qFDODiF9G<M?(mp%KsIF5P zmjzNBIE0BwjOoXbWURKb?mbp$*;k)MS;ic7>icJpG^Gz-bE_?%ZxUrpD$xi0S5~&M zw;1GJ4qB#aS=zeTp?|Qar|Oh$f=7#yimJy#c~upV4I3V%gp$VeR_YS^Ut=6&<Pcz; zZ05W9`uROdS4rtGszr8nk&cvWb9k@!YiQ_!a?<4*A02(J$}^0Wkk1d${>R*0TT@fu z;Tqe5ugo<O0~HMBe>B?M>YC{5<Chy<iS7p)NC`)Kc@X`S@FH<EU4>z#ZnvC~vGEH% zAkVvxfq9IAUMvZ;H=0B|*~cJR64?V<F5>l9tLC}joyv-CK}<i;C3{X!f8JcBi@N@V zC^1WK1wM`_tI|rK#Nv$mCFaXa6>u7<MN@wI?QuOZnYmQJ-yWoiQ|-LAUY`%$m?87M z{q1d91_m-bumv=xB*%%OfN7KQ*rs1zAQ$uwrXTh~jMNBXzvekzy$5MkJUl!@)_-Se zjX@4+xhn+JM6@Mv>p@FNXurL^#m0~3V+RO!MAV$CUfwAc-_QUu7B$)&I9*VtuYAM_ zsW#K*ci9XfE7%O$dIG{;t-|REiY!1m5fxI%Ds6;W)fm;T@NA0XoaL2MMKj@4WWb{J zD_0atT@ACg#N$fH;jAi4vmAp>)`ptAC}ey4=2O?^-zJ~@FYeA|Zd)AkMs1%xw`PKU zS;Ln(4{dg!3d|ul%!=J=gAk~s5h#+|DZAqc>BAvgOOIqOVu7=0!2RiJPXeFx4+HhQ zd98k2nWPmxoC6B^x(@KJCui%UCScc+^Z@I?t%u7(S*o1M$tre%TgI0NO!|w90LUre zzyK3xXLAY*c_`ySdsj4$vTEY)wZsuw{qf_6#QrA@PGH`A@>maKrH<<>0at>*0o2`I z2!s1WjV%Yob(#64!njwRN!tg%<-N?zKGm|<{7P@iree$W{AeFj5OT!*uosEwVRXK` zynJe~Z`*9ho%Q#kq{JSC38O0=qM?I6hAl>btY@gkmALbg$6B`-p>#t$EP-3024XG( zeexC&Ft2*k4#FgSIO1sZlL+3M`Ff$4PjmHmm-Tc~fe4+;y$)bBC}>Q%E_aaxGz6Az zeng_@;qL14T!oA<@jC21rCNQk7+$nAT&yd5;#;6WJ<k9Mi`VybDl_WPvUZ#lguqUT zmB-TA2lO0940sp7c5RLi4Gjl>ho98f)DROB{{gm*tE+23KwE7si7%FcU3U{s^4j)9 zDZ}OWn9a>i&_27nyIasGmj%L@-h@VAeAxdux*(CQ4*$)Fz*sg+V^v9GNd@v~#-uDG zL_d|^b=%h1xWfTQ>{+|*eAa@qLA&dR4<8ULsm*rd6ok0_Vys-1@&LCUBQPqoogdS( z%P6s2oe#*I9#1j6{&5qu--!a6dh!5Z2$i}e8C-Gyap>yXJF%Nq>kV&|$kLMUodnX6 zm%npFp=JgK1_+o&Z3W3=Wxql`lJkjHO*?j)J%s=A6lZ8;LHvKtj0LDNyrHkJ5AH^@ z@M-3#tyY1U$H7X^(bm5?1I#Ep?WFe>cXq0{hrul0W8v=NvU~h{N=x$aE6~uw!ernj zCcK9FFQzHR3_Hz$CB>%*mY14ZOe5uuqflO=;tM??4Z%E;;iHdrGzkR#h~oUT|M>dz zHHMr1%*;3o<eHe70q8=c3}-)ybiibE-(E=>$4O@+NLzyxpT(Qe4FnudD9POX)<U-@ zL2p6VH0Gc<-CHE$jt}f~HPm?B!KwmUC7e$sjf2ho`1LO+uu#J>zCY5{^D-4pA95c9 z)<f_W!Qm=U76*eEp$C%Vd<menj~{`%-Z^<{aZrZ_55G`4<Y}g=L*D6#;JAG01j;N3 z=m>y;bzi(uEY(g-9p3n|+TgPA?AbH02EcZuPF(5?lE~DQFSSevs5E&${WwjX5mUcX zm$8><1U^N~(WF}Wg{sL#%iUSnbo0=tmQ+{L6qP>2ij%mwC<Xodv91G%xlK)2F_B(N z^MD89q|E*b|I);W5Yda-6$94kZKnB!&FpGhTO083kS#5k*4Sb5NE?`uB)yA~PXcc7 ztOvJB$?q%*SSzqlfq?(pyL5shD-Q17{QyX}9RTxfSh|DdA#yv^OhN(z0#Ba;QJ0Yi zqxv<Jnuca!cGmxN&Tjqi94H<j7$cG&0v5V@dIwk{k-#YB0P|O*yibb}@Z{nK){C}) z#w~UAr@7T_IZ2V_;tO6sGmIEkzBHNkZDSq}|4LZH)ZAQD<9>;qp56lm57T;`$^iOm zeW!AVZ%t{VNCoEStlDKdEb?CrUJ(<7=WE~#q>z_QJGwYJ60RwZdr6_x*zZG$trCVP zhvttY#e_-po`<fBhL)DGB|>cz3Z;TXV8rlpauWvk;g1#<UjjSLHolZn82gqAr}O?I zav!Ke0|x=<JVv$PAp`~m(G7@$6y5ABtnB!E@iXn+`|*7%M?=<4ot-zpChpdCba42+ zvs02mN<soUzm}$^^!Z98ctLRji(c|(gKcnlm>l-WsJ83obV2qKL=)OffN7zU_F5|v zIuBNXC0P<{52W$-qv7EO+*J;F>$7#}opu1fL{V7oE|`9Jzt>It>F;Bq+rji9{;*j4 zzvr!aBnw`-F5)<9sqP<iDuG0rG^RPwSgeitEdT+HtGcWePJz~;U5w-sJUY$p29=~g z*^Sc=cnE2LL;~>Zi`3aQrnrHQHjNS*1t}%AF?oU1CZ3o8lc|K)R2dKE_=qifVbR47 z^E*3^|Dv1ZYVpHvT^F{j<N=$xc9(%c_2!=eQ6ueS0LeKJ&Xk^*pQrvW5j5?e8$bgG zQa*$K3g*GRd-L39#CVbaws|C(w3x8)$&9fZNOX<`fJq?c*>7(`|N2DRLjJQzhTw8t zF0g@s@0*zkTt7~>I;UX)+^I(@fUc~hWe;y8p7^LbG|xeB)Q6j1tGg_mu1zv;si)a@ z0#5COw30|7(UnmhdL(^F0DMCPIot%rlH<+<?Jp2S+_TzaXOnyGZKw~}KkIXqa{8mC zKs2}2UY%*j>o}CX5ENdi`;AXsVFoL_!KSUn$ji}Dgf>oxYay%DVgAPt3M*nPo?brk zL-|UBw!q!X!}UjRLoa`Kb(t|2n*{lWhDyVTciQV5sB`Lrr5Tb3!X@!755f4#*FTW_ z7J}Ccdtoa2s_`T1P=+c(TjBZJpuM)`i^65#>AtKpc}@Xb3cfM&A^WK++-Hj1l(s)L z%I@Fon1=*<csShMVsCh|y?vstsfmkKd~)*15|-iW8)#%?1YEwVs`AOo(^He6AYST3 z`#f?&+-JqFxu>)_RsxYWq8}}q)YFFyN)4Tab_%@4#3(eEf%4|#lc}TfTuAkSf<6Iz zf#8ZOG(u{e<+azqI>Eb_wKd$!?ZTb_xPfa>1<bbhRqc(9;ZR_oYSSpIY`2?nQ1Hp2 z(N0awFJkTUj5vO2Ou5tAfw)BvzSiDcb9HIyqL7avkV%l4(+|GWfLLO-4OIr6wlfNa zx*3rL&P)=W)U>1F6osB1$OBvFJy6JE%~NKj54%3p3fXx9csi)F&7GZ{JyQuL7Sb>G zNMr87fg%0$>C<jDa{~jQfq^I#u%6Obf#3<|Qy|X|HWg@A0Kp6W6lm&JW|bzt3Jmpo zt%|C+AhC+2nh;IaSM7B(j(Yu{<eBN?`*sp9!LtGRFp!YoHEqX{WBgi;fWF(t#m0QC zGsK?%mOmjDy0$r*4>Z!n#l;l8W^SU{&A1XUQGhX}hRdB;Yzr7Oam;g?g1HGTEjG*( z-xWhOrZO|9%fiFEz_kG~#ArK%d@%<Fq0uO~k|+UFsxr=xdlp)NTw`5=u|t;e;Gmc6 zCD(%mr23RLMJ~S<gcs)#j#C~U=^TIr&&%WAV8jA~ZZF>hg=rr;Sk#L1P}B90R_GU> z#iXPpVCn%=w0fF*7_et27Z)IiKh7Qo;-p!<8<0wlXq?c%U~JT{wr_tWp)uf4l}AgA z2QOwkuLsdtqX^Ko0hP06CV<Re_CIB#_}d2Z{%D_1nbcdxbwWZbY2yXr3m@{}Z;(h4 zM&DNna%A0}vLr76X7s%}FmE&<{<-vTDr~CZ&=JVB7Xl`Oje|pDMFo0rqPNXNG0UM$ zr|FNanp)u2iUo5jjGkU!Pj5=-v%1{W2cT3fED-5^1HDOwJsmu4Jh;hoHp60iFX9*J z)?cFVZSH62n4;c>oX)KeBxkFZ5k2HJY4^TYpzq%!<&-BaB!u91b#lV?1_vY#^f20@ zR&Z;GtYvid8eJZf6D%OvR5CnXPG=~VQbV?L7zN)wj>}MI_iCffWF7Dj6%jF-<e4zY z;8!Hzq*P04HcYEW=b^=LcIp`?JA*GKzg%PSQI$+=kLI%gU$(~rnx>PgjL;z@&4rc# z@7+;&{OGk)1ivc#{c?wz+S($CvpVRX@5PZ?QYZ4f*#t3>8>;uLC`e;C`l2gAIll$E z{nq%~w?##Dx?G8h&rm*kdce=Jv)ej9|F{)kY6?8WTXfjXg}gw&cr~iJ=bZ|tuW7zc z#Gx&kTR9*YTmfV_K^=l6a5v2sB>e;quh=Ls;V3cR+s4FFc?-<#cSXQ4ey2o2Obq61 zQxvvby3VV-Xa{P<iUprG$1l18RrdAh%AgU2H<eW;wR)->C0hYiB^b$z9t9^SJ}PNA z@RPtrq|5lpyZN71HP7pfvs#A2osDLuolx(roh>Z7kv!u^fZsXft=!4wH5qX0s22Yu z6!-~pGdt6Cor`r&cLy=`-1Xd~d$eK~E3vvyZD4^@j*P4&6L0FA($sAXzgZgrb+7@j zlr|LbsI+l`3iU6V9(H#N*iTG!G{zt)?z1%caLiJNymAK^I2aR~m&WQcr`OWaaRqpC zsD!*lSWj-$cM544KE9OU4ZtlJxOsVjAP2em$Ishnt;`rL5MOM&8jz{x#)hUfGr;PL z(phWQWV8_21RZA>xMGQpWhLmqvVWZi?ymY9fInt+H42>&kR!_^ioL`U^-&WX5DMJ? zbR%LNcDBE~>?{(l-2pNMdZZ~Ac-`(kKGQynuNt@8dAEqU_*@g0CP{80$EA;cYlT&n zvC+jVn2uwbf^CLAF%qLygn)fW`_vmUcv((0Xf2T7p;~6acf6TzXKfe?n&=9#O4F}E zQh0=yA|#804d*KHkkJe`5v2ElQFuD|TZykfuMS&@F3ye<H);j|Nvbk9Z}r~T(8y@M z(Mrk5=`m{{h`WLL#LSEx!4(H&QAlxBm7L!rj-7r3Z(pPpH*_to3c@6|9xnUNr0xUK z_RFevr&&b?(1P#7S!2o7A;tFbC9NvC`g%Uz-rm;MKtTAvMTMp4V8tRMER23?@&Y?C zx^Vm<(1c{gp{Pt%aPDMaV4n$51b9F?nKX<r3c_@8tyrdmxvAM`Fmr-&q}}X*kJaBT z`!7Z3y4bGAK_QR}%nXg#rjHFx4GqWNpOHNxCs1KdlQ$Wd@wvY<&R>quR%JtoCciW9 zsH)mwxb9&nc<M9XB-s;-_OGgXm4H}*^C^@SYkwC?wBQ?rDZN4d*BlaZlh6o;3s8D8 z1$lX%v=t`2Pq?{FKKrh>Fx<jeVl7lk2+0vTR0Xd6FsL6#S(eSq$1MP%m04{Kmw+$m z<kT<p43-*L3ls<}xk%_Le+>U-dvLQ2rqu|N4jldp0OM1nH!ITz{px8)uuTZq<KxwU zY(`Myz?DPYtthqyyp&8${(d0d0iGBI9aX$fzSMC49Wx(0WL259iYAZ|_KzBSo4(D@ zx1!H}@0_<e`4^0G0Qfcwezz-fz+ozB|5fGH(NtA=GMS)y{qNi0l;i)nRbWol<>DD8 z492hkesDiL>-~TU<2NwZsid)~)S*Dg-u!cDh=m2lmkoT7V?u@9h-wxFel&9f;^(I4 z?x8=H)t9#S)6~Dc)%akJLflLZRgUFU%Iq(?-x!-1IE(P8q+#1)NZtTFOr@j_J=pZ2 zFNG2g!75`Y@KPNFfhai|QetB8`-UCK;moP_PYXfx_rxSYrB)xC45!Ji(V&KHv8k~U zOf&Cv;tod}6!gFgG~j=`7aq&HU6YigX)*FT$3CyUs|#s2zNgHp4naB-9drNM3`hTZ zm>rOCp-rWYW`Fd^sfD^hUd(R9s%U_t3}}}<1WYNvK>Vq_oPf2wqQVpv75EzXY=9F& zzWr+n=65INAmJzBwMqP)0i>mIB7l)pK!k8F);2IS9Nw4@m){W^1K8zlI=(Ug+D*S! zA1HpUd0o#9vq+w0vr^G3!QVV<ZEI|71p2vp`N`n`LkGwzfgXLfD*=tC0%sIjj0%bR z+kj6FoK-5T6#qv!^|kfA&#=siUQxaKzFNCyeDII~mmN_c9nx-8+qcGVirU(=C6KGo zl*&>53XzL0?x<UT_$1b4S3MVmoBgcL`<?1Lv&OgX!9loX!}DUL=h^2I<IkCz6}o!& z-vkt)+ezVAOk7B68sH`vbrvnp@)0*{4-Pj;iiw@?RM%^2X#tOlAruX4Cja$BQRf9s zR&rS)eG0v-X~j}A&X<lYAiz1g@zk;96SsStNmJhFQWqTvj`zY?5K4-QVEdM(aaVTx zM3@nfdw<8mB3b|GDg-uY_NXlgST<S>blu&&1eOPPo-+G=aB!$tJB0{GA2-R)z zw8uggf*CA4egd;wslL?P!YCkz>nil&bR;<m?gMxREYFWtL|EJ><lK=fb9;A}iNdRg zlevn^ix<M4Wu=n#RZ`I!WR%AXCC=6vZiYc~O-aZ70YVswNlCXuZ?A{O3L}%H1KUdl zAE^MnTa};;=RTG*Clk)mC*ZpOGx_*hL9-YS+4Cwm0$ClY(^=pEVbo26nAzE$>G+YZ z2G4_Gm<q^^;j&D<Xhyo&87-tRDz5}~g18fI42=367|FrtAty)xe-8!c85evZJqYM~ z)n5>%SRI;TzomdJaBRq9OtVPx;u7t~{iOc*1mp!lIu%YpiSyHJP+ZQjA6W<*4mV}- zEYLtD{|>UqKEZdy`9K!6WY}Kvg6sK?Vb*;Jj#}9_;Pck%-yA4OQxM}yj!z5q`p|9b zG2;LSq$F*3&Z>3b_76Bl1r)`qS2$Qbz)(FuSalXLuGI(8vHpHnFhnl3d0m10xZ~)D z<701`yX!~mhcKqEN3e5nCT-Fuhg%Kq4j(Lj7Gr_}(o#M5@G>xyib5|P7$0BwaI9*- z&v_Eno9Zs6Q;(urhoyVAfr4RAS5O9d1{y1nkb*EFII62310vl`$qakWWtCuxS}!1A z5^=J<w+3N>4-O92f;k;b7D`G3TQYYGVRvWd9bQ{wT_IN}lql^&Y<~nmeV|nX6)9y1 z^P3KZkF)cimG3>?YQRd!clLP|1tAH>*3)xYC`Y*SvZ{z^P#JMi5cbW?WGyYxtCUo6 zv3w<vqd&?S;2EZ)qH6PV3x2gGt*e2H)svO=XG%-zX1g>Q>jn9nl<I0H5U-cITWVYI z>v#S6v9W>AZ|!TNzvN~>5fp?%-OJ+p5~o{QDl4ygEDk_5-oJl8Ty~{#fF5jX)naXX z2M5e7Z$>C1f`U*1<@HaXcLS<PW2ztRqtrL~wtPT>`N;3QfTZH<%@==le7dk-Q&R&H zO5;|r^jc@8xeTlAjYz)!H~HlbhKYX5A!ip`Z!0qBC4B$f-o!H8oj=N}i|#E)2lTz_ zNygpW+F~Lzt$&$JFYb#5r?Dm$q@+6IYMwKz>DvCp#;Yu*fv{kx1lOunvJN$^3uR^5 zF-YHN2L(yMp#3=g6a-`9VZY0=%>sW*z~5LfvOd=n_yE%Ip*vG=fdLUwZV0jJ4`8Jx zh{g)Jk)VI-<LTkBI@uQ=YhBXXx{Necm=N2tWz^=%hOntUj?d;bPvQ6{djXpi=&V>} z@+lCMPp2*yNJ)76`221M=Squr1fUQQoS=%nmpstj^?)!cHuehf<}_)fZV@{nAR*Rk zzeqG81^U&8c4hx!9*c?fg3j%omP_gLu$z;&l1C$g;j-U-7PpG7zJL9C16l%TNPIOo zM*(0^1ZD$Bb+?%yxt&5nI_vA7WTQU@98s2eGD1r-$eAtGbroz1m=GUV>edOFyfp@J zSdv(C343tQCV67VZ|0xuFSI7>aH$FCidm|oX0qIX`2Kqma41;f*Z4k=j{_3&^^c+S zM?NpkBx9f|S#0C!Vs=Ope-FK>UrS4LA)OMhpE4org}C*eKhESTJ6>Askhwi{+HFIE zL}_?<xLP&{J(t0Y8yXrgXyrKgfRVSozi*c?jrQsN&dHXjn5a`QisXs|zv|2C_kP7L z9Ui-;%Jl)VRzGX0hl^byATfLu?dqPOE(odH(wC-W0;i+_<zOQIPh0i($jG1Mu<QFA z(U6$le_;P0zArik#I`Mhf`XV+Il#fU-CYRNb`HOw;1s~Ii3xCsL70P{H}f0d`jTO{ zYqQ(Cfwik`>REbv6A0P5_4y<X2vZIt0^aj|Jy`~becz~BovU?fDdPJcng<`MnO{z7 zh5o${SLT3W9j~8(EvxlbnrEm9E!M<3Y{A6e524BHp?YbpSJLFvv7u9@TLt0G8DQfQ zPb%g5)_>V=?AB?sjVJprriYVAyitTm0khwL2RKK8fNIa<wye{8p-?Y{O>1>Q#FD@0 z4G1P4Z7mOfuocpvp{4!cLSuFO<nHg20uR-t{R0+c3jr%a8IoG7U+}fjRF!Sq3Rq@m zjAtX_Zf<U2w-;M?d;7P0f99GQu4V@q?LbZoG^rozvL#;QMN;*hr}JOFd^tY;XLbp{ zqww+d2HJKcI4{m1{Rya@jg9vRb1Uej%g|4~eR`~$BXJ)VSb(tZpOHTxQO{#<9Q5~> zN`!-&+9m*XrBePkmnJ9=ml(A)ZZ+QZh$G-&s1j^R(vq?y_4aT)1Tj9GeuyQ)ZRw+j z)32G8Zdo-h4Yqc-{Uv4AR|_I##{f2?EhW!>daba4r{2-p`VhnE{perG{*RCEQ^(@C z0C2VP+h6R#Az&&=wHL^RV(~ly&J)?QMc&Q)-3Qk@v!g|3uzLv{@b5iI?(7_?U}u;G zY-Emy-5#xE(TTaQ6vxnC0+~=!Qu0&KnJdRWDGt_#r=i}ovxtPCpx5?yCR5bsv(Ej| zkr8m_NJvOXM&>iJ%d8p&f^uL`H?E$J>x*E0A!s4(d3lcsr&yjj4W!uCsoPii$9)z} zc>Q*MRD!b%EdWdH?cdkeo4+7QAUJMiL?|PYl9w6i=s?H`NGeBOUKemVcitgS_Vl@l zsi~}CFc*M07RVq3OW)PHg`kyWE+>+TiaLW%)iu?>t{)B*1q%SrT|<K{UB#f#S%m1u zO}3;sf9&T^lUjWuoDppf@KHf{bEn<4R=>ml@Cy)$|I%C}2mfLz8W7S5LI3%8?9+mg zxN!S={&JTDs|O8Lwy>v?f5WJo`ru+C+guu)J`TsmXB@ei9gqfj_<++tbKt{#y|2aB z|Mw!ebOM83hT?R)Jro?*0KRd^FBS%I{{xF!{m=e~YX>K*u|q0|Hx77I>n38osQR~( z0Xk`{5d;rSAaZPR1pUGHxdQi|jhlWBmC9A8jxKg;=YE{vF@8jm3yyaMU%kEk{j<%F zYlATJJ@=4y&#b)=XQqC(zMDx0W(!bTw<{~&wu3X#*B3{-Z6;1?@mxbuiPuG@9qF++ z1$`iiI5IvC{u70RArMaZXN(kx0gzqAbXfpXuU+$;JFQxpvYp)(@XNp(-aOyI@HM^2 zhG=bXzwD=R%PZ&n%05Rg3mY`JXdoW7Z7&{9Tlv0Dau5DqK7X_y$V}jZn3aqQ&o3`8 zfrSJBXM5XTB%h9!wr1K9M5w`$8SN>so5hljfNb<PRf(P{r{8J_tP-6}Xi0@#3@c}b zGB);&gdYhp2}z61g0%`>;;JZg$(iuAyb$F=i_;cRqS8iffj)>(P5a?&1oma=-Q}Y@ zALrw&t_O2&$U}Dd7d{CbWk2|^@=8?FChdjXh{+!Qy^!q=zO1YOp~Jpcpr|DLc2!&c z6E>~auLk`XWawl+gR%SWfb7m94;&16)Lom#N)^qEbN>x?e6Xcuoh~nk8rr$~9+ooP zz}T^@4r|>y&p}^ytdirz4L{ftIM>+wUtM1U4Q2TMi^z~=3}r;tNkWVzTec?I6CxEd znrvmuQpj#7k}XNdnk7Q^oly2Q*|YBn*|KxL{{M4-_x{g4_Z*H+@AH~>p7B1<_xssi zY(rsIfdL`}i+V{QBF{wX4(Dm!GP!#<yZ2FJC<i4)g6g+tD}y7wgVNy3ZF?^XITEt$ z^!|0)5AS`_%OCs$yXw=GQLt5>FfPAZDpN5O$|mg&!ZwhEb6j}}g!y$Hy<icteIz4} zN>8^gj}V+1p{5pfskP6!r}zVG`;A_!Gd1q(Z7jGZpQ`8V@|%CVd|)z9#I3qzr#0m( zWsI{?CGo3+=SEKu*lav!)B6h=Ka%_?SqL-g-<?NXxWk*xdAbpW{=S7(i{((Y!0evI zQb3eJ(=ZgMdHipK=0t~!?S7R)fWs;{dNm~~?8fBzCk6-K=kAXfAd(Qbh8_0Po_XHl z&+E0h?eHrAX&7|PzLo-~8uhSqDl@a{aF;bG`Jg3t-+_<mK`?8;(?0_feSJS)jUE0g zbDTTFJa_UWWktCR7c2RU6@X0mJ7IV<LGz25VFbo1twEX*y{H`aRS`*~0`UUzJ%%C7 z+Ba}%00f{2L4hHd!J}Eb!&#_fBa~jyvG4oS%k_`-3}^IW)WC7G`YXKKFdrk*`Q|)J z%aVmfIs?jh<Xou2;WsE*g^bH&<)!mdO1Aoz@|3tumFuGj*Q5)_%nfxS-Q`W7F444m zqpAWiDiijl_aA3wPL?iLS5eA_j+KcWZuH!|71)};cCb>FUmO*xJcZWb+WYt`!EA(q z%my>GUHqQMlUWiMIL^l9zWKX1JlxRlgx^9`q+;dmEPozwv4nt6L`&-iSb@A89L`b? z_<VK(10mdf_ELh)D1s)Z7S=qDXFf^sJk8s3#3>@VG8vce*b4ug$gGrYk~Y%FsM3C? zX8+w$K2{;2{h>T49ppE=KEbN)kVi!7US7J8do=BDS51-*<VsNB+%efvetk|-BC|Ir zIdcaGR==lDo$nT3<9mI9F$vH2Ub7CTI3}(Z;kiG>QIP}EB(8Yx#&8U{zM8Q#_BqMj z10XhxcLV)Hyyp+ckxvWnbKPgMGBXKEiMbbX11n9lVrNP3qz!6zaFk6At8)>NFOlk0 zZ_S*6oT~GGMJm=cIJofKXHfI$)^gR3yD9JrP_6?m9X|&OGFp22^qvLyRQxU{5+4w$ zcu}dUh)^+vR@u09f#ih-^pn}0>;UO0Aa1?ZCB62*wbm}R^83&JzTMH&n>Rx<GyUC@ z?q^*R5~^PBxRQJD_XX0TIsfxx85G%%#E_|vx);Up(7`gl`rfB0Q0Fo~-Ziv)kN-o+ z1=MRd@O(l}f+A^oW+rGKpHKKRgK%khXb5D=_wK2u_r#<Dc1Q9E+n^H4?td?>)AL_J zniU>*xWI9=^SgI3jfF^OHO^FfxMMv0txqt$oi}^lD^|jHmA5eviK6y@_5BBP&Bj=c zam`w5&3-FTZ|kyL_A(=Du{Aq}(2K)sRy>&kyBAm$plSH<Z1hv#qY#_ew88#iX4)5i zKAczi(9{$urkzg*c$2T!lJH;<Q3wX~lLooa)tbE)gGOaLmHIrRoFxOVO~)&4Zc*>v z0bdRdj$1-Z$NDnQIdem`>rsJv&x~916Nw~2U$G5orUS+2UMmB@n4p<Hdc~_ctKzwh zN4D-KxYMVg>jOIj@WV&@okww+ys#|g1G6u}jz$B69LCw}EcdPzR55`61D`AZ_v?wg zJHfhE<_>Ew6!vxa(6gG_L5T2&cb(aWIZ95TmO698-AS74+%*xw*M>GqYGpoU&boCx z&ONYna{BYkYwH=nuSCVTQ~JGbZcm}$Ixcg(EkU<1y}ombSs0I#nz~xAoxwy$Ue-97 zw;k{C9E_ZzPTOJTXM>;cYrMn@k=GI-GD%Qp=5<0mOPO>``@{3Zgy;XRQPR^;)vg4O z93Hlg#m2{TM}xvBgX1J^D~rVgG1hU5%Upg}&ksQdKmT_EDvT)2$Hmz;X3qYuBK^+C z>|x`R`z{my(3z(f6>W~!`T_RV^0sGT1GY<0ghV=!H7H0(oT2t-_uMw^5of^J)g0J* zri7_}L~!Bo{hP=-1l3s8`kt(<gn?aa@t*Z_JOY<Y&s8VAX4HUYW>eFfHR21Z%+rzb zIt2aCi4%V1=GX@0=%1;7AbL9N<~U#wul%#Pva+=J97=?93T}dltSOQzSmsR!GdK4K z+iSfQgp!_5PU39G#UoqeNDS>YqyB>ygK9togGyb-w*zl_?DnMUT6uaN3cyT*EHDX= zD4)EVE?n75Gq7%SHzG+2dC#3BoQsM2oUHr259Q4OZU+8tJRj8bguFW#HadS?1g2`^ zhX!DVuG<qYk{FO1b)-(rVKZ)3bjU{N(*qeVkdQ*t;B|Pk??3kh$Jf9_;Fb#hI2f0f zuYaZXAoBZcw4B%HzBIC{(T-YF=h5b7REaCDGz&2y<h#Q)JK(tjR3#xrPgifDFFV}M zb3Hb<=Fm;%!{G;@C}E9vi_6Z*E=n`}eD9#i$Iqa{WIDuxkJ_OuXdxTw&ogJ@kJ{32 z%Db!IKFtrtsxtTL@$!(x@*Vf9QKz%4pj_UoE89AAhS_AluLJ~|Y&2y#tTg0YfiqGe zV;AljTz;>vmke}3X68`HrB>(+IZ<Hes;ascg~@C}aMg>agd?UWs@FfP5OGO9KBP4h zW`bu<k(2GXk6uWNNqeuAUOUPz?V!}}+_6)!5^s3N2sqH7<OiDP8dLP@5T^=Vzevzl z%w6r5Aa?EX@Eo{u5|KWoifx-l^Y{EjxTE<paV!C|4~lJWXpKITGsLg{4)t7{5%zK= z5UxpXz?2GaY;6Ltj1QcZ8A?gQo_b+NJEq6<eTIxn6WgGv?epv2RLxQQ*l5`^$td;v zEbQ?yF%V}Iw;mPMmpXIW_k3nks>9Udqs7=;jEpgvMIY}y?&W9TM*Tp1k0&f<`iexI zkI^jV^tsf!D*MdCgYeY$e$<R5Ci85ASf>YgN<Fo2Gx6)pyM0AZ1(P1_f<~5-j_qY5 zZ0>2g7ddZSJ9%R0IzG650yLjFx3gdsJ2*HXi3@rC+BJs|6R;?nA?mw|k0Af0oVW19 z#+h+CPQ&x2iV4ptE{Rn%M(PD`DB84E`VEGK`_zpd`NP0a9?Yo6){?O2>P?2aPY>4$ z5)Q0o<N4mH=c($QLPLX)Tear5I{eInm-qdW>Pr`29pA;LZyr48jaBCR+auZe)7bE` zAG@Cp64)1tN<Do&ZnYve<6b9qtCT^fbNx@*Zn{L^oOw7~MU%eeom2YgP&O@-qlm*N zS*pvPS(*Rie)!Jw$%@Ybnax?=msb_Pz;bHhws3yl4!omDWx@^UXq7HXKodMXJw4&Q zzPE_?xlekSksRvrCk57WU_fKi7`YjIKXE^AOL1~c@({Ka;5aHE{B!pw3u3!>ZfA-Q zuj?nM(KV8po<3Z>l<TqNrOVF{{Jgv(ltWsXii*My>eZF%UB6fFgdxEvCPqj$N<EE9 zO=x;OXKo=Nz-U$mWc1YPb>&t{JoK^~+E}J<i0ARomUfF^Cw)7k4=RB`msGs~t1~&E zQ)37wvRF*mE9swBi+Ei0$dkuzkQS#cc!pMmJJ4maIXzz1eOgtDt=Q<r6S{Nk-M6=9 z!^6XCz<Hk#7q<`8MkRoqQBh|)*K_VyWiHBW2ye>T+1k=2;>TTZsmTh|mi;*&YBn@# zwwb+F4I*1I)#cvRa$_3~v_`AX6WQJnOJaKVx~acujGL!qH{-gDXlMimF&DV|ohjyG zGM5MProN6I)GB`cx!L=+S7Ark%g9c=&6`D3v-63W+Q~`pR+jYW4AChz2F;85&e?ae zWj9Z8?EVz?3b1u}H80jFFXwr5XtKZauK#u)pc>^BR}7-wUA(P#H%N)w9P=oK)E-Kr zcWlEmFD=V$PyXal361ld4qslj<%>n$!NXF8{O<j=dbNRd>|psB=#OCso6zKiM${3= zK>(FY3JXC!2Rt7N*Vo_g6KW5=pDG3r-x07pbn$DOCG-70?noUz{ew;cP+c`$*-%qK z?BLHT&Qimwwu@Xub5ZF^n@rl#KK!}+)t0x=sTaxTjQV>4uL9QyKhs)$e*pMuJP9dZ z^16FQ99KF%Y>m1aVAHgl^K3ew#<cU|GOX?fWyaJhR^2npc|lB!_(nu1bBB72tLgX9 z)Q`tK5z^Ctt;|!NW>W6*#L7xXe;SYV4kO8N>Uk1de7OdzP*Zy6@lWH<8>u~?qQ0fe zufMAK+ifyG|A#ZODd=N{D0j3YsV9HK_V3;-uY-OsS`sHOFR#2im7WK?K*U&BSX{Ys z1)THLzNuCqNm^W9X6N9j0lq@4Q`Yg%fXHyMFa$KL&)(om4OHUJ|4i<ev^9FgM9AQw z8mY!f5$e&H!;^n@x2ouBvUx^hEPYDak*fsO=(XBt3v~HZImj)*#W3-L!*gMH?0uy| zxE61x;3ayKvfE8_EQHL@_=fXDGyPK-vM`Ega_=f~k{05ZR3nE%>H}S7-={+r?_@W* zoV(wWs~AV5(AA%Tbc;#_`NQ8?3Vcy(0U#||O4HBQ*La=wbpVw7sm%`^KvG5@=Z@c6 z_UzH~M~2Mt#Xz7WnoBTo<23tU@B+Z6-=%xXWpLGHAAEmM2W4hzX=+ZdyUvGETKV*w zczIY_&O<c-=ouie+WMPAMUUxa|B`G>K9a~Tu;>80q=hI;zbOtOghj2~T-kj0+>w`J z=us2xJ(^L9-7gA`EH=)m7Bpw)liac;L`1s#`(s;+Uic=df0}lUPg)=+Xw#E(O^5_) z-{|MMK>qDndiTd@JQrKzRZ*M8-%@UC-^M&=?C99#6ElMp$<A&xQ(u31)Ms}z>vOP| zV^m&PT;7+_%fK8V_+9jp(Mu<pDgdvGjdHRIZt0&6l}0$uifCUX;(d^)JNAF3uH1x_ znxP^1U?1DrQNE)aItSQ)9Y0iG;F|$@1c2J$kPwHC1OUv8gedd3f8M%jT<)~M3V8pV z{8rf=L3ug3gT9+%zDn{qB8tV-2YE6-OTn7#3lqGZo6?76t5S6<@4@k9K+2d}rh;*p z_>ro@;icJI7{9!HC52Eo^>Wpyc&WQ5)cvSJSdx`i>1C!>{G56aH+adz!#;^$5m|5p z6LFNfdHGPn(H{%U4Y=0qODqi(gKeEWK19JRbPxQ(KjA7`hBvahEiHpGA7y?N5L)L; zMVkth3Nkjx<zIHah48_W#mkXgw0!(eM<Vv1YHUxALkD2#-5>9&e~yk;1GcN2Li!R_ z7~-#<pC0d)nVTExNM|enWP8otvl{v;mFk^#=KJoesc&cA+Dma0!!S6iG?dfQ_2COI zDp&3%CVUWIUbGy$x@!21I~eiZ7ZDtm{OMip{ey)oEApGuZ#eemRcdT17PB6=ZQ8yL z78DY6$$5oPMit31Gk#XrExKR87F)kz*l}W_E5~oob7G2PaejGs(rXVjmt0UlNfnGe zujI?6G2X+YiM)D`GchI&iA&bQ2arFr?(d?lB~A@Q>ISN+;)4-5GMh~#iJ;A6_pZIE z`x8<}^C}8pq6~0*1tq(sxQvukbi4T&C~zU<1Qb(qCpflA#7)WTXg9)2ofdu=)a>@| zP4#GVUyvA%XT%}7qU~5qF~zTa>d_iuCr>L}G5+C2X-7M7BD?YL-We2O<87{cQHe!k z-qZzOpYd1FH4sXa<@�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 literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-144x144.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..0c40e3400abb425b944d4dbb412508aaadfd4187 GIT binary patch literal 40227 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 literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-152x152.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-152x152.png new file mode 100644 index 0000000000000000000000000000000000000000..49db7770b00a4d3c02ce1483c9e82ea06dba19ad GIT binary patch literal 44355 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 Mk60O3;9TSX2dm}&_5c6? literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-180x180.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-180x180.png new file mode 100644 index 0000000000000000000000000000000000000000..b5bad5896f6cd423e01842d33591cf8d77a97353 GIT binary patch literal 60935 zcmWh#2|Uy9A9pO4-*Q)@IoltVw6s{RxidL(hKRYzeUo#TkUJEa5JK({a<wvAl9ont zC0A~8U;n4|l2>7Uzt8u1KA-pXDgL(J%~NdrYzzzxr*K;8hT!w-e;-gL@Oxc#ngjU6 z=xcaWm7(f0Vjlc~#rD=sb%x`Azn-_1W`Msr>7`}v%fRp-_rDLuucP4y;4fMIaJm|- z<0k|e|NBogylb6-A(8>7u3{YY!|yOK)qdVz=wUd0KX)v5y|Lnl@xHerZ7Q;>ljj9P zy72#UI8P`VB#66cC@s03F66Z!gzj%${$ErpcUc?*gdjS}>IicT3Hh;K^{4#Ly40n% zwx{&mZAw{725qSF$&;6#KYn_!;`BN2^UA^J6&t611+{b}5nr_+8UrP)D)iS$QoK1; zG08j-{D=$@4<mCzCR?i9M@X~5q_`<e@>KHFP-D^*2A58n?OIuNUuB6&U1%ZAip12A zg<?40F1JV}Pk}F;z6v`JB?v?PcB1i5rZA*gJbWftFf?<a1&Mo?C!ajkLRt_-P$s@M zx^F0~M2Nr5FO;CxP3%u<P`q7o2($mwib=H_$vU>gB<GgkIAbIdsuupV;JDGcwB)HL zB_~sur@jP^AT0;H5is(^tqGqjhpsof`gE+imq9x6GF2MJ%<?t@0^TssOXH2)+f!As zoP@48*$K=T_VbZjP6^I{my9CK@(~&Bm^@djf3;LiVeF5eb)h!(UmPb@Em&kZn42D- z>iYKX(otCFwt~0Q;hiWd*&6?2!gMb#8i_lOK01BaJ9iu&QDeg;8Z(K}On);q1Pwmw zOhbaTQ>~f`BF!4|YNW?FJcV?<salY0oDELC|4!p7tjLA`JC7vS8&){vI1S&sC(EM0 zq7VC&)uBA8@r3!<X!X>p;1F_EFhc7vc#ZN=$UcJ2=8aZ*%oP==0q-DoyymVYJvNU+ zpON0+eoj+Rb3XnwZmXI(g7!D1wPWrerEBD1B({<vfBg!M6LP?_n1Hokl^cTZRCuBe z{<qRnRbGDdd7~*d!Ybm@-|Exg0fxY5CNWX?o;sazEiOp>6h>8$i09R)ksMhHI7LoH z_WI{}G%W-R#!n(~U(u(gPE5^>Gpj-=sSCf_!!|v8g>F;4Pmv=_i62fy5Kd3rg&xo3 zqZC$KJYOF$F3M&d%6}P;^UA1+!smA75b>ohd+{e`J^dqw1SldnZsHGXIjBh8xaoc% zEh1tSdGu$a^kalVgj1*W;nFfk*A;#_+FvL34c+47TgOAY=YQpLjxX<4hyKk%jq~qL zO$S3M-b8%MD7dYv1!<TX4eXJe5(8ch&KM78q{dE3E)qvZ>Clk4^eIe?0@YiAWB2?Q z>~!2l7)sw}WIyh+_3#lCi+{3zxsOL&^*9A9d|1LS#puW^#kM^o<aNZduW=q?v}oPZ z51WD$xpogyu|-FW^H)v;3EcbJ#H(R&m@>J74EoR{8n^Xq@mTzm)LUrNvb^k}81L8@ z&l?lLq4JA&9d}gCu<g;d<}$c+v@RZA=gvw&r6Vory2xME?RyFCcPC_DTj)}y1t<Yl zDR`HWMzpSpNgrC5TIZbO2=9(CgW*Zr1)I{kJj9A|S6jGV`V03Fw62hxT2%yT??GF{ z$j;P6e@jQf;nbV)jk!RF(EAW0+Dhoo2+Prr2#ms-;^D&Aj=N7VU$>QP9$!fCvARR| z$FLtbF<cwLRv(cf1NX$(+e^opb{pxkuq=n&T;}%5<L_4V*vtPVer=LC!a?rDRdinQ zl7|z`W!~^hso279RVZfSFJ$5U$<9r8&li!8f9D^xPszcFmp@_mCO)z@ScKVyg#`xQ zp&8@2CA7iAG2jKK{5SEgv~ETTAGNMa`+Q92wM{FRAw7&<=TaBr+WYX$z{gm{!&dhF zISz$49ejIto^+(`W%FCow;Lv_j{*u^_}^NA8yt5$!iJU3cFwL|=H6kf$=pvd401b; zI?SBwe;rYM7*1UA+P(8fNMNN1d&GL!Ftk!F5;IX2L=uO-L&5qtBoYXv{)o8QV0wcU zhXJpP{22`%q=s;ejuGV~jN(nN$8l%ddj|*4uYFwq^5u3x4fcVbqg!YUve&i2qFUCX zQVhp^r^>R~cQ$#UrP7q@{p?=#Ss062L2A`P)f6Gab3{f*oZ?+Gir1D%P=!XHwi}UI z6dmV$XB=hp>#q87S=g-!q3lDMqT_GGm9>uHaY58KRQhT}#Ko@cLW%MSf&Getabj@T zTHb81x?JW`;KRK>;kQr{YN%IS;k)?T@}tuAlo#RhTQR}!*{1}?-4w1OhVW+p{Wm@y zYh&E$$#iZxxXQzsG&|I&VZf_0(da(k;s|F^t(t9abdN8*UH14==EvcBCrFeNyoJ8d zXi@2mPS+9Ri4T&?Qwm=H{UPzJb<kw&{QSI|%sIB$t*tE?85y&zO$B6v^iLT~SdB1( zGT?vsMJp8Ev`?F8%{ZKC8?O$1_ielN?92Yd6<IBP#H;qr!w#5O=m-P;tfa$uQta;1 zc<)h^#tTF9aX&1Vde_3YNe)Zq_KJx3zc>AkmbR*|9p`n-;dV>)kLPweqATV`M8?mZ z81aC2$2mjdc_9C8;NcV|NRNnzGG!xiyc#GOwC;F&*!`fOoo{7E<>l$f-a3RXEmQlc zFw{H?^Z{L8KR-WP+g}H}8~q9!pTHecD3q(P3ghyIkhVd$NzB+%0NCR%<B+(22a}BY z)R-qO$*4eBX;I{ge%}6udEeQ7nd3v(+W2hDrf2g};NG&=anE+HM2#z2ce|P+DB2}Q zDd$80yGTr)T=3D^z%3rx+5Fb<Coy}%3F3k*@{ewYV!N$(4g-g=nkd3y>qoRMW}cy$ zkmdmI_I?)7da9dGhdt&rGS-N<%H^UeoZ{V5HHpEGm<n^=HaV^LKZ>{4Ghy7Xxq+hN zb?YOlju_~jc(^1rh(vd7;4QveY5Jh;Ud13cL<A0Fhr!f~42J3kT@PEwcaN4vnzFO9 zBog@f`G1U$$GJ0m3Paz4`x8yHeuf;c`pYWc;Vd1tvU$=|K+kZTyn6nPwWa%E>)8?p z!u#-)FM%O@qlOW#J>m5;*5tqwd#Bjn{*ssM2!biD*&GIZRfCc_-*Kw;sF9{xR^LF? zj)Hb6XDsO`KNv+K;e|^%ec?L)DWPyqh)9~2deK!FKpMDov&t+JT@f5OgE1)b7d~Pa z>e192Wnq+zj2N`g{Vpc?rYKkcMi8l9lIPiJs`SF<Uc?T^aTNYdWo4yBB@zE}*sa*G zte~LFO-5E;ULKXIFGlM)-amdh=sMmJ5#cgFV0}1feGO)pBlhHKB%5>2+JGtzZJrg| z%&WmA0>RgN@*Xn39N%4asv6JVuzMOFHz4G`QWRMx<hi#-<)NG!W33N~L!JDiX8lD( zH7f7M;cHKph_#9Bv+{qKL-*QHtDkLHx8qJLk*0zL-=V0rVSy*#ieTa10<0S-1jQxi zD>~1CFU!Ht>ih*l$^7AAShAhnK#au4`udysA%Eu8ML(mElr@arpB7CTTJ_1o(`36{ z_O2g4EF{m|Dg})zzOb|IS@{+wdC5<%(cKqOy3pd1<CP4a_QGcPAw422C@5z3hA!=H zWyx$X5f4_E8fAm>`t?4(KjJ8xOH`7Uj^q;gOUpl6T(Cag`~Lk*{{|Ar<YjBlD)PS} zfawk<*Nd<<?J)Ar#_Z;#tj)RG){@^>#NVa=vA(2_IrH+0%~}T^4E0LSir!VdGQOlA z^D~@N{RQntM8}>~)$y|U&*E@>nyg@W=;Q<ZVR+I)bJgrS1D#Z)9_N^dv|40J{1hn> z61A<6f`^k)5(&r)g_csbaJdItpYF7;a~w?`PYE4<y%HAg>UuFxk6QN#4^e$mwa`*^ zKSvYvG;@Xi6VXxks+$@bHrrOhsz*I2wpUF|+(#~CQ`@6eX^-6Hqm)xi=6#wUar#(Y z;ZKrFu5W4igYl5b%_Av^LPa$OyjmJ8mKqxTO$OghYRTnE>#7;F@bFB5^Z#wIf)47K zbIwfgSfhZ@&uA?;`$~Aw+3@YKPVt{7UUBfR$%^Y#c5LRO1`kz~j|oBV9&9*K_9f2H zJ9Y=IKr)AVn|-}n4-1k#&vgp@^=3Z~U5gf~;XIUj*n#Yd`H?*JhTZb#&AiLhbpf!A zQD^P=SVZV(U0s?a6?T(wrQ_hMlhVfgzcU<A`F+N$%U{5peW=lW<cvld5*N@~K81<5 ze{EQ`xa{7s)_o3pyxWgUcazDTxD*+Tf<+ff&^PY|P3~In6<f2#zEkM$V&*3rNM&mn zyp{wHdm+NAnvP39=o>%KwW4otZFN&9$9vVspuV3Zd~t2Op{EeG_g5Ud+ajTzruEYJ zqHJywb~odAdvk$)Lgk^lC=t&_P)<j_vhZ3y5SWg;JYlC4rCp@-@Dqo0nA3-Ri*Kwq zw)81ih(X8Mxy{($^Vr6{e*WXfBGU7S?{R|%<IP-$D%la^hX&W*)?=6DcJ%yelnx#A zI3d)!_RS3ij$lC?XVrpn#o+Mpuztjh(ebKK_;hjhJ#L5!-Jeo>Bg@I$>)M(PDw0za zr)_dQLA3f_+uqjQm4iX+!=~d6>~VgI(3SrPopp<Ia}uxO{p8$70xAXzU4EeZZl(xY zwS{ahkIJVAVegrnn_F7KSfUY>`#Jnjh-$%?!HPS<Bq4tOKLM>v0sHS_|Fb!W?y|W# z|J`-dwl-+#$8}vAcl?Wg>+-vKmNYN%vFK(B(xA|VMdne2#9vm2qbGm+A>Xsx*Y-N4 z#-BZi8~$>{IT`=FdR)sUtn+om`~Cme&)kpr#$1tvhYNKaec_Yy-E)cfxL;tnh(erT z{?Z|H=*8@H?Rc`5{AC!6@kZQ)&%9xm3k@1C?BolL?3jEp`vwwqxaE1gb*cI-FMHhO z5x1t?I>{yr-Gsud>^lIK9`}E+y_%=zRR7eqAxpb>WA|WbMAmb>T`m2EWFoJwaE!VE zTKC#ho#o|aG47KwU$(Xyg`seweDb+?bzY5uQ=m&!xPk+d{OFP8+n}|-^I%ir;ail5 z14`_>d!lJU^TpYLfr01K0H98`TUlI0!R}t5FORh)PVMycXo+PsdriI@8j@hJKHls& zq96Zls4h;w0EidIhDe<_A=}#T_x{w~C-0&k-M|qNS)$Hi*bY0RR`$0&ZJzV({5?6& zyqT0B6wHvw5PCk#f$>SVH{xEP)wXccS0OYxY{xrc1&j6W*}Zjimd+}tlY@8?n=)g^ zSQu%xJyBnE76wr_$jOyw+)?bWhXzN66Uhah5&InxhYQyF#fH4P{&L#Q#y>_!n|-FE z9qXTJ7b9`Mf&#p}zW9%NVH6Y<^QhC#IZ7daB`Dqnx92kN-0OApt!~@0s2HqzOr7^* zp~MGCE@M23hAl#0`|WQnd12DE#he_SJjdReNSOf8CzUPhca4{AY31yN1a=lel(J1w z(C;4&_fyHO-c#Lw|8kjUnJ3@yu@CVKTsb;?kd9<jdnX^09=1~<6uO9Y-pgw|>R~zv z!>%kbpKibZP${P=8p}w4jk6>&pW*wSt<$B%_INiuJwGK@$kxl|&2i(wxA+K2e3-)X zqrffeGVGak_6=p$&bNVHulF!{fzSdbP4#r7u3;O=Lh9@ltCqh2Ay`y?+z3T-M->&& z7Yunbd+kZ#GcGwL6@zTLMvZpoO44-1B&j;3M%5ihd(}sOvO$3`&#D}Bo%DJ$=;|*g zV4kJezYx&ctKKsB=l#^l97oZ#x!=FP#q;=9EeyI|?^ml@7;Sq{ZBaSxb3=tQFmM~9 z0x&PSFGjV%w)UIzYm3S=#7Qz)O&@z`Tr^;2Ve!>J%-j2Fn%1MFWH>SS=%6{^ZnOWw z8C3}c`+l>z5bFZvD!x5zsA>GkzVB3qLMLpeW8ZVj?$goc?_4MB)Q=PqyijrAPRV~? zuDx;E5m(_<SHk|zSJYRp3AZ2Oc=Gog?)dmn=x^Nfh*N32C!_+8KW_G&B%(-DHll$6 zjn&p2Ye&<!E?v4*UJm-Q*8B5mJ!M9vEG#~y`uQQt%})6bmYY+;7VRi0Lg#U+26E*; z&O?9wZ1$C;eqZp<DY=xHAd#>edXM%xpjCh^7NR2U2hP_w*G)T0GI-TW%A-)LPy0h1 zeeXYr=;%Q$c6ZOLuTN<gx3sqlvfsoc-!aLY+EEt1eKFJ6L;!(!?&264$|Um5O$H!P z`U0GIik<xgQ{5~cv?jlTnuwJ#MHNmYj^Gkm5b1WS<G=Not6NDb5px6mX`Sq4@WVA5 z?B_|I(+oM$H@5o4lr2d$XAVhmLJxNWHSFt|Im>NWdp#D&x+^VlouXqa{vlyl{h(Jz zSHhkMFXN$~Zgq$(r4+f*eB91au99Xo3~bE52fQjS{;(3h-Fm0`-sLmfE;(t)lN4_& zI!`>P*$VyQ-0|0(K0hpc)7aSf_N`^bpilENmz+#(2f*n#Auw_fi37qk;QaSv=KY+K zZ0dA|xc)CpZENe@i<zzs{5V6h8X1XOUR;bJ<KM`VQPNL8b$55q(@J$|uvk?h9>T;3 zQ$yka`4}EHSK%xlEXTvan>#s)XHzwbxU6J9KfBS^+#I~UZ1v=AbZTECz;Q5xj*da> z-S)d*Ryw!ja}UiPZx6grSRofGJ*>yZ&5DPIrQ2df2UpUR;r=zBSy+f+w@wg0=rivB z$2Yc`7<4P*_tywtAw_w`hfQuHEJM$+>BRkRE~4F&Spftd5;cI<NPi&=g^_=DM68Sk zj<<#GO25ELBz*Jl^F}0y-bn7BuH)g!0Lx`%W@ct>EhH$|?lq}eN{ixsSzf*tq>!eC z%qYvtQ-qQKi)EsCLkkSc)H#vF$s|q1+&*1>p|Zh0315pP_$jrNlsnQ-Vg3K{@bGMg zgt@z0rK`i#TB=&B&LwJ)C%vSyTLV`}5((2j!S3#gXA(cy4k!zI&3u|?<q&KfaaSHW zh$6JH+H(m>u3i&3x{(-$R!NG`I<pHMn2$H33w=GZTG~3?xkQ%5b~tw*WX#!IX6H!R zy;LF8899yvT3<>G1itvduP5t0>RIREd0L7G>0!($$Boc9&6O`LwwUC|cXq>vmmUdw zQ5zX*2r*emT%O*3pKQcd7wf-1agqQ(cWxS!TnHVhB{1%S>VrL6(-#&3_^R9c=Z_yb z4(92|lZ4bh$EK#h>wOc!q(TYW>uXOXH3oP!&c}S1I+;-DH#&jYnj0`jh|9<}6%N43 zHTUn|Z?;rIBx91#<7`p9#&UTdiU9>;VP%0Bz)mpB%a0^!@{ntPg?oEBN0!Wi6<Hh_ zc(A=J%YQ0C^eT+`VL$p*gtbcH$TsqAit5uNkLB^X_Hnk{GpVn|*<-~S(0>OMh#iZe zp55Y?3e+BdDAhb4^RTNcO*~mSh7*apknqmyry40yAqEd6D=bEOOyher0KZ9I5MIG$ zv4jvD;wP}`+z_BLX-vY2cJQbvq)Jd#H2z`9g#^))OcWHvSQsHLNh^`a!Lt*{UYMUt z0YZv7Lhw&{*a&vYRoy$M)Jk10^0I9_^V;8Xr~6;AZhxj%dW!7aU{PxZ6Zz)Rq)Y4M z%ps8itV#jo53$N}$n9fM9SSda-CP^X>54wrV3Fi-13@{hVQyu0TBCN@?H6XuO-9#f zWmB%agiWETqr+*qWcG%UQHI@=UB&%NRSS<l{x7GbTfF;3lsHZym-;qve$=s|s}7Ch zZnOgur2&k{l{_U4yTut(!Uv5KXM~vj+~5?x%PGzcnHKQ42_q|TG%v@!etz__G=gz+ z%I1(&amyfUH?IAINcs2t7Wvg1d)Y69J_?2p`C8JWIh5Zsw)anpuCmv;^k7H!+Snqv z&gUP*;XQ=hkK_H9D1TQC2*O^^P`XC624&@Ll#YR%_0GF1Vbhna3tU<TJ<PKPT(6%{ z@e=U#^3pOHq-I}<Q!Q9qTe~d*Il-pTe<|UsYXdF;7E9>UG%{!*;un{e0D9(p;b4(a z_}h2bOp+T$6wcP9J(fs#@Sqj6qpAg#=q}O^jh;-Tfq|R?z|_2Kv4n!>B`&-g%PVJp zESXlC-V);h-`P^d!OpH;ly>Qkl5&r)<vG%65gi(uSfJQ{4VF=IfxgMP?uBRq+TGQd z=Z(xo5^R){{k|N>(IWm~GRQp%XO^jX%7qEVotcApiI!utK&*EA`~9AC>Qb_E`TB<* zG4#04wnA2ZhvK53&>x9hp>M~8u@Pp2s}?$y7}VIrt2+1(j9y_Mt`D4JpaHQ87wYTl z8?x6UbTldCBRLx^MXlqcWguNf*l~ut2g(f=R#sM*GqvsP?CK<0qr3Y0bYWyksz-xG zgGJ?_8^DX{FPw9dHH*%j%WYixf?f*Qs<or|S&fg6-!bubc3vHJ${+pt^Ra_LmIH!< z#KDM6Sq`5+eFFU)FxT-rBcr2=fHD9b0f6O#+Zg{pkC8aiY*KRakH*90)|G_99@HZj z3sT%kCXS-XmSmS4ByIweS`Lj-z$!2@z3TtSoO`4$@uj2T;94Q};$q;9FrHtO{=@&M z92!`{vza>PcA*5JbR(r0^{b!uUs}y?`*Q?f*OSKL=H%6l7+QuKr{eaH>dxcR9n5!B zDc)$^=)ozqt1vPOMqAj#B&(6`cz&aFiyi&eZwENv->Tl7x@k#9x#XCdoTi*?DD_3i z%E)X1GW=NhVP0OIn@l1ea80lGk5W?ZT+H-n5?>{_%U3NhWxp}-{Dmoz5HK;h-(aDX zFOFj(*XWgI^p%_<&jqv+ggKFTIKYbb<{shUO1x~rq^7nufy57Td7pp(egRa(YU`EF zkXkcI!4$O#ISj_^VkVUElD;4>59r2CS-;{Uv#irl2t(gr1%0|dK{%vMFm+Ufe{Ngt zuy_B1R|(c8RCIT2g=tR&h=xje6l)Wunwe4>a8W=9TT`ntz$X3eq;D$tJ$$wA;BF?w z%uGi0d*_=C9IdfXlZCyq9HI<nDN3pM0dys8{x<Ii;EN>S;i+$!lw$Dks)dW%^tz>p zqyFRFwDUJZ+NvDPVL;c9;$(WQy;KG#8u1FGP)tnP{1;3yh-7uqa`5{2&kM4-Xh!r$ zi02D2BuG$w(0y;JZl+_X(n|qU@5K!9Ss7W`3kfo?BKiUsL`hm&#}J9LZ6mR1`J&*E zpY?;T7ZQF2kA3_0Et-|1q@=_wE009lQsC%u)K}d6Rsm%1zcl@hgLUc^h2wW~b1x+l zMm?HLD<(0Mn8=0=n3^3NNF+G!^77`Yh2Z6a2M_UZLeJ}b-{^3W>KP#({Z51MgE;}i zH<L4mPyZZ0UwM_<Ql*A=7?JT3346ujL0w2x$dBxq$cG%^%TiL_F#cg0e>BB9K2O^% z_|rQp@mDA&r-U)AWYnXT^xvnkw6ruJ9bIW#J@~J@<SUwr(y18yIex`$#f=M+ruBaO z!OG#gdsp-O>m^5A8vu;?v9y(RPL?|!LPl+d9L^2cojZ4zSA(4+X>sK&bCj}7ZrDO) z({<gOf}g=c(nd*NJ(^fpSeJh`17EA~^(h+qaz^KxPqEvGqp<L1NSkZJpWu5Kgeh<F zup5BxeU9>ZpMhGLAGS4opI)`Jw8RDBVvp<C$Xnq}{NOwLx$n~_Ajkenyb?>sQ(s#G zQc_s{r+E9y;cszl@ahD<l_rLh&Zpi;rnz1(Fy#`_r(egVqhQUX1(CC41w!ZkrLIuk zk$s8kPvb8SgIK=bS^I*GKcXBe{D^A1;e7y$yjGK=LsN%#{hh$*rN$(thRucUWUq8E z#G{_LMU)Xvtb3lIcxyd=PEJ=|Ni|_W^F8aN7E9Y$uF8;RQv~Eg03R{F$OR*^vakqH z&Oj!=SLSXnkKRWw6dQW``kv3g-OX}<=SX}kaS4<YKpDiV7Y@4-0q(&(>$OKvxF7?K zd9DpP)EP>5ckAfb`ucizw^%aQq!&6(i+3w<Mo(~bc$iO6@Sde*j4lVWd(KQxPtV?7 z4t`FdU+9L<i&2l8qG{mBn@O_FQa^wG9M2<;*4^JeJ{nI+NvSB;HUI?W3;I<1`?^<P zHO;epfA^#%p1s1tBuz#oe7&x_F;En{ySocGX0-q%4OvE;e^@vdTs8FuDxxwW(gb>V zG8bI4Qz`bsihk?!cDa=Bl+)pz1CyA~$HK}p6HHriTte?`XFn?~2uL&O(ja@ZI9?;B zI3sG{g$d_XD;}spYFs2c5R4=ea!R5UU%2p#{Km)(+(}w00(NYp#pP$68NK#md1(&8 zUS6v|o9olGhBi_qsR@O=iNzjG50-v3RM4x|5Z0BZUWgTmrM0yI&7w(+DGH7WKQOEO zt^-K1M%RQYJ_`7$!l2#(wb->mMnU1LGnyEu8FcR_cnu9bm&hr3+7*R2F*(=AhAYr3 z)lCN_K2v*lzBGSqWMpJ)Os|v%CuUQNEv2&i94iLPOI*&MKc7<ql=FE%=NxvHXo7H0 z-9h&`&(PH_*82K-BEIvCXA`id0_F0&FqYNyV3K|*t<2cf!vlC$_R?T$dm+Y$hj(XW zJ9fd3y)1WxYohtPP_XYU|BCYjW*H+GWfX3oxc6jIAD({nzhC)EnB?d?vjX1(I?H2k zY;p*XJ9Lr4{{+8ES@@4s#IYs{Q@JYQZDu`g?afhpDGIgE@U+t#F&ixS48zc@OGCp( zt2;qMknk(G?Hptu<mdPIZyD{{HCnT!DgCmB0VcUM{BZAZe_K{Y*2A*H;9@2VE30qw z+d@A|x8{R3L24aomLwlBv$b^h{CRThyRpSZNe!@J*L%{=@9*z7x>uC9)YROrG`&pK zE;gKapr<dirjUYsX<9MrjLy!^cFEy`!xJ>7mI88x+eklVFpZ`a{;i{~4gb!FMI{R( z*SGJ2@&Rtn&M#^6o$focVvibTgF#Qfb?X**1Q{6_P?6^c#urbUm<UjYfBt+$U)T+8 zA6b&g)%9xTj(@*4MTv`x>nADZY8Pi^XLoE?dRnyx0J%IsPFp6o*8QBAA>AKF_I^b8 zYTbD^O#dD07n1P8_Wu74MIQAptwvMC)8(Nei_K2fF%P+BVC~ClH3+h0|A)Pg>mq|p zYurDDVtINtA}@bk3Mlv?4u@@pD89M#eMxyT9q+}EeLzj&?SHe7@k#sbtM70%JB zLJ4gNUPp6BclV|H*83ZNa=He_WyUQL$4X=ruSUJ(_=5kf;$KeK{ikd3-Z<{NmEYgL zAA0xhEfTjGGU{)o!YPqpYu-5QHr5)*A*l3J$B=i>wLyTQ_+U$txSD_P+bLDER#H4u zn+pTBQ~1_QN_{gV1_p$kowX@o3w-!>babSo`b2__AWS$Pda&bNlk?!g1C$Vg!YFmG z%$S9Rg%mvVbayv+q|vT+2;duWF|qQ&KNAx+6@x9lvjN41j1fjA4-k~$Mm5eDmz;ED zo>JHzKudi5{8HJs5)*HEzFjLiC+opa6roB#D{oxlZ_(vs{mIU0#6W28XIZ*Qp4fVB z`62LRO?!f~8G<yca^l7-nej23e(NB<!kfol@AkDDxribNW}caw<-k^Ea0(_ZV0t!d z)H=R;BW!}_Tcn_>&6cER&qCLVL19u7VviFTu`~aU_RpGjANk|QODwRWR~lbz@*J-+ zy<Ztnaj)Xal`A)k3=DYVh(tkb_)pgc)T2l*yO5A_(~52$Z%SiEnLU#GE7~8tyuH^J zhwBN#esX!!)6;G;|Bb=k+`j#I^{4OIuk(LLTeqd!w%aANlcx}hA-t4c)B4K^zdrsc z#0R*Ku*HIa2q>;eNvHCquidy|elaun9yE>|nSPQ`Q&%S~EnO&);F1F>d72i(X^At5 zj1^k6*JhHABLPh#x?&j>6_?VHOpm#tkbuBI5zz|MiZ)UL{^h7g9C?y%9dQU&`BdEb zs)cW^4f%(Qee!|JmL1`3G#4jnbA;W*dj|b{VXda>kZ+~w&&jWa-uE8e__gBY*V7d_ zemEs4@Es&oZpNq@K(|)OISk{F;YQsFOfpy16gLKcR|c1wyd=s|q?O)zk{*DHF+iRy z=}&ng!en7>jrITY4SQI6+z)zg4qiel2L(H&U+B^z3<VbB8}F%zL+fL#tjABYyVm!w z-$f};`wTZOIivaG)d^j~lzOz<(buy|+Xox{SyYF9-^W$ydZj=+WxjrE)Pr94>Rxr+ z)Xt|*Isnt@)(<#C37k-f7lI>JwGQF-?HqQ0I5%A)mON=%aUsFB?H&i@g?2G-BE{Yu zi7PiO%PDE7tp$>%lcS^OXv>EUTM1qdG=GT;NU!+$>H?k+_cv*wC86-ut5?5$nvE|4 z;m_W@L;@VnhlNA)eqZPPT1TbMB$k&CHwwUrss*b?`ign|9FLNdS(sFC=>nAh;Xa~1 z-EHz1e;Z6igFPh>uil?0fBelzzwh(sgu>VD?alQ@P?l&+G7aXCld~|KGX@|y<>bRF z_(Z0#!4!kA#*HgX$Rq9bwj_>$p7}DqhgWO{y6Tw3PcVgGQZ4BlmS@Q*VhOO6u0ASp z9;uT^@UzNx;8U6KMwCi?MZt1PB&l*?GvBbsPRGUua+u{4gt{L_iv3HQAsCe}=sxez zwtM>ky<TZwOY$_&x`6wdHh*5Bztr#ogR7XB7-%RXBmY6{?@bt%{jQy=A3q-32G~?I zt)_g-l3r<Ak?Pg!Sl`;(S|`c8!666=hkvV;gw4sg^P3jFKyDIDRC}5skx=u5&=u+O z2NEC6@nGS5<@uY*K)AxC=k%4}pA_7Nl52W<aT*4lBFtxFkho3*hJk;sD&bQ9#>9I@ z$vWeUKtWBO5@tE0Q8w&0+(?_30Hp{pfJv_%pede}vaE4$r7v8C(dPXG6@pelsRG+4 zh2o76g2NTOf4v97nAO>(rPJEQqU76{C<KL|Q!bo9S}@N#wXUhp@Vny)P9;nsJzUf< z;spOy6bfegA>~cz&^bNHkw)hn)gC*zg^5XwLPDXkKy0BF-Cu%DTuX;$9HWpULY*$0 zZSFW)=-5j+8o<69ERR^da`a(tsApp0IcT|6EmgO;|K9a%I~0#tFWuPKC@Lz7id49I zHLZV^@p()zIJL~o%y;kJ1-)p{VzVc$Oj-Ef^#db|IkC&;i#L!km<zP4>4}snz@~Ho zOCE53JiBXydV}f!p7Z)Tpr;Hky%g_E#OjqUwN#aCf<|>A;n4?M(rj<tPd6FnC<a`5 zog@#$pwiSEaTdau937;<4vI_G|8PvD1^22`l9E)$q@L<zQK!4QRLq2ojEwpmGlZcp z^P)B(4_=QfRaI3<!+6+YLGLaakoYwG<HwJ8@7{g<s4bcXiqnK&$Ih=rJ3F41s<Gw= zBO8%T3>ZNl0gg{Hi>y07LmT0rzUHfS?I*B>@}6F~v?QM1tAizT)v$WKyRI9ZA^3?4 z&W(9#(*q}VdA}+RFm4!elYuhbD$M|w5ple7ynMep%#!nj6>aRn%BXg+&)P2ygt(v8 zY%u=8gKhco-Q{uM%6$P6G*W@%gKh28r{~X|J4X;!M!(+(1ti|udVF;BKNe=%&64Z7 zt$y={!kiPq_p%&zI`D9y^st@iY%d%Dn<dj>7~PjE>&X(WVq?q+N$a(j`7Zk-&r~ii z=NZDYAqTBd{1xzXpgiKZmjWKx2xBoAEt+5bup62mK>^!SI6adJsy)bcolnzhwk&b6 zpl^C%V1L;oSGzXAIRUypcRZk~DHQoU_86B;?GNZa&>X@U$f#n&3kde;<NG-?KYsAP z@+Zw&hpv49g74Vd;A>|R-90_Wn|&#DuPmiX%lZ4`n=O~W%{Ql|6@aTne2u@LCJQC_ zS)~+er6U<6Ba0?Zz8@`J+{sAZF0=V7{^Ma(6h1%m_t}Nr`TcfRou4Q_;dgLinS^!| zxYA5VfPK~V@^5So_lNJv9xr<yeD^$V1G;@?L4iuL9k76@Un>I^+5*Sr0~XC>azW9M z^&H##bEl)FrR7YLCLb{kx%SivC~9X#sx76+Gq;f3!uE|#O-|;fVi{cOc>m2>Nh-iw z=}41{ryr{OG+Tla9IILb4I-sz7IoRw7?wezRc_w{yPF{VsUQ2={Vwl`eqSIhV3N=A z3xf7arQV8Hx8!`IS#(ue`t9r2_HfNo8o&y+aF$M~C;J{v@)*pJGuqhXG=%Zs8fg~P zV--$<u;k^-KybfgXKxP?<b0%FYxb9KvgQduCx13W3T`v3UF}>4x^Ff8Ql@s*f)7Gg zLE&v{D;4#qPy)N#tN)!&7Z)!rOnc&z)9C(8Da^-4_;_yM-ClQyGCNALbjvs<6^Tm? zT~#!CmGWau|K(~%8E3+t(Mqd;x>#Ox-3iQjd_mV8=1bNlCh70FRLe^)<^kY?H<#gM z7vov$INpv}5el8&Ryv%gTOSTlOZD;|QS8tf6*+%e^net?M=aDDX$;>X%K}7DO51HZ z-Wpd5f2*2qkLJ&qR=$|Y4~M@R<R7hK%7hT{?`^N*(k&`Mtg_Pd(o-EV?s&aY0k#ue zy%u-xo`*6$ifFcUG(RKq8rc3o6*!ytVRUq~txeH@_bTkJnHk1+MyHw%P6oHCRywe~ zz$0q5{DlF|fe+%oxuf*cSH>Vr(0W^<^V5eZ@6NUL-O$!iz)kubc_INpPwz!8HoG>I zO8`v-kfBG9B9A9qJcKzTU+@pX&4d7@<4pKaSOw(PFh@t0cPjy{Ru?n<torSxp#=p6 zBFR%*+uH@GUq<<Ryt*`S{oKHN&f}1Z08KoO$ZD2l@c1*RrPS)TLrYuBW6g1#-0ECp z)IZmsuqTjzJdz)}#=*KX&-!hxJpq}H<ly#vdByOA`kB>B35A&CN@HrDX|w~_p}~7o zLdQemN^3t>j+R#rX2uVbLY2g!p$dZ6b(y8@8<*fj_O8?9I#QhU{HM)xvW+rLpx`L> z1Q{STXrF*h_f#h&c=xL6li6m4{-zQ4gu-8IL6xS_=ZPirW|G|-q3AP}#vfs1t@PIb zs3|HcVlcqk5u-}0%fiUOjlrBy=x09bV{2<0931TF$sq&I1w)q#vD&mkS5Hqn9aO9O zVLz+0FU|n$0%5YjFn$DUHbLujvCS!Q$yqh0`>Pdjs&K}tcGXFmm;g}ioa50n(y0ti zTq<Epp?bg><dZl(9%>c=*Ml=cQ#9?4by&k~3Hy5RqyAP`vZ<iYECsY$N&)NX=~KR% zi2V=0Ks@0jQ~zvzvfU&+LH(Wh><oq!@p|<oZTVs0iv_vgR``Pbg18m!y`LuEZl2um zbq!}D3PVNnK5kt*<&B8Tu~BvmX(KHR3mxxNbR3R!Y))S}-UBg+J)o~}$HzFB6APGE zl1eUU7_?~X8?<yOe`!Qm$*QaPSl-F{?N}dnJa$-I>@eYTQ9E$2=MxBU@I6=m32e~Y zL!}bsw0YR6Q{7W*Krf|u8=J%$@i@y1cQd8PVld7*ViQ8bZ$U?M$*CH2jno0)ye8D? z^Rrs_2N4lM6mK$!J$(mdRO1Z*l7uNUK$A_WeU85F?w8Lbva_>~c0^zi>>vYFev#rm z;jd9N09xN_nXIfVpjnUg1LX4TrROo9dwQTYjHpOpVp;<=n3oMs%%nPCRzLwAbd6G0 zHh8QqTHDkF>^Z<r<?@yTTA>Abc>=mLUX7CwCS_khC;tUaPHTXcNr-oA8iA;M>hF(J z?Xpxl-&<H!Mvx#qlkfFDkY9Owp2~>8K6fLO`EpEO4a@%~3p@O)i-Iee?+91%A>do_ zYBd3!FoM;l0*A;pJ$&g7;H5W`>)r3Bzo@uVeN+*#S?w{}ave|vG#a>|7ZQMlnx@4^ z?Da<I)}s5kF}ryyp(`B+*&Swg@8*(7EbrXKGWhre`GkbP*<U~0=OA?1C<tad44@v_ zpk9>!0Vxe(h_g&Cibm*^&F#|>8(j(j!I!#WNnIL;pn_JhAuyEEks3uH6@D(M8vuf# zp&`KZ8OOk9FRLc{0{9Yw@;lPF!bAi2@-cP5`GrMAPL_({3-`NgL9d40PP4^oA(=2& z$f#jAQ-jC1C6EcWWyXarA@}d!GI$&n#rRxGP1MEPdjQ>Md{KkuCzdhbFW@Q(I6?o$ zuv_DxD?SeLS4WIl3G%`Y6l}%*`yi;K=LGoISlfet?%?Z2AO{S7oUU`p8F2OkUC7h3 zde{vZ7OoANv~PX6z%aU1oRKbR!0TYXHP_Sg_3QetU)=p`s5Kaw!DFHH<63*V2gAuQ zgE!$aU*Zza=Y3RC5n%Qtb3D8}Vi|-!{&Y>BS|<r5;NcPbO%eZat)JXseg5GihhZHt zRu=`j2Cs(fpGwX8%_Pr*rjCQe<B*N-OOEw<dZoYCFuJrs*Fo=RZEf$iwm$deHbGS8 zHbVe9<V*w?4H!eM<Ru(8F1>0Y4ao<EXixiya>a=@+n`>$SO8B2$!+6PKm2M611xy2 zA!crv2W@N&_<#!i_j7>fV!H;_HHuYLF_5b@L+AHjmXgY%7AvE?wifwdWMBurjI@{L z1H%PxftUrl@PPBH>gr1g+$of(Az`ZYEAE~d;h2k=AA!0IKp!YJAdmYCqbHTkqj43% zzOuXw1QJ~O^T!1P&J2c35<)njR7Rqb3SVj=rInP}4{Dc|+&MYYkuHvordiXOnUqN_ zui#)8Utc?0+h=%Z`Wk|wTP#hl9=9=Le~vdxJE~hf*?lBgMCNB+tdZ*tygacP{b8~? zN9}eN2xpbJASm!GRgxXNJMqdrKSZ1Zp8;=`b;lX@xObCZwmXi)esh8MIv5M=h}d3k z11>Je(2Ua~cA|v_@B1g%svGe02@ale4-E|k_1DGaX`!>OY{Caa(KJ{b+1FQ`k61>( zFHme$P3I#ff3QV^#LE&0PAVt>zIR%~+e$vaKPthw*pLfSV0;nKHj?54uwPXRfG(BM z3oPy3P^D}t(2*NPz{5R>U{K)%U#l3z0D4_%Ivd>OZ-sjd`lK>`)FT`Da(`RMUiv9e zMjI?Hzr>wni3Z@m*zhEi9BG!ZfQ~-(GtW=1uTE0^1&|P0M~yE!z*$~RfOq%8Ji<S5 zF!#Er9FwkH{AW|{lWDPGl#P6DU$<>7kGP&zIz<2KjT<LJ8I;X|boC+eijJ->D^uOV zP(w%q-3Xw(>#65ZIz}c918D<*`uAZiBPCA$WdBv<ic+Fbs)IJIxA)*PtQd-N_)cn1 zaHsvZQ++5uVnK-F|F};!S!gS>TeXM&k3UIIS64PiH`(qa;mtvpg8_GmnE1+ATkGq$ z_U5MgOYX0#Yhk&1rGze!%}CHJI(wykE*P#c(C1icQMPnen-u3ZQsB~!dS!#E>F5}D z{w6wbyOrkg?Y@t)Hj)Q|vjG8qY8|6x`KeQ<0A`d32NVt(s|uQ$5RgHE_QXr2*wzBL zqg{OF>{$`SiTM(6UObwL2A%*H{H9|-W1w@+g)_GjzUJmVUGjVUD?DCUf{ZfH;?eL9 z3sdA}bEqFSEPKD9p!(2Z7?kfCln{(X^JbjLqCGss%j>qu0|4E#@aB#f1WV*4kV;xy z1PC>u5R^wWf9#Y0Wm6|H>`(96pg}sasfo2Aztal^vja@`sSY8<u+miJSk2(EW>EnM zm-372lR}po^j8(IH?D>q4B_Y+5L|EiPiHhx#`?#D_325@XieJdSv=sjF=<Huo({h@ z=CLnv2mbvV?B0QNUoIT?L^bE|r!OKMe2hgg4t#`8g?<O~k`WVlPQB!vEaq&fwg?bV z^}@WD_LIssA2*u{mU^mP_3G85N3eRy=v08iMbjQ?*x5Xz&FeH+w1(|(egDp`akcqp zXLmQzU0(Q}GN-x%2?f(-e+X@EshVb8A9gD-`<d;4%PKzn6<%p-2j?%xM&|y*mYE-E z`q(f~=0HEpK=Q?_s}^wDOoFZ&7<e|d0x<ZVj%XjMZ@*R0>O|M_GRegP<T(-wzo0>k z^bGq=w5~5A(An7;K=Q_qzkU_Y26IM61~V*<qx(RG0Q&^mj;}RigD^!$M}s=<>6zlt z>?e0hst3sFfNTOxd4UyHW-0X_AyvD0;t`AHLt!YxRCzhu3+Lpigb$+q8^F;Wb~_`j z3#8*h3BrTiz8Mg6$?lsm&kD49Az>9Mds-uSDk(ok6;Hr?NxG`bBXYY=4H{K0&eUfL z!{26(!o!m@NO3nBXBh`aeHA5igTfO_?;Q<vt281Y6}(NVC(55KAwo|HuK41NE; z2Ox_Jr8X!kH!m-Eqc8to%M(}HZ|-k9+7mA=DFFh?bzRTvcMBypLlj3Eg%pC!s_E&y zG5EQh65s=(bTEiI_lgk{d-L)^*G7kO*DDBi=2jpm?FIvQbOVFI$jY+D&wu!!K@bLI z=RUmq&!6(yV9+IOju}aw4HlDLPmsONXl>4z^74ejROHisKv7kjMyU4E40q7Ex~pl_ zX=%(<ruK=i&5<qa930H$XP}VCj>7VslKI(wY%CsQY@}IKt5+I5^?q*7tjrj!KVaTe zDz&1b0x)UNH7COBB+o%1K=t8L1u6xc2<`=!E}91VCHE?%WmJlYA9T%hFz+c6jRAd_ z@oI*{4Z#%awvf{z-<;8(^W<j*wZ08^*7{g&vtoC;I(B6vUX)v45KJ#|bbkY0Z-g&m zWWzE+lxuwg3sZyd-4@G4UO-UN;yBk4bZ;xlhJvk^7cYDblMKGmO~$si=ly$3=qu9- z)AG}_Z<lY8y*z_m244T|E$fYxtd;cL{E>O-P8B3tBx@2z1_DK_>eX!Oor>#`pyf(t z0#{5s9U7@pN&{%(TkiU<0_Jy?`=1uz5rU`@n90cfmlOvgx%AV;fYua2#f#b0JiS?9 zNGSA=w+2?z7Z`(S+1KK(#;%L!l;DqqeFb1FLQ0_+B_)zxDVHkeI6)D76F3z?K|}td zdZpxz1CSd9r%jR?S$r{pDFY-Vgtso8N$eCTGrrj9em^HmM{Ik0TV;;Pryk|hU~wum z4Wtds8XzjlGD2v4=iRUVplmTl&4Eb^@K8YZtzr-aHgFSqrM~OGdqF<;LV}@Gc1ADq zCrt9b3MYsO9WC}Bx#1@b<nm5La7nUy-JZzRFnEvp{U&*~`8Jy`JkbVZ2Bmzg=xS2Q zc919@5H@5_W-2;)V4`b+-5Bma0C*A`cC?Wnu{G>eS}INv*K{ziaf`+S=Oq~UW55yv z7U4)OZ*hHNBN4wd)9naCcC()aR{vb4ex7CJPa+mdz{rNYy(nIVZlHuM$R&I|6{}ii zTz*?36*=sB{UlTL4O3o+2M^9s)<AOusM&xQL@gm>;jN>N=38Z@q#t8rRrCeU>o3dY zZrlJ-%kuKuqL*+0W)t22VDvBuz(GMBx(QV=6w9U>@Sb22NqyWq?E_d2Fgyoc8Es4| zO>f@3X<{<^<A<EjZ>U7=1O_Df!O|vAfuxBf$N-sVIgIEjVN?5N*kToFXaK1L0|NMy zSS*>oJ}s00KyiB7L0E0Rg<aB^i~?I5xI{uiKtUt@d;i*~*<BEzQF}Dgvi$q^?>~QB zD@|KNHp@X#0uDcHa;&~z3HaGUmnG$rd7zNX)EEcGpM`2I*-0q+Ci}(z6waz&wd~(O zjQCrfC0|VtRW?cNv1d`>;4QQwboyHXjd+(wJlTl%bfSinQ_8a&zB6S`pWFBTT<TZa zUj#%pJ|*G+_*jX}mdR&#{p2$Hr^mzhXNewQOov@)wYBc4Ww9Zc!@`@5G=f5;Lj}^L zV#8S|1WJI$5?Wj3bE*KJ=eQ9S`M7^J=b!&r=Pu6)jf5c{i#;ra#!Lbo@>0k8r4pC+ zjnDFtN+L0x&Oj+V+@W9vg@m@P!5&Z2jGo;E`9cH*Jh{iz>8<Uk;aGcf7I-ai)YxJ{ z)iTclel^RtTwoRZ_<&q*NJt2<;^+%j%|69ulG7W}V0I%n$?@iVI&yHKOySC>J`g0i zOPU3mmx`t?Cj<(;OwGy3(H6@{o%8%>2o%y6x_;@2Wq`;Yy6+#s1>UK4F;EhGnh`J- z5DsXth*j^JnGt*by3%w31hI<^dpF(!rA$yU#4jX-e@L^lG<Z7m4sWqMwxiQWM*<H1 zy#g<2N#>MU>f+kM+*Qb~Oyq4G3=h}5jrO{wh@b#Lg5zb)6oz3+2phimJ|0Xe-bh{u zNnXf7#>c6u;2wj?E~RYH00z-*mQ`<(WpCWbqt1*+9M|FDV80K#{`b~vhvB7V6&UZu zYYl=i-5N;%8>b^*l((5y%*(OkxO(k@#2rlf??GbW%URL`cFi-Kex%u{HH?PAmA9*4 z*f(3sitz2MJ-u+?Wr<7beq_%P2n9|I1Lw{e{lggzPCQ^mI|op(46rYg%ga?IE}#d3 z_~`q1o=BxrFc`>Oj{A?Qix!l-7Tg{h839q8B+W~37^SfGwgj-V$OT^2BZ>iwZybgz zP37URr^Gb9QlR6VBw)h!(2*~I+Veu7ps^Ux-VPu!Eo{m?NpP&64;DP2)x83Gk`3x1 z{)wj~b5!TfPEhM;mGQ+1=Z^j5)+ptPkC~T%cRlF^uN(Gi1lX~<y85z|5|bcIWda%u zPabZZej}suYvOs0B;|{aHOLU69(97apA{(mV0270mroc<K>kZKTB-FcY_)(h&wO18 zvEfG1g!&55(S1I}U^IoYj<`}Ic@_%Bne~dl)**s+yxQ+odxCi9J%C)wTkwRX>#%G5 z|E;X76dU5w-z)YPyL|jtou@H+#fBm{!fZ3x$g7%+E+AT6=&}dOJ?MgPBEaZcgr9G` zi-5^iKMZCQsXmft&O?D@3~UB4(1B%UDwBNf;DrDg0OgNx<!e^-(;D-eA;6sY*N}sN zKbm^?hW9V^W=k=sZBUR|`U^mfv@+6>7jSjRk6kt|Z%ahpV}?}aB^y=@f)Y-t_3Svz z!q0(1->GS1eukZ<EX=To(Q2%f{O>Ei(iEhufKoBR=#5}?Fy_3x&>{$hgtUzf6y4+_ zf^doo1~E1^7GSmg>FKq=<)4h%wl+2l2i_C!aOr=6_~+^7rVzRVBxmv$n@`?|ZG~A* z7#T+ZmtVIS9eNI^xk*!RTvSdlg-7}d|2EGG?ipMy9|R6VvJe)G^PMgx*T9JQ5{I(# zGl|`(M*s}XY7m}#Kf9QD5l-x^wJ<ZQaerWMkLG2&mHyMC$vjIwY|rnei+IM`{QLz@ zoO^>s!q-WR6rd9$?hiXmK!vVI%?5UYDAd;8KBi<Iq)Lo0P6rDbzZ`qx4d&Y|rC8NY z&a-F<DKFc3ct~+VUsYBvt*nqq_tE@i#@h5vP*~Pb8U{d-4-V!FngqZISW&6lS2DG; zuUKaxPf94*6mqKWhK_l^HLW1mAvDrTT%;r=g9KgC{I~V)NM!>=xVn0@wROf`&11a% zaA(bKZkyTVGJ|H(fHMXGv?Wd_RaZYJr<<HHV1od?!$9&(;)D^I2$ZJq@Uc3{9wG?r z?JZP;j3DR+V73FD+Xv(|A|8_r^8U)l|Ei5y78szp_(CLVCW(_<Bdu_bx#vHD$JfoW z9CCna+oOiojrvyalA|so4|ReuIAu9ZuQ!8;veNd?`lmYl&Nh9f_ubvw=tlmdZv$6U z>IXtr+O~CR=1(I2(#MZhB6hPQytkJHR!;)B2~l~B9QIf2{2!NUlIHcahqC<sBaNJ@ zNHCReQcVYt)TZ*A>-ET|j1mVx^A9*W2p(chwTM}-v#o{0SQy_iTQ(0kNAjb-y(O1G zW@IJWESr4*=L4cLP;0XsCfz`2C2(cz#7~%qou40?Kj{qHiJsRg$zGt7mp`f-b_0U( zplfur8Z$G1@zJSeLI_06A5$24{9rg2t;>Gu6d2zaY_1WWxWE*}@O$AD8P3PY*mWP5 z-l_GoJq);b(>~3>@{-bOyT{t8mNk8^dNz1$cViYjk7_!z6dz}-PxH_9b)VMJ_VB}& zDGZrRCI~aQ@LgP8-#q{{q1MdLik0j|@%FQ7T4KiT-4<q4iGoqqAu2zzV)1Ysck&b` z^De%FZOmUF=C%Z{nU$3R?=*l`0L;OaupO&l8t8a$;N92Om3F%G>#@*<*^P}9?GNim z;br%#SC-wuDe1LWDZc(xt6@ZdTIcBGl+g<k80kooLzz$W?-s$D?`|VLh}IF4=X#*T z+?GJZs{;|m6I2lpgfhO^(9|@Gkih~04dl=9coq6)S=oi5U!7~<g6~zA(p-r6=WISM zF1`KD5g_*iRDnh4^9S|Aj~#YF90dqp_o{Ce)pm7(9O<u#2~JFiBvn=Mw1xqVM&oq8 z&3het?CfJJ&CB+|)*D7n{NN+OoAcxe5-Q4{WQfk_bL{TEX&o|O3_5h;2O^QEl|D2! zmgc}0dXM5=Qd$aH9Bc@SaG&<!Bi95eC|$p9QZdL-jW~DiKL`_G5$w7X|59>#r93be zJPat*3WE7060t-GNP<9m25bSX8%!!%kkd7~b`1<TJR{}ht?fIi!T=sHDg*y9MB~(( z<Pm4|$LVs15wu2bi3qi@1l(~d{GBc}#x;U8E0F^Zn4R4ey~@hH=`KXY>)DV?MPuyA zw>mVxw(kj=g;B~3%Rct@J9D+>FcDo^`QSzBdZnq8jSVMnqzI!JZs4ANlcfDz_x!ce zk)`j`)NCim66!Qqh7uQkb;afJ4vrvW30|hRcu!AICcwBpz_S2Ageq|;jeh+25d_*m z2niVtQk9)PK#M+WEND^reRUP(b~6%PH~^(e3txF#Q-hM0{^1d5dPnAS9#)7=vpf?d ztRN~`+8@+K8J!`R8k^t$0$pX)l<YX&ddmwp8pUyi!q5_z+q^~hXNIrM67bE27g(YT zbi|xSK7(0z=bWP{?2%nUp?hnk%l|n#^KdBpFN|9TgNaF#EQ6s@c$Fd9WiN!Rg{*}T zvhQVVBg!^O8A~X8gzU0cl!PRE(PT@uP`3CTzy5l!x9iGy=6Sx)Irq8m&(UrA3f5To zLg6q&OVg^Jla_WElllCrYRtV*<SR_ZKV*n^Cs1h~e63jouLvQ7X7LDO^^L@x)y8lC zmcXEMFgX1O2`Y)^z{ADT*>|P5P)(cPFG4s;bU+#sR~6>ZL=?DC?;s*tm+!h*V=T_e z8vQSZefC?>tTiS7kVXvIT<8fe<1f^Bg2wYl;*Yx9>?R@F*OZm@?gzrA&VLbnWtZ?A ztwn-5zoE)n4b)q7Sy<rBGnVH<sVQ>UHMR=o6&L5OM|j`0pR@9?TY4QU`z@HYE>$j} zr1(S}lr*YQ;T-Cy4(KWmb=X<RaKx%AYt>tk&Kwm)I7=tti7z&Oz3iprZ>>ye6e>fy zQaXWpOu`1v7MP*aNH9i*Tb=&qEFJfTqoX{!DR<T$ZntpNazhczRPOlms&=QbY)|C8 z=vElJAmp3+&LMch=F*}I#fgV;-J9N|s;ce-LGP)}3t3mlJlnk3VQz=uq<^Ebq9QL_ z3`FwbHfd>U0wdX{dFd3r-%7S6gV}dXFj~kOD1Evsb4BO^M8S|eQBRfYyLKOU7d-Sm zJw2eQ#-DFHd3$}%sL96G!eZVRqb;7E&)|1b_4y+_T$<>PHaiIJ3U%~NY0Gi2CEjQ2 z{rDk6Ib{1*%UW&Cp-dsk2;9NM_OB}LSO69}6c#$B8}^M8d&8YJ$C1WE>!9<!zE%Oz z_QTKwLMD&Fc=XR7wjUIrBNP|6cJaVr`;fNUkt`m0X>BI`7Iap|(s{+oD?1`__s>6l zvNJwwW@df$YGf%p=Fm!dYaALuOUs{BM~tPfaw8UAxqR8d0&2IdP>2x!gwqCcCy8rY zp<)lAjKy|>p+8*2(c(l$ImzSKuU~t=CBoE<FcxgCl+mRsO`|^P(tc;vRk8~OD*d1! zc?=6TDXVujToXoj3Vg!+iO_?O)hM%rNWw0UOMnPQ_K&);MGiUIa~Gs}<e^0)hCt>q z81OJ?gmzC<$5iOKCweDxk}L<Rpx@O;!lhRi;fO^>ls7dk2Jvqy8`%EGQ2292i9NR* z1amMq+<SwgvZ!HAM^yEq1VoN1%BjiKlq|djiMZp*?s`Fv-CZ1;xxMB&S!W9-zlN+B zBwa0EcTK6L&_T$?SK*9|jM^lk(`##&=2zrK{06jtak(_Ere@&$CZ5cI--U@~p84)6 z7`Iwlf+}TYX$ceRdMlYsgJe9dR8^{@x^H!LwJ?&7_&!<tnPus3C3c29_$OR2RtwOC z#N{G&&|p~Wy>;UTQ$m;;+GD(qR&9B5auU4b@27t+EhUuQ+z7tz>})s`?@@cDbdbRY zha^+$E|*w~{Hh*3q(7h<0p72<2DV(K1S*ls@bn`%gEJF2*rG37=)?s)>2cCBdhZ|w z@f7&qR7kN)MuA#Ck{XXLHoJ-HsIlbJH-ovVNzvz~kiXFN6`3l8?S+<J9s}nAKR+pW zR~rvrL>CI_amm;sT^_V*E)+&lWo><62|Y@CoIm1P4Ks8Qvy&bGKmbZj_-7_FvsGy3 zgw(T&i%Isz7^rE=((_$jt*r&@b?&c*wM*)e9aciz#!fIYs{UavUQ+I?5T#%cMrLO_ zz1+uw_O^~GvG+@_n`)fA^f6QJj#8SQLc&dp%it)jwghV-yTCaZQq)_qLDfpY8CHqk zymRMHKma?3uwfS{0}yDDPvFI3;lNCF<RLM?UeG%MQ}0eMcw1>JK;QD)9;(8m8L)Ll ztJ4zUo>Ea#!X|dUu&Sq%UhVJi2dg1X<N{c3k|t=_4>!991l;oVb%0U9^s1QLB+0&9 z{A64No)s4Zk9Ge+_rZr%nCq&<A`vsQ#}3d=rbVBLv<?=jWxU`>8oFf#h7*?nON`pl zd&1xpA}46(X2mGL%;#x_Vn70Q6C4YQiXaMssT#cQytiJ_-s7)YY{eQ}x>R6XG*)|S z$GgNZTs%(b{)g69B2~^X{!q~qu=_MM9TKJmg|l@e^0wc<ZMZq7!M;8LHIrp&^TwB} z?EK>@J~JN#A0}P1_!IK&Uz@;g+x~w%@w(*u_FUakG$%Q(KRtrc55NE9#Rqltv$BO; z5$KPa)<1Qxn!~$wK$@@fj}j)a6TV;ggR8B4`I3H^wRa8rr2%Q20l&<p9BncWFR!Bo zV{k#gbToB%d^{GOkf<aV{`FE?C*D3D&;mQXRFCTy48UnzTwF5-=a2h<G;JFmc|h4{ zvbkk%Z-4#zaWwKZb(Q_xX11Y-HraRP19wsZLyeDAnsYUUl3!HJ82hbyBVJP}SvL>< zny+@mt(Eq|!20g4650nB|8Y$TGa8`q{`KqE)aj#l9}{mKi`DeA-d_r6>5$SZy?nEF zEP)E8<OQP?coxBE{_o$llEJJewtdoO129{>*~$i!*!1*tIQb!Y%L7pZ52BMM_)`DU zsa~>mXO&Y+av<UAZC=m^-SF`_Qn*GOhcAZOnK-oICpQ4L8IV3Uf}!AnkYb6c7zC`~ zHi$Cd__lrP+cx|DstPGWFfLb#JsHnn<<(tzH++}4AfLrV_Y}}i(r@M(_)(-r-61LW zs6LZRnYXG(o8unY&wbmS3EO$8vhy<F>y|v>q<Ja>9|Ctc{3;x2*iLRN7R$~3Z+!L~ zIPC^pt6eC$BCa=Y9`S_gxM0Cjng_B<^cfmM8>V7|3mZ5FhOc^f4%)@<;PU8-n{U|b zZrSbD(9nS2{mr$*Vm}~S18NnXBkl2HnopIE7GQa{dGS*GX>pSs0a9|Zvb8A&vRD>y zg_<ME7EU~f4L!%IRbCz$zOE=M3l|&J(dQS5FM_w7a$ow>-2UN>1zGR<@ZeJWw95() zYEB*Dj9E_9&{BWe?`a)y-RHK8ONIG3Q^kKRa{yA|yr-pQ1Qk`@#YbO5*YrvDnnoCe z;G=HZ+vwtRr@C1fBjL)@IPrM$W{+16%tNzcJp`&8vFmvEZ#X5P$p7%+14ONyoSbH6 zW-3R<U+lh@fG;G5U0`MnzUzNsE9}kcllVKsbc}+in*TbzG?fm&6o*s3gY$DAYgYMl zdggjCz+ABj;x2CFB1PPpobWghrfJ;*;&O9RkRPa<n|1bFv6|QX{W*oIMn;}esZ>b2 z#eHIUb7DXmNe2Td8tlt~`N#PTd(ZJYs-aA&jE0-x#o&G>9w`xFSt%mL#4K!p(DP*T z^+}JfuPj6`trtRm78Te%=O#h00(=`Vx9O}z=?_5i>!I%QQ5HBk&YS_6<Yo2}v}ykS zwW{OrYNWFQ7Se&&Mg2LV(CBpfty)Ex)WYKq$_hva6H6H?VOhC_R_6p*qH`P}3XAQ0 zfS+zS-MLyR-dGk%?UL57(^bf1bX8QJ14RQ4FBJd~4G(jvp>qs@_u}6;ak+${>_5W{ zWW?jgkBMZl)~jvWs^Jw9Rke+cJCkjZ+W6md{l~{@!fPHI6iA}LEd|XV7^Ln5!^jUV z;q<M&nOn=>!n)Szehg)6a^U>2ojGyut~`EyxZTvu(c<F)BLKu{_`<<ra8OPNM)^)4 zV<I2wPLFQfY$y|We_NrojwzT;`|SJ5SCy6C00^kBmml)mU%#|3ooOH#g~{7-_OcHQ zEFW4>4&4MkiK;3jQ$T}Ed~+>YT@cH5%fmy4=TM<JZEQIxQP(PvTfS;&82r3!YKpfv z&oKl=hmxKiva?tVV>ftTK{F<w(C9PEMzSa4`Bd(_0+WnXnjPVB_q0XoOZT1O3aahS z=#bvPCqMn64LG6(^j=!rlDVp(fxISkw;K?CT8Eu!23=vE-0t<uxE^j%!GGW()FD64 z$bc%V$4LVttdqh`IjniuJnx~dFlRhVZe2wM_}9jrP3hF;w`Oev;avirWjJ)`cui%e z*S4Uk8<5`QRHa60(NsWQOH~6>Zzl~hz)V5>Vob?bv;6sUu!NG&5DB(o{&S&oa%>qE zxYz-YT1nK++N*7LD_}erhtfZwWoN?arRYUkJ0w<UJ7rcLNH%GD9D-5Q;T%=00Xm9W zSF;$Qana}pwX^%!X{C#34EDcon{Q=bST{iw8YG0%R)L_jK(QyR6NSb+_8fFQ>f0uW z8kv{?o<Wb3$xt<%D;<3uQ%UY)WPGt}uOIvSq-=D6j}Jf`!kuBV1Cm<n({NoKi`2FY zw7rk0b&vo9J;TG@y+VBF;fv5WYp=}3!5f9?QJ1r$Fm_8J?Xv@0UhNM1G(pafE#}^v zPd|Td&&+I3+Og@*;do*=?$8t;Prkd*5PyE{g35OP(ntPo@6H6it2Q=_rM{pj{Bhz! zpQ$87t-i9OaH=KA84TAPk2RKgbcpl}^s|e!da@WMwJ>Co7Omf(YZY>mlC*Xr88xam z>4F$=dbEi}kmzW%wjSb*C%yP0d*+M}RPZ8gbh^ru=i!YDak`(~K$w9@*uOdW@nbFj z4Dis^=N1=-k000SN7maN*THt8BQC$^A_)$8DYL81J=8sq1S-?7^?8%4V~Q7U+^|S( z4&91ezP-Og7P-CT^TZ^Dt$agm`ItA>@Gk8oRxxup0_v>{hRzyc06awi{~KLajIZ^T z6ewK0tP!FjeM59uzK(KL9Io5@X+KWK+sDTw)sc*csu;1JX>byaRQfya1M&H$fMx#P zH2_7dC*D~<4(4zYX>z=DXd!7VvhT`36&PhzT2u$B+~v=lxj=sB&^Q4?EAFmGEfbsQ zT~Pwcr1UZ{6b4;!tJyBWrI!c%GzQk|>+6r%z8dy`L`1W)f|QKB{8<HsYZeLibD;4+ zr%oS!?8#R^<OGGAHMsZsz|7Gh0=g)vG`%8Ix-V6^B9Jor$k#!*ckdpYI)Q<Kj*bio z+J>Vv#k@3qb|+giw<janxk$9a;r@-cp&lT%w{p_CoO;w9-JwQ)M(LTkbm#Yx1Ztof zk)kx@$NXJYkFNvFa1j2zOT{}UUq}8$=V})ZnP}u>FAm3jVvDAO$%U<)&z~w6Zg5qH z?d<Q}(k)OX$Ptv4kH%{eqPBug^pQFU5Dap5n$a#9<N*=t*TejIJA$1>Ds?!?2T~wI zexh+-{4`R93GLvUGZdlOr1uk1J@7-KH)+sP1VU@2cn1M09g;nm&|~uFp$WVc`uzwL z75s^jCil@1#X$448iG)<|DU<x;Z1m!8<+QXRW<s(w8@5pOP|-H+^-sXAPo6+$TWG7 z#5NcIvgprD2c2WSOR@R*m6VUIt*RAu-xftFUs+@5%VtUHf<u13);FuuQQexk07O9b z7%KNZa0s^-jcBz`P|P%d_x>OJb7o4uB#JNf?_oF~dE&uW8`XT5WWVx?#{EBG9g?~g zs)N$Q+3j74EqA{W5&{;I2Z-wGrfB=&Xx82~bG1ftMa5w<UP1Q(HEpcc<6r0g<`V}| zZIkEJI`M8Yp5ZIMCqjpe|Gj13t5rsy%wmv?QNL^NtZ(9lT_}1F9-Ywn>3a=jt4e=+ zZrxcct^Jxop#*OXJ_53q2UlF~uO&`90Sz}WlojNkaG}^(TRU3txV9J<K~V~JrH8sY zWGq|s!Ukgk6^0ZX@xPT4lZHHMVYtxOhj#O&5y|=Uy2ib*fG+BNjeD1;`l+*~9a(Z- z*KXgwZEqiryQ`Z=*QpCV&B#c2@h<q-;P2Y~CjR|v4_R)4atVh6ewx~k+<t-%2Y>-I z(I9>Lo`cN9v!*X#j?k&Do}Vw$&3o=rjAIeM7?S0){MCA>`cqK~zI)OC>cHpKRmnm# zW=8r59PWe3*}*j{{besKtFI&S_2ny9XsZFmmfNM9_gzi~Sqr%vn@fifKg`8lE%J;1 z(1mB0@#ed@QamiO)8EjYlz-A2X}dh^@uHxZQdayE04m4`0xHwqIm(KZ2edBtVU?`` z6>A$C{S#7n9YIY)JpFrYxj(yZ4q-hfFjC@joV_`LYkX`hWIpd$7*)0zwfzw0KA@0* z@+R;9Ywp7bl$KG~nkTly6X7=vxgiY8^jgq>^s!^dz@^?eL3@ri2}}*qKahC1CBekl z?~FoLAk>~27bPbjmYXywG8IY&031}y*#t)F(O6BGj(Xx$s}FUq&OQk{m)-*|TgWo# z=4Jn`oA3Y!S^Rkkn^#Cj5(H8Y-njeSVOtUt9>><T_?2NgU{0f>H{{or17eHlL)|2P z`e=?00#Gk)Y}jI;L;rCyY)v-IWT0v}Y(FGh{&@GNr6msnrk#-J=%T}M5U%FVFIrv# zZrR~ppX13%E<9lT$VFa<U^4E|qz}*v>dS^a0x)@3#LQ}H15R}p4e|CkHIBH&sKZBO z4893Q1`->=`2^%YrAYQP#W@SXPy2t!-Es4MZYUB;<^4wUj5UIhctN@MxOOhk4)C!_ z1q+NiNv+ONsI8daU*=7}4E>JyE;h*uo}+{LYuIw_UKTz!yMLuaU~dIRUGu)9e%6K0 zX!K8Yda>?AyXIl<X)VMn^cYUqT)}L4;y=$<2^*PW7}^n@bu@loM@Dj76w>q(65$n; zI15H<U89t;1-#B%Ds&EzgNCj{aFvrK8ahQ>KMQse-n<|WKjUO^uC1xbF2gz>+6v`= zPq4?*nuYHF`%C*%G33uL2;@SAU|uq4o_c$Gz94*^A^um+dH%^DJELa<^I-i#BUWKz zG3yO=@Pv8}4a+%jSN&c7_E*U*)a^s18_7PDO&qN>wpf$zQa1bg+F`Bv&kGwcX>_ed ztFKJA>e7BS6iOz_IAkx-$@3V7YU4TN42&@kbZ-3ld#~U5gVd?GTzYTSq4<C8&F=E( zsm84T;@aQ74Hm)h2nfJ?&%iF<Wl}CY>4MRZuS<KSR|Bs1*Wur1#i*%eFbT89sDOul z?HH4rb9bd{_2~NgI=EKDv`sLcWgr&rf0x*!6O>j~?pcH2k}T?YdQXJ5L}x`r>v7ab z%|kd5H6Bb8?RgXx#}2$P+GyR#x|9R7C`;%P)Oi#L4_KH#w!L~4CR5TW+!4P{*eTxV z&4QNop{^DgKRKsvdn(&Q!^q)jza5toc!{@HpBal9VVENVH&+BrIrQ}O&<L-EFQ-IU z<-C7r7Yqb#3|`^u1cV+GdTDxD3V!d`l(dWxY7mo^``#LqFY*&~*aP#FF8I7T5Rzc% zvBVh~HC0qV8ur1v&miHePQbL!P}NYJ6C4O)4_UN~#>Uc<wV^X;qhs(yIjh0&bp4ok z_gg}S{bLxUY12cV%~`skw)O(YGm$Q!Rfu539{pEg4mYvC0*k3^aWSQrov0_TZ*u2f zKa~60LPrp6LP}XN*H&LceRvx+h3TPb*CHc&`m#mX?}c|wGnOa%zaz$Ft870F1G9pB zR)I@ge$ijB!0-LrnfFzA(#u2_4yHSh<H~7Fle70N<gh?e8T}^l*>%vn2(QDT-c<pE z6c|gkkI&7`fe{#@F*r00oo$hoYwcAikJEcRZrz&omPe<>C?E1w?oy0=g{qPro|uUK zeQgra_9vq3YQ0t2*y6|DUV0|nlU~4ud~LqX>wBnqJx}7GOozT_{nN$r00@U<6TLh= z(O6cZBtnhmy`=bvdJYKkbROO^=?r4t(mcv{cIBMIu_}@Ue}XCbzm*DHiXANg-C;O< z7BwIpA1E}_AfpdqF`h0OIGiZo)UEHjP)aYy;IxfWz*(s!8PXWC5zMDy-qiohWmL*N z$@!y0CAgtHW3nZLkP+e#On{6${0V<>&oK=Q>ZF{LCr`F+Fw%UkaVI~6#`aW4xdkcG zRemo1dk~X1A2KJ>U(T?NcAhgTM`gD|1-dPqPF(A%)61Z>nVy!-do9F<mZ>TG!d}|( zLo2%0vLbQDm}vXQrKP8wIoNP5)M1pye{pnL!k%V#FNk*+n~ITK+9hES#S?%2^dnwA zK2QM6FnJRm8VL4Z7As1~2$4tKkZ>+{bfILWrO{H4vBl(ceW-EQzQ_^*-guHd*9ty? zPw_3`1JEMk>>rE7Wjk$w;;zou8qmC!2~xO%0*f1Mr`OMo23s?NiVC}#FKBR|&Kt6} z)YmhkA$<;YW&+MT*_o@OX*ISY_-V1LGU`G@4vWyxq8QOjId~m9OgP6TRU#h>>A(bn zfnJbu?dIV2=5UlFfKBqqE@S?KSx#3Wseeb9L;ID+={wi1<z6n~A?1j?hYtTBN9<8M zG+#wq^wU2CT(U@wd>1Iw<8sj?^He^5{`1J7E_!*!4uY@sn$|R09nKB<T><GL=7`PA zZ(Es<Y=Y}2JkFp1FV+1iY;QIUCfH}vKK%HB?;x}?#8|eUe`+Ll^msBsTR)=fnWIHR znVA^mOZ_J9Y98l0uj)!8gq)NL|76o-)8Pf-nIe(*eSLkuemyTPURYQl*{f~{q%0BD zuZVNPvpuPHk&N&wo%aoPcRxfUStv^@dV-7xM6BKEW1O6H;jQ1le}B}xE<8z5tv8oS z!}9aLCH!iOWP$)}Q%HcXFHFX?<R`mZ=UzOA`tl*`vD5eC<HNZ!W`ijCFc7_5Qe9q7 zL~|fk0mFFko&;NsWsxZXHMnqgt{#uvh0>v>Ru(FxuU{cle}HTRkspQhd@2&hf>56* zi=!fXeNr748oqkep6Z?o0>R})Y3UhYy%b@zZc@VS&4rSIEG4CX6OcHcJ{iklb?_Wi z>UA1?&Dg09!fsZ2y%p!<9~iB5(}&b3Cia=3p<0o+w~}<7p50P8nJF&{44#=-^eM{f zKX}&FduQh5fhyMes;=x}|2prj-OW#Ve^mpIB0HcuNh&95Ds@(1w4&MtDfuir(RKtb zq_*yr98r!=W+Tj{OoiLaOShdjkfX}*fJ%J^3*I$(&R|2VqW}7lCz}YQHB{S7__u;X zc9fa4GdHqdbG-iw$poBFx7Yah??T%C5zTT)kyd{oA*5ww0KfBXJg?#2_OwJ8chb10 z-1B0w%}Hn(btKV9FfBpRJ~3f!h!lIMyBZkk<yCRH#3I%2`)g*q3TFyutfq01DV_rc zbRXeWY#Xvj1!Es1c>MiO@Wi{hJqH7jTz<z?d2c@BsYhT|l{RY?6N%%{GBT_Fr+)Zz z;Q=Q(1UShDN!Y{-Px}oD&JYNyWM7DD7kol?fbB0PhGacdGWfH`@oH*yWhL<KTq!fd z!{#~V7sw9aVe(Y~hkAQ5;m4qRCrIg->FU9a=xE`rBc2(rncFo^17zV&Up!E0U|xrC zYk_gIV(>5a{S|hG@EBjoLj5~{aXhJ`j(G!NLrmagZ#X3muS3dlZ5UnfJDNxTNxoA2 zC`*VkU=fx+{Q5x68#K6(?3m^_0*BgN232uG^0R;HYO?FT3e4PH{*6t|&1}9vri3eT zcJesLE=HJe!*^a*jT2zX%1%Qle1<+*>eXgDs|4mA;IRkhrR$L3Xp#9GcYF1oEn>E1 zXhAfNu7LgXJpBaYTrNm&pu8Jeos*GaJlS1(wU+$u2R!<@{UQiMPjuv%FUU*<S;29+ zg<$E-PzsWIs0--hI!*`9@G8`ZW*3`!8Blocz7@1WcC{H?2*0R0%piF$R|E>ycMf7) zsQQE(l+^2r8^IvSU{6~10Q&iU=Ml2FUt?VHA9yyRBUoA2k_<pWnSG*gYmD<?VS^_& zhWg_@wYua=Sp_PF`dW|}i|zb#RtJn=tmBn|N_(JSI0gs5_i{5Epr;*K8=s!e1DMGe zJRyv%S%0!EEK8yx^mZ-3$OOY|u%~*5n8O_bJbHH-O1RzR>)84?ZyeQ<XyzEI1S;>g zPFPynKz3cJH&fon$<J>C-nW1}g4rq=-?Y-s+NutnzMC6LmkCNb<o!b}_Fo_^bOcWG zA%ViGxLk-n!fZjDGh}lG%+s&Ec3~Qu6hkk-k3Eh)ysE_hGZT0P&leP=duUi77ZPd0 z%$B@1+Z%Z)l4|~<AR-Z^b@_m|0QdK42?@a;@F92<YPd)>6%`*3c$XZA=6+|oKU!!6 z?mLc+`RV9FQU1I%k3Nw(SQ$tMq8zbOC?<U3wTfpqnH*RP>wawn+r_D#EPLv!8G9w9 z$xx)rTRed(-i={l$byDpkM3a4g+f9euY#K4*q9>t+ERbesLQE$Ri27c>KYPQZ)+m} z#?d3-v{Kkq^s%f9$PH67GGeIOtn_bf*p94HFYUllgW&Q-!w5)SLBN0-STpVYJbU4U zn&Cv5<+wy6Tds@D;Y$zWj%FPrvQ#xTvZ{qUTD)`MIB}f+Vw8HaAz{?5<}Yhr_al`q zCm-Og%=SKkpEPR%&F4+@dAfkVZ~<w!)sCI8yU9bUXlgnYcTJjy!Jp3%nCL)2)h!s1 z2b{sei?B}wJ%FyrcX=sEuh8xC{|p5NBalB|05@3dAzbuOu*1?kC%(Op<`B-Ja*^@q znV$_aa-3R+vu2~(+knSV3KjNP=8Mp2fzuKych;Q`|2~UQJ1=BpI5QhW`&ykCT(|(U z=HlY^&q7gR)0OzxSj`V!Ze%?Cpv}$4`9;&-%z}xIpj_H1I#pkeJ%1dbQ|OwAQ#G~% zSY8W`J>0fX<o%<T-RUzo3`{V>-Q<8i(f;p2Z8cUTd%jLTW%kRY1$m5?9alTSw{ZK% zWCZT_tFE<B0xt5;5&Z`>?!}h30s?kEW?pT}R+5ncaZuF}T_~(dJm>x6t~isXQKeow z6_Is>uk)tNSV+i@qGHIjx1-0BX~EOa3y07RP}-H6{)hHZJx`+60jFdV4Cce^VJmMx zeq3Uec(qw{>9(u4_wNsBCQz)$pLf6J{lWjaagp@7bKq%HE!0SL>`T54PN(dUZg^*h z+KWAm!1xomUIne4Xte;&l{9H8)scx#ZOq?6zI9DW$2iqdBk4mW*7VeVzreqKm<zmU z?GKv&BrNh&3Uxgo;6`BJUHf^DTK6$0an5%$pZL9li?4Bw77h5cY^B@Y*;xz#%lG*B zJ8&bvdp8f`+KHBZJ3Bi=45a(OWZ9<p$KpP;)|7mhY6(Bk(H}V939jh(vp(~_@bZWg zVz01)f7js?cxw^i43Sd$CX_N)%f#u&9+xCfUH5gvr^OBZeCTmW^wGua6~<8d1nTkR zuF=tLV59(2NA9baRroP2wYOgCXiZ!Mk;s&AU0P#mQ>}$fi2u?;L-9O((i>U9Ke6j8 z(e3fKpj!pp$AyFsKpd_ZTf8jx5TbC+9BvZCKXGrq4{z4tb+W%c(mN591#%KMH+N=Q zn#I+tPXS6a2cLgqW5Y^@iQ@o37`h2!qpI5c`}eR32BQxd0RcsS@dr9Cl=DW2Zb@us z%~d|L!OD?e@87eii}1w%Y+y^#M1LZ3zH2R=7#pK6iiQ9pAOh$lHXy}o+GJxg$WIbX zxUSqAuPH>y2kcX41ukfC(I5P*b7w{3=p0~x1jjr;)qO}gm!8N!?470g6_d(r$n>91 z?m`2VdIZ)#T(z{^-knuxsjMXT&O*gsX49mLMx<=V<{~@gQ+nYCs<(3tpT`v$p1z_w z-B~HFx|>a_A(b``DL9y9xR?x<+0V%(Km;!8l|ey|msPbTH$M;EUoCWCUddd;OoPG8 zk#g~uHZQ^_iSTQ~Z+mWkr9YBsjV#hw)=4m}9gBA8QqwTUb}&aE(&f*}N88syT!x{l zt}YNp6c8w8L?EFbwHKnz1*sNBXoIe53WtY#TTi?&6>I$lauT_VlK<tW*;s`LC57I& zqDp{;N!X%FTw~s!T%-xA-h!XT)a1dkpdV}U=9y%?gO3Hefs2Q~88%<ovH*<%o^!Aw zB_U`kXx`qg9b>q{=1Fjl-1u;&SCx239#@E@d%}9xxSShTL8tpMY<77!6X>}BJcADZ z)&AZNO5=%=JX|`)XI$oY!F6EFubXR;@UQgSb}1my8kS&yT77c}#8t5D;yFY)@3FG7 z(j0epcZb;3<h<&J|A`0TA4g#HUfxnrY^~+;=)KlZHH^6j#d@4>hlIQwGHGb?D7{So zgxT5K@GC7>OTG&<y*xaw(v$?M+pSwK#TDh{ix##&{`m;);DM8&-OD;_)*6719U5IV z?sI$4Hg;X2IfA-jLBfmDomA>QtAFnpV#rSt6>|f^oEH*-kiwPN2{+DqGK@p)sv_HP zro-Vgesb6^(uY1HU{0;N0V^4j@yYL=jV(G!ajSScxCRGHrT2j0`B+E)%8Fr8)r)xw z{^IP%%*Blc5XDV#I3vtd(9#|IM8^?dg=l;2)M==fX>SRG1xfZwR}Wnhke<QCc)285 z+riE47uaC>8dd??m6e`OUv!q3&PDp-cStutT0hz#zg(P+<u0=j7i#bAt=;n{9*hA0 z5!$Ya39!1N^fkI!<zllhau5MGZi4sw^J_#Rbcz)S3ZXCz^u)G+P>=skdkii;)GP2V zdgt)_OX*cyF?*Xqy%kIe0Uj=s9#mD=XVRE(eUNv<Tq%waMYtrpZYUQ;g-4O*xhgs; z*B2~sQJoYZ>zRrC0#_ffm(0v&XJ#O0<U#?B)m%JPS4$18*L`2}DHPt~S4AHIU`m^V zV}ck>SH$bdhQ0r6p#eUXH?~t6+GFdXdH==+k19*|)M->l)P2C1f=_p70ro_IFCTnI z4<8;?{ReRf*64_U;cyNEEWD%!#k7()f{&tedU_6N&Hq@l=;$jM)O~8S;D5BU0_LFx zSs5J!d^bP_WUKytKi3U{4Lb@YCEWzu1Rzlc(;;;$@K9$vAv`0%mIZJPBMiQAZ1E3N z^jbz>@`PDf9n2oDv}|{ha@Lee=9ME_8Ny#&zF4*prLKnU)H7k)6yRF%+=n5mMAJHl zX<zMFrfc;HU1N~MJ=>QJI8X@M$e}|`1M>iM;4voQw$4IEzp|1}J{(f31VG~}1pR&{ z-i_AMATivv2lIATNwG2@CEJL_{$q=r-JehzRJmLc^;E6S3cgMm6u9@r;)LMH0=RYL zry^ekNd5C2An|e1VN*eSP{_e}Q4v6j{ZEmC8biua()tr46AWjVl{oCGH1bed{RlO5 zg)=$FCG|S^E_dJmCozCx;BGe;{{y;9LVSEf8PqtqLyQ=OF4+i|=+wI~lLp!24|mt3 zzMdYDPRZ2zfZ{dW1;6sZzy%P?m;^%6D8`)0N#Js>#~uL_JuE@W6>;-$M<Wc#2%Y45 zt1oNgZEaH!LWMU5#FgPNA%15sPgniwa_w6Cno`#>FhJTsJfq)vQtl2g6)P$#qNAf- ztCeH}lpggO!#*Dwo#a$^U2<2sw0c&I63I!8YjoKL29Y3M!GIMa!`V!KE`@DBaF&KN zdIVaXKf;eW$Vpo;h@bH$9Y+jUayApd*VBh&EaZg(aP;d}#)xyzYry;MEKSin0XtXV z8+(l7Po!_?sB{BD;kR!B{M<%nX7gfTD{c&FOw+R@NBI}<#gc?Aj2rmkP8@EB_=B$^ z?R4}tFM-YqUoqi#pI~xQGI+o9J0*XAa!19j_9$2@$J)H^Q_bT}xR2$E@H{K_jLY=| z?>jsoHckFLUP`Suh@`E})%Vbb(B#n`md+ME`9LQrnkfntQZqA#h|FRL_b{SvN4?U< zV_6tXitr*C=Yp%ijW!+RapJ)qysrY*=TOLB-IeCzN43dztsVGSr<dVL|J`k0-rrj` z!BkgO`ELE5&dbY#H5@H1?4Jhh@>CbkCTn|Q|4z2iPs(aO?Y~yB4&d|c#Fp(A6pAgS zTR1NF=SHzR2!dQ4lFpmaRIY^MC`D%q(^&`AFTsn|L#J(C4KEZKo~*2@LR^dD|LxWZ zhodP?&P%r5HKHsS^}sI1{0ew7>W6I_C$cCMs8-|>;3fZI?G<3aZj>zmmsYh$F@=_Z zI*J4k5BZ(u=||IYq}(oT{PP9NQp<knhX<tf`)`EGZqj?<Ihc7#Ulzq0%4jbU@yui# zYjivKNeEnEN^$gq-;92lhZ0{%aT=?!e>@p7QsbTmF82u=cFnV~Ic-KLMMLSEwUz=q z!zDOhiMVUkmg!Hz<Ol?GV(0RB{TV4K4wmTF1*la9{P^a4!7F7LLSGIsco4c>Bkaq$ zNVzU#r@26(y^mwJY+JkzMn3k=YLn;w*7uT*PdNxNBk*GtURVjvd*HF;yr=%lV8B$B zEzdaZ|9fs~;Hrxp@>B=RcDQd^kCR&5GN|@2*ZerUhD*OseJp;l$p-RRS+ky4`n&Vx zeJKuH6r3k2{LE5BWRVMx`Gu@mklta^BZ-Q?pU_n)Eh~G2=LCts9)#;gP#^{o9)+#L z0bej#8xeY5n~uhwVa09bim$Z_5Og4mt0~mipp`02WJZJoQ=;Fm)aJ!l!owa1|A1O< zk|2`f)#Ul72~;_)!|<DLhF^Zr*kW5QUNGV|<89IDr)dO=GkjPN8Qv+wxkq7JtmX3! zx<g*$w{9=I(C@g$#dbhVJ`5z~wWNh%HgzuApXVmENF7sv`Yu$DJipf3hd_Hm3d_&$ zXuCEM@<mafL_};N7$<?(N=5Rx0LTbEU(L7hI`%p#$G+}{#d#4dGMc`(#naw3m_sHG zA1kf#CwRi+3O835Q)K0AeWn3#2YbW!pAF~EoS_$+1kQrDHwUsIDVX?>(mOl!<;&MQ zJMP-+E!#iACz&uC6a^Mtgnl+(r%u7Zq_~fG=i07)E&YdEwQL-GNr_R|L#89Z82tg~ zm-Ms0cIMgT(YYe*K^UF3YZ2D4W8un`EA~KH$kaRWvb=l++;b_q!W{%K>8{wTU2qHy zwK7Wau8*2B$B9HAR~wTQrAX^#=EnLr2JL+8@wnttosJ0VdwUkc0xx_2MtVojYzv`o zsg6E4K$Q=2g1?naOE24>%#aT`PsUph9E5rL{gktPcK96G8&4l*n%KAVB0lv11kpsZ z|00iDw0~n}?=1M{q2z|yA)GmoA@wySaQ$Ei&v)VCaaLh0y#t^5YAI*eLTe7a<uFax zD=_b<-h)V6%PMb+7vQW~pPQ#v@bMOgV6+_1aQ}a&gv1KaMN%}$LIMz5`!(!kdrm3S zV4;D{J6P4$(Cln_55!}rGd&Qf2!oI&J0c?fJpJ}Xg#<W-k#xtA<9%m`D!57QUcQB2 ze~l&_Dr7WQTPbNxLPlhZz*?N$?HB(P=9WFNovg3yxtgU!dspScBO_sW;x_hmd>p|? z16w8Uf;ub%vhQyea6mwi9nt1MbZ?b?KI96D`Ez6|EzSbv-mNtBMp6?N0Di}IdU%vw zBzyk+tdn)a&zcp1@AM)UImls2QkI34kW_x>5H}l0$v4wq^i{z2Mg}4<qT3S_q3t4F z7F5G@mgb{6WC-}v;+t^SKpp*~6c7@^N~*IgJuR;E$#0<VRQRJn1K5CITvS{Pb0~;= z7y8kDqWhKQ-`G=$QbVikPO(F+8`(Cw)~m9Av*piCu!lr)sAN%3jnReidZt`%oN%tv zCbM-3lI=!I4JztX2uW1AnFD~eJr|T;ka$*-Aey2(R#pS!92xY_@ShSF{vOMEEK7io zPZ)`MZ{<E#$(Ig`g0v|4FvNvpO|dKn8SzY%r`4q8lz!MOO{Z5DY`qBEP27J6daQW& zs?~kRpbkQEO!n8<T<wTf<z7c;o=&J+0DelV$i#I5jr=ZWblMDr?h!C{|5{$w*q-_K z7ovmz{z9U-Yi$?UydOWZY4tC+gl&CX3|Ux6mww}RYnh~R7<*Du^M1npGpJ*+uZh<k z51?3#JZ`lm<>K9ydbML`^{IPJOb31|=8P_<wFuxKyS^O3Xh~vN#!@?cloB4)EP{-K zy^!0rrlip?r}-aJa7c}dB=EUjZ7Qb>7HDW1Sy@^IgD8<eZ-fB?>Vlj<csVX#7w5FS zI#xJD8Ptu><r?#EjQir@mn|9q&3POJh^r_EQ2n&pJh7kepGo@+jt3Y<0*&I!45!8! zY^SI-1Is8eMi1<#ys3`&a@{PT4a;`{X9p?Ib38o*KI<8b7GNgQ>>q36w?A*)a1=E> zZPuuJ%VpK8-Z);9YGN`Vm+&`OIW<o!S@zUK%_*Z47m6T~j1!?a>5%iaSvrx&Mk}ZY z(p2+#PH~KO&qeZjeedn1?{AK|j}1!GcXoMP*-*Nl!`&hf?ZT6v_Y$jt?yAur@`JpG zsz>91QLysjT>p`L7luedSYAlkD{0v-k^L5WL@b4fr-^RH>!j!ZE8YLI2u;=#g`j+^ zvXRt_M(fnh64y)1zQC|j&+$~qbg3P?^M&x>oitC6M=fOM8Pv23UZOf060W>BEB265 z?3ybAr1ubh##cEuSKxuD6rVycYC2Dra+CaqJD6d2kl>LIHGE05w|4`%8)j)IO-cp< z8B<trHoesCga#R=lWx_crI*2HO%?+AS-d+*m`O|3%q(YHB)y025S!W^6`pt)98673 z>E=mEDHs=BCO*4023#Z3a|!J=ny@2s-*QFN(kE02Xch*QwX|L$+O5JI!muSJH?f_L zQZA{WdXV#rwn9CeozcVmxgvpG;kUs_oG_*O9d=XTkV6o`B&qwMI&;K7{MBj8`@3Us zH#f?@PMoQgJ@WIM{eN`q-_QRD67P&CTv%FysuI3xDO4n0Tgym^9U#5o;o%P-K7>-p zO=jn3$qV)LCs6q2N!*@i-<xDV2OdLMwbZ+&oA(K3-yjze<mI{Vy@B^ep7Dgo3!7W& z^|$aGVBFaV?jVSd`7=kL7(1{hfBdFby&pk!x#{yC8VPY3Fgj8>J{(Ze(dt>VuA{U$ zY|hx*6I#mH&pz3CHO0kT39#Si+z)H{1aN5Ob4T?-cov7u6)B{^5~U6T%=|hNdena~ z#&iK45QxJ=Lqmtv;s2KZ3RWJhEQKwOx_NPE8RfIq;}Q^(gHb}AkX#Fs+i`M=BX?3E z5CC0d<Tkk|ZIT(ebD*-uCnjD^&2tHs!@QsN2F#*8*ML;8D;R*mr=q@a6PA-&A76<~ zHREz_qt;!DT(}iTf~B!cOf2h7mEx>@gm3>)2)c$c3jhh8#2x*0(~%h@J0%h|-@YMB z5sd995^NrVwH6%&$l$?1<M!=CJc1G0-C&&sYaj6*`{EV6PVh|HjqLTD36K2)i3N6i z{QfP~Wve!gn2hWDLEwm;YoHZo!<jp$IX$&u;&@P849Y<I)pX)jPb{l`5HSVpV4|>I zc1li-<{iJTtr~Scd+J!XH*uxoNn{&b!H<w85JCP}+k(@R-tp+cQUPe+-#K^#A9}dr zIxs>ZDCXes%;tp#@{F9E2vS{%|L?^+mont;{F(#JwJEqsMoQ`ft5Q3gG%+xN>5ja% zsSlRv>mA5#U0{A3ibFV#q<YLD75lURu?2b?Mjv>k9eu}>J!{8c*$x1U-gaI%TYZ6y zXjdBetlzD9`}P>S&gJ}XU)a997kt~g$s>r@q2yZ>nO?qp8F-l`gJLO%i5x+V6DPDk z-SS85J$D~N==5P=MNU0TJWMl<i@+F-?KCnw^tn%MsoAo0Z@oZ83keu80iNeXmR=Zn zFF?8q#vV{_?}ABCNXHuzsSda05?Et8icAm2g29#=<~z{YojP^ulD<Cd-b-~<BcFY! zYu(_>jF18|b9NZ4uvO{>c`p1n>=8gDL|Xq<Vt+1{(kvL&MNe$2QNv|Ara8Ub`lz@J z)3E0g9?W!MtKZ)M@CZ_v5jgMq(9@5o^7i2Bw=AWrzv<$oV>YObheZJsjR9&)`egjv zCeYk>cXwxIIBCYtwW8K1VP>@*m+f#U2P5)BLz-dUJ1HhxMAyVjhkTF{grSRR$yv3@ z<QTukrsxZ-4Q0TUgHFQXC3jTPqPeOI{mbQo_kB}|%Xj!?+B6KC8(+QJh3yq|{b-gg z0FgA=gl*5?xbrt4?3gBtMd}+uqP=rRA3HC59US@mZ0qtm<e;non70HPVHD#ySV%xp zCvZi5F~()Ce7Smy)|7sj@w1sm)b2sHEnfEPq@0JZ?`LU!&p)TS+r5l2!UI*5o)cZU zusLAfmq885sIg)BattVyyp`fAfh(<2rO?_dD*8YSd)O)8<!<igT)%qb1gBPi%~|rZ z<k@f+81L8cJvp!Y!$-p~nI`!@b+q+oAXqxuY=j@Y+t@f{$A35X1Hr9eB382<+>5}x zK_iA<c1)p7*}?bgtV}Dmzv#~^D3N@3K)M?4L=eFpwvl*ep#7;tI*!;8kf_T;UjKe` zw`eWrWbsV}@rNIo@Q}bJ0GtW-)||t#b$geOEsmyc1v*-w>!5EonfEnD2Sq83)dVGU zc%cLnVQm%8UJbiG_=e3m(N3Eue&+4=jP2gE?VXJh+a@?u;AjOO3fNOHO<F?9d3n>p zO^1=%aOcroB0qDy+E6AbO}~8;Jhn^7ynHZ-LfA*aXXd$!c_rSq!8aDx5J?@<fGi}S zGxj_7S5#0a6ojQzgpuDN^5?lCu-+?#v{O9B!Z7)TUIsF8O6)#-h)Up9N}N8;+aQ1T ztn~|75i%***LvvX$S-hMJCi(WC>7?vwq_+Xg$@t<)wn|*apy_3rF);`q&XX(|8#g# zk6&h_`cG4_*@mSl@w%=xw=wlDMZce>QbF10fwHW!IZ40r;YjQc!KWU;e#3T3qF`fB zUxt8y0Ml;)!*F5)bOU08@8Qm-u5P~URc6I96kbA@z!DvV!R9`~olpBb0oCENE7;9J zO9$>Rj#vk=hyHwj3siPoie4=@{Mp<b22<}dUW&^cZg8=It)nkS_zr>uyGc4KG8XFd z9UHPPPHMs(4At2FZts5L{<=VmKP=2bx6|_jD~6koFFG!;@Hm9A17OwA_`%kcLtWtc z<zoCNt?z8vCH0)DkasODf4;i<EJ`EIt!Bt%`CH?qGb!$4)80BpDR4{QgKcS~{I@Xh zYw?_-b8u)q-=4Mg^=~s1T~jVtdHBfql0gcd5f=h*3pMqsiKQ-Y9F`?-z=iybCHgjO z7Kq=@R17#UPP+8Atn7}DGZTO3_G=fJZjTN%GrC(HEJ&tj6MfD*#wh(O+e>-AR-uz{ zAMZuVgUK_{h~yL$=(IG!k_(FvK(9*Ht{QPZail0Z`i*6&%$YL>Ym5HN?g*y_LNb%8 zIv{OkM%y~?n*ttttv%0Sfb-YYnTvCVEe_o|^f9pO4{bYpv{!Zjqa9m@L@uuQ@k|5q zlaX{!VR1ucrSXeFy^9YVS3jf;;I+8&H9(M>6z>q3U?T<PJ9<B-`ThbPnVB}i^XrO3 zWwtxi{prLjm#=tc-0l2SDNZ{GTmry-94+3-@yxe6?UT`3>6T--372Xg&WZT=L_B%b zQ)GR#)AqP1ovDCzZ}q9G<kz5tCQwhDERah;e`;i)p}EPXqp4>4@)Q&Bz}R3XxT-g; zVCIu2puKGZgrK(NpS$(Y{?fO9jiANi<Y|lPCZ#m4e}~96Skr43r>1~B3Vs`@G{_G@ zI2YG;XXg)}vyXVUcj;xAbpR`ZizVM!$GJEr=?2$Z5H2$~aO8OfetjRiS~p(Z>yvla zwF$g^2@HY`WBCj6uq|`3_S-f@JCADdOZ{&78`AQ(cW*@Hrp(ow3pb%($}I$@R$MNe zaGgL>9IeUhaXPFHJ{a7Km(|tL)WD}k0=&H3yu2-;Tkr`$cD|=61c~9eTo9RUiQ}>< zRrKQV=ugr;HH(lsMbhb^p7mSzY9WtkW#L7mk{m~J3=iTIgkiT)XqFWHTodv|@GD%T z3e@$-kgP|v*~!43kV@<)zf4DSGCst0x$PelWJvbD*xtSw5^|FB-eJUiLxMdQw1>M; zNrY{$yR67-lgGgrH9r38_Rh!m?|<&?@gIO)Uk<oTG=|A$8hB%&OxgXswN{)@Cp=N( zK0r`&e(h&Xa^gRB1$aDM!2l9KJW1eJhLIak2Z8te=AfhU!l5@0u){SqslBsp+~2-_ zP3WY856AGh%h;ce7<QNuAo<m-6UDp1Vq$oSb)b{*VQ#LDIt=HX;DP%HCZkk2eUpEh zZ3n>U)*$_XDry}@Uriud;|A*GV&u6>JjvcrGdhXs=&39!P*YcWg<S|-sP*7cNb0rh z1ne)_?%q=Y)|<Wk)bt};DDlDL%FDyERFqk<n!Fr3t7yo>5|4wK1ks)*zKSNz<Lp(y zU9sN*HslUyz+e=g3}K8Ev`u0W7emwn@Ey}5<yJeSg-k}w*RcU2)q{ANyITs(6-~j_ zgKqGqRW+<}yEte{vKNVi1=<=}_<M1m1d$o}F2l)?7n6nDjVk%|?rvz2DL*eSpos?j zCJ4{_EBc3QLKflZhIPeqIrBX0A89*+rrOtFoi&Ve;W7WV{iW8K^1<O#ZdYU36|skw zi=5Bh#%j2MX~FdK1x5?vW@1an8m*_lLQA6no78~e#q{&Pa@&h}#v+)A9vUqObfJE% z=E&rN*f$A0D+p-m{3c?WUhSHrU+d-psK+bg{+ry1vY&Dvfuq3slds18BnNYL@@UOs z(Cc{Kq1oBl>lJePXR>jNjX!Q@3ROg2&$|>x%NKW?Abt_jT<quSl;j={`K3F`qo?<q zzU?%@I$f0wrDeFwb^vM<(KR5gmh=fY5a*u6R0`{mp{{CzT@J<=hBW6mA(ow;mh~+O zai!pAf2ssR_hUc~FQ9MB&Pi92FvPfX@rdwNpjeA=G@UdLBOZSzWWn}!f;4^ZU8LZ^ zCtr=TsO{nYr#W_A1or2Wq^Sf)6a0BQ%y0DLsu#BxdzZhpNL-XMn4CA2!N&cLFceEg zw*&IFpm}%t8#1~>E`fIYLJ~q^rEJzndb&QV>?T<pxJHj3W5f2gW-Uu+YQZGH65Vv^ z)!u=+P%EB}6G@=z4}6k7j$zRd?SlopY8>&G7fWlu-S4C#gK|agd_VF8Tp-u4(|a5( zbToVc*$|xd^M!4A_rc<8(QlIMF&)LlCy#LBqLqTzk*|HB4t_cEeG854S@Z{T$iriG zWw~g4@OGL{Zr4an-U12#Zn=4<d3Gw7tIxE@6V*}f%o4z!i$)<@anIJ264#YF*T(5- zjj{GiYAs;&Z{FK@@kAvIYA=+bRPP$VU=(BncE6O4%^hGi&%g7t9?D%YIC;73r+H={ zEkHpXh}sA(Vj7uCSU1<%h%CAl`{`xqa&_Lxt3$u5PmTE|xhZIe>SBcZ@o)50@w6Ox zS|NJPkC{Htmvm1qHMIzo{LH3_Uml!nb*7sb^!qpx@}hc%a?{|opT<PF{USsu)?cGg zCt*zC2x@w^5Z&&3NR!ftJ$m@xWl+pCS(KDBx8BM&bH~3;ew|~eJzzTKot9h3Qo}dq z#U~h*!<+q=AviH9?BU9P_@nB=-|vfB)ma5Lv^hDQJQviPd9g877vGUnu1WSW5MdQ{ zZ8k)6u%3nj-G6C32!?nyHU1GULdn3X$hv}^6R@oI?&)~4Ki=TCVD-%pn=S=@?Z+@Z zDwuCrs6Th|zT_FV;H(D{PDizh%1VoiO7=?j*P0-65Px3om^$*wz4<ix0cpR13`&~l zXzJ^`MejE^=iZr|G}ULmpb`0R09Wk;KeMQ)NcL;sQ(&=y6_=)BHYiq82+{-d3Ml5t zImJ9_{=^wp`ED^V&-NU|%0#WN!25uBTwT=Q#F2y5I_l>**-x7EQz)Omq{~R2=NtMW zeLFPt`{t@i@wMPGG~IC>Q>_?rxs~eK@fHO$TZ>Mi*h3w}H}@p{t(my2CNIr5c<Add zKG~apA|w3_`m4A%5snsT&kkmbLK5w<EWLv~WU4$`z({^ERXh#61`SoLk3C^%M<f&# ziwUOq*m?>^86G`)jyVUBaTymDWyj2=@)Y&iscuD7FomoFOnJDMI}hd&^0TRqTN(5@ z-D|JZE4ZXI0C*2gBXp^Jyu23+7BupiuWLc6nn2zC_HC02(boN@s+ZksN}^H4g<OJ5 zKH|wgB6iNb(PWu2uUV;|92etc-BM~ZX9<5MeJFBg+{em#&@^8p#jE#NMo7ZFXP?bZ zJ?Z(k_-%L5Zof7DYK``3k-VE<o+lfh+uvQQaSxlnXzL1NPfT7*i$EZu@3+H!>sNt? zt5yZ&`M6;!HQ0AZV@N}AU=7v?4fgewXFG<wk4&y#hYi1nK{-t8`SA9dWQTOaqksZq z@Qh66^C<+*eUHAE{i<7Dwg;UOuXcgi=Gks;{Gn5{%52y1(S~Ni@WnnqAeX>S6a@dh zC^T$~`?3eFM@V%{Wd!*7RY)0fu|z`x_Dh*Hs}lxDsnAaw>(-T@x>`fjV}BdiK{}Lu zk$YI9zU;qe7%MK))Nol6+4uy5v1$BH#!mBO`)qUBys>Vp&S5zCBG{P9)35bEUL3}C z(%hS$P+o?-Tgk1a4Nhsbnb}$WGb!45_{QaD!+xI(s|;F8^%T)_Vb&%-;6BGC7{&23 zC@UYJVt3&i_Tb6SpGO|)-LM*>Un*$F=#{(6b3JGse)XdEmV<)>bpLR4m(#)Pq`+kq z;^_ju{{BKy@RpZSQE9R7VEp#?FRadS9W2&Qmr+xLrC0|9Z(OVzqZ4HYh~kIOABvA3 zFd2Ytl2McJKmhPD*ZQ;XDV|tyXX~VQ4tqN-`;9gEH6a#5!^2%5q{4dc-}OpwHO;CI z;N<C9r{D1~U0|qs;92hw{o>;HQ}e#8E9KEN+>XXo;+wVg^;?iUH8X=e8>=iU1*5O8 z?@2q!((Le#L+%a@FXI=Tb59^KADwb!QxjJk0?NJIML_H`3qldUHxHfL>m!%23ci~o z-;@*;6c|<Yg_2ofgw(YkvtKrS<K@;}`M4dUb<{Y8Q|^SF5t=QgO^fEo*C=$tqS9K) zjjYh$I!Vn@)ix$3k&=)Rwy5=(*x$C@zxgKaVT$q4YIY7y6Nf0`Si2W?tTHbJaYV~3 z3Z3f6{PFPHs3i5~)@W7a>>7iHtg4KTE|A-wrm#-cFCD-I#AqAJB%EFB?*r{mcb+d` zyp8K(!2s?l!=4pXBw?E|VO+yZphqY}co1AckO+Z|hXNAU-JtM-r&*&z<81X=I1v>R zN?mouIXld20;<l+%C@Y1T)KEn;#=ri4}Ijn;(Vp`K3E1?NYRZ2k6bT!dwew-BwI%& zgVY##w3W@`stJ9u8rrEED6MlBkR`=ntUas_OTtIt$I_1`wt8o$Ku|ge?vTMNwy@7x z@5F=JaqsTt+dHt20MB86KirY9a@*JXAbZVS2U1)M7+fY>tKnV&d+1L9{L^YvKNrC= zw4Wc+UJ8Vk*P4reh0YBgWH0N3n=0*txL{#f^B>l*6$ag+q}`u9C(VcaobS_`GK}sJ z?3^t)^QxXcy$*<IAfG@>VGaK@B&L^|{_cT4!RI4$o3^f*8N4aoFFLXuYrg)-DfL-W z8Fh{%c}DrrGeIuP=VfJ1rs4I^wMFR013CyvD{)(NIVsn?XU4Z)7WCT1e)8Lh{g?-r zJfbmO#?4gvECk_&lED}QOY`87ZrYkjhn|96c^&<^)v){(L@%a151!);AEHT)ij_EL zI)z8_{J?-ojrE7wH9OC@k8>ABvy_*unnPXQygv#KiR;v-Q0CAR*$=CW*h@5TaukwV z5%L+>Y#$a$Ve=zxTWz@aI6|W4U7v6?nXW!zHYCGPNks)P=DneR8@~xh(csvhwH_oG zAwyIlzVQ9cJum}#asi*l-`Tm#3;TFEGWIF#s|HmF<R_GCJ19ZG(%<`jtR)a~Mr}%1 z)x%tYw6jg1m;1m|l(ED0AT5pC%yGo3rl@E>L2-%Zu5wqInbt-<`w`e?hdd2q9N&kx z>ZeoTIy_MfFc{j<y2n`xRsY7%!S03zzX{?L<}IdoLqqV$s4&aZtl5Nw`+?2N!+%;^ zTj6}{Jb$4#L*ArHT$|m`+V)l8Y6Jsos-NHBm!TN_Gg*4B#qUL?n{QE^PNz?RsTknJ z`bdlV&>+YX=<D}1H-!k#0<@>-rx>~@+A8E7Sr~wct>N?pe+G^lNI}Dhh531lrr@*Y zZ&7S)>f2|*Nwp}eEkzW9T|l5vz)Sf^{OeS48*lh8#ihFI-KnQwjtI*H|Ni@$)xG@c zWx5^et9^MGF#{dNC1*q@swUznNk$6l5wy&&=@C+=MKmDaYxZaK<_q_4&9@;3LhEij zv_YXzz>nCn)fu+i+1%U=Z+-gDL(tX*ERJf4mKGJ!a!6^@YV^U@CD{qzft}@+7N1#z zl`FuQEh{Ox+8lbYhxD{<bLi&E;ro(#kXBH@velQ#N=hDPyWrN?H#%B*;1XLHicG;= zzi$_T{{EP0p7lq6wkoB2I#mL6C5f=Dv2S~Spqv5n1Rvi-mCJ+4yXfKtp1Dc1`l;@I z=|jw3o0G}PAzyFb>dgWy+|b4|OqAh}A9XcQoKyMsZ&PW`>nS!$Vd0W*F{Hzc+_R>| zu48}PuX?;%-K~FlX>Y7$akPo|)#kN+b0JQZz)96}j~1*N{zuYzhg04Ef82KLt&^2w zWo55~IA#aoaI&*SQAb8(a}Y`PN@m0{ib}?vJ&KIXgotESR<bI;m+#MY|8d{f)qP*L zb3UK<`!$}=$Ma=rV`EW;7}tIG7uLh&t3Q8g_<o}wCVl$!X;F?MShD}@pU_%P#Lq4> zV`Bg+p{Aw=(;Cz2MVSxhDzp3DfWs-CVb}8C(e{!=y?5xJ#R5F<#jJks*``+-_Dmw1 zWu6cP2(S0`55<GuL-+z%c=(vR9Wxw5#+jb8UwNVvagPQS&85tr>r7zjAS9nH2&t>A zq;tIO*o#1MN?JV+`0>f%_;B(hCQ`T8=V#+`KDd(8&V=ow8q_0#t;54FeiSw~F@atP zsxWZ#3L9nu<^;qfCl?%_$qc@es=tnjSJe+r);n{vqm$DGM9lcaM31u%##)kdt5F*P zeg!!B@|WBD%DcQHIO){rr|XS7)3E{m{@%ck!{Z^@`UkW*ze5YK#p_(<4-LdD#tR9% zzkdDqYx>mH@ZF5~Eg#b<j4;F89;)_^{bc=jS73fNEjB2QzakQCGQD$q#=iQwyGvya zy*V0e1`&p_wstf%BacV9$)l!}#IvkhfyVx?`q<}oI^Ey;+OKRt935~CqX*bMK!R|7 z{>NI=KX_nK1XWel`kS*DF(`saQ30b0=CGJ0S}0v87#Ng~aZX%YUuTVnST?`#@Qog0 z?zQzBdq310y#L3do%D(P3`qo2Ck|4s2bWM^q_iILVR;%JFo*IVMCj;XE^&`|qYcW( zSfU=C>zgx<VQwnAk$V>&09gCG^>ZQ@$iuj2Lisny4Ugb`h4Sb1=erV))_^#H-2wdL zJUxSwRqNj$x4>8TC^wfca6XdzW&?2eQLeR)`o$@^xt|6eDM5lj3z66({)sIu?Z6HY za7AVHpZp(lNL=xnX<$J;NvEN%dml$Re~;B_B;7Yj2AiE~AOdga&6b02(9||Vv2dYa zoPiBR|AV_zh6N38=)b``|3c<IzuEGDU^l+&oDDZ3q)6U$${5X^D*kGtqkscVWQqYX zmy<?ceG+2vz;%@3p<|Xlz0m*%>qK3Z@Z-nJgZcjUci=EdAWlq7w%_~G)<z<<EpeqP z;=F993~fvYz=luq#>z%lag|r#fg2hetbh3u{6cUo+h*d-&0VIu?ZPxz<AqoOySX}1 zPnl-U)|+(3-+mbu2WsIz|E#QhJ&}d$2wV~Us@eBt?%$7hopBF!N@R@?@4LwGlmn54 zA?Il7hf{O;qg!|+uNho=!j5!_$9Obt>^RpNi2Z~e2N?E02Q5E_Z&XW*E=`6=3_Bbx zxas9J^ZJ$pgl@qB4HWK^k7~Tq(h`RQV*!;Z7?49?<^|5aiScpokI#YX@zIATA{r)W zyr9>)gyQJA-H2||_?r`_5qccD_jRY+FiR><(B0nNUyTJOb>_GXv)FmIzDmP<Gm(^+ zUUcQ$^UugxJ;D8Edi@}usiO%?TkbGeaB=Uwba?3M2*-*P&ChGg-+<TZ;xhW{*URGP z=1(t^=NJ@?)$_($tK{Q(^l6<u?n-j)+6~o(h*9kQ^|ODo{s}djm!0iZWg;l_F#H!w zw`;&%5gx{&fx&Ov2R}0;aEWcVDd_K&rt|Xh^3#DX9yll&nx8Jbts^yls3VZ%LbnQ< z)%bY8@+Zo!t*)Mjpl?{Z!2Y7#^Llvr-1btxAPcjg5V6d@0q=AicLZ~+bN!_Rn@sW{ zKHB@5nJNY<WSI2y)Osl^(G(qn2z;DQs-t8IiE15l$BsP)WJqag<^a4oAv0?ovCPcU zYfmb?s%Z)6|26<U8PpL#KlS0MeD+M5l?FgpcDPqyjP;-}iVFw`03QibtubOT&7do^ zV7i{XE;FInK*$33fFSs4*PmharRQ2A77R?fC5c)}5klf_h6LxthRvd-`?4%i<~<>E zzV?>piYh}drg+doocB?LXTN@h9UsjdLj=lguaNgXKhP}=fgg&wC#wIBoN9f!+rxcI z+Ir;kL_HKzkl&D4TeF%jXFp2Q?wdm|+*J=Dy;5r{c>8P4A(B~-v!W^!K=EyXlc!gQ zar7O(Urh9liE*)U*Vor?T)!dPUhVB|n!${AY$!7o)f^|eGTM4L{tS9^XoYMoEvd1d zK>4z`f{KA6>B@)PoE(3zvl+zgkdwutmBMfE92`P6>ePE9cX-2q1)k7BGWn;u^*HYH z=d1Se5Up!Jw5O6+r^O#zXeXPF&(MD7b(YD2l7k`n0)JQ~k;+6MOTxl(5*V1kYPuD= zd|}SI*7^MYC9^)ep&o;-#dzaKH_M5bmDs}%`n}%0pPHq!jLIfztj%#aVFDqfxwSQX zs?JR_`>m^-X^a3tCe`uvPhSUvxm`7*=T6xcsFttU%mi0a9uxtCdXkJ}*%!0EeP)rs z-&3BB#tb5h(rF_@=X~uRVZYPq<cJIReWNqcIQTk!tM!4b5?W709-s$7N1d<d{Ffic z<AGx)l+{13tn`Ff35xr(aA!d{6HQ+2%%1S6+CVsXddd#L`2J;~acas)F2gZ#HfYj5 zwuTqXoBQz((J7l>f2ChvsdZf#o089)*YU>{*MD06&x1oawT+RKhV0{#CjaByT(Xg` zsltY!Duct3e~)_ash5%=qN37}4gGD|HzsO!q8^ey!ao!X-}xLg`F8VT<li_@8;?y) z2qhcJGQ?;@3A6V`{ftnWm`u;GLc)`?!nC6JWDTm#a><K_thmCWA~7pztx%-Jo5J74 zt6WBA+_64~zgA)7)25&e;|7of#Gv^u#naSP6>l7kkK>eQ@Y<4`&9|58yloppZh~2l zJ;5Uvf{749jcaRbaMHt-b|bgmeSpj05YcUynNS`fcu#g4*dja_F%gRnVOBIk7b%!1 zj4rkag@O%z4_hWmFXON;pVfa&&KL0|m-q>cgW>zlt>L@llM1?z3m%!268VDmclPG) z9A|RBHW<{`*9#dkDaGd2TzfGE@XMX0tgBRS7y{3TQMg!)T3}ZH{Fwm+kQ(2qDBCL^ z{2%MyKQ$LT_vTj1Zsxr6?b{=DKYk}AtxlcpR8U!tx2Q7}9UGr8!)W#L4hEP;#Ar>~ zN$tV9IlC+f!qA}#7a%zDm&2t4u$NlsT+RAEO;2CDCJ%i9ztuLxjY2jeIE`w5Cn;g# z7n`t!;o;kJ!FTV%(R2P(x?H=VKo@Dg*+EzIdxd$I(b(8;{2wXeFD;?SOJTmB>2{=H zB5a=1*a#!Xhe=82uD)!jX}K(*B?iF#CU=8K=MNvDTd=IQ3te3hPV@;sIsWIrbm{}7 ztbOX%hhkmyz5J6OKBO-$+Zh>~%(|bSv{;_tJYCO@#(`=^tfc)~8um6yNc`zQX$Y+o zfj~$Wb9_$1_yzRG7IMPEs)3usU`$@#Xgv-yG^FbZ94F$SSu(}pI8a@+U{ZnTk3hNe zN=lhkL{+GLTaS;@;3Vi#w42mLI>oc=zFXdjU<A5uav8<+vqji<sNe3|2^DiQHfAtS zA1pPz=6(%^9Po6Etj3~iheu}UudJEkwE8I7GcCk-L7;MyBMsFT{~l~$=(NjZY^Vh@ zLGcaCGnhg0hmh$kz;mS?#|X9j-xPhmc7%0zaoKgS794FoEJ)~O%PqT5Z-|I?7I-V} z$V*|DJdewb5hCCOoJm{dkl#ryI{no|o|JJRfb*f2`EqPwkhit}{b1;p;X^1?s9c_i zH>Injy<_fp!XB@)HuUeiEmWRgVCo<bC8GQ<U=xuAv%Ad9&N3MN{P4kyd8=T^y@=E{ zAf|{|Y>GY&5i|R#<}qRk31Yf<8$92ydot~a_(CsI)zf$qP0HURONJMZR;3wvRcRN0 zjGCK2dhK;^vP1M!jN1D1CvW2*XZ1Aj7}nSCv~2az4PAW5LPf;IbKXLBEX(l1gfH+2 z_7$H#*`P1M?JvZ$`eWVpWnhY=;o8L57=G>)y2|18;MRXci}C-NP1=#s8)tqsX>t01 zvaI!B;1+?o%(LSw<gL90y9G3aoY`KW$&02k1@A5XOVn}@%q8w~o&!wJ6m)WMfu2a) z=ui=Bk<4L#ca`g=?BuMw8%gex^EBb(Br5-FlPRftjYbqbcyLapnEcP*bw`W0x)!)J z){LoXEXEZH4lvlbc0j9yK=JbaK(c{a@tsAjhgqMfThmPd>igf3hHQ0^r;{ZJC@e$T zf(g&XFuT#0=%VLgfA0=w#T4@h3N<F9<@zX=v4|L1B>5>j0~ARhsVZ$p=@1Q_+S?~j z(i4hdX=n5#iRb+Gn~lFX_+$h!y}Uf&?B`bY3i(CnfakTufBC3n^vRRRMVoU{Ku(#2 z-<@wG9j>Hc<q~?BKqR|==J(y8L9c-6dhZ9u4<PEc4cS|4*1P+^3`MB9sW0wU*lC2X z45K!=rP*npUe5RO^z`)d3IUA|e47+aFDfjqJ37vv`S;}v$v`vA6|^p&`Nh>9g=nMM z^n#5J+=Jvib+xry8J1Tgsk&h$$tceW!MfnfJ>EKVY;9>NEqo;#BeoM-L%goSBekPt z&8#tBE;<m3<6)MJF#K{%ermK(oxG@)%;}su)1-eTkng(}fVuitP@gdr?8h4`D-k3X ze7a+R#$Q{rX$|`ej_i{?;+MEHmyL|T9<3vg0%iAi7;(ZP`b64Lm?0hmkz@`~C%$^w zUte|Dq}qerj=8=PZ;^^wxSPLx9__@6!i~$c=g|$T=_14ksQB}DILcI$vW7VP2C{SW z58#v3(9oDNohz*T)V06w{d)E{)T|Q|W1>V=FeVhd`ww0kKn7i@RZ*0sk+<Q`<0W~Y zOpX#Osv=2CZ`)p&y)(ywW~b}M8)sv4F~ToS22oQG1yHlDJp0mL<3c#NBQE^>FIp}$ z=P{)!%!r?D9D!Z&v!V1GzrEQzFpuy7W_^y)&8fQ5mX?3;pF8p3y}Hh!LVh|{R#B0% z3cK<-(k*8F#Fq5yUD{b_RVJP}Fj0Lb5(D{;VdVmUzPi%*+KcnJ5A*FbsCHQfPJNP) zb~6SC3dFT|k^Q4#)j!6`?NN_~&=JqfR6G$yEgO&A@5$C(8wx%dN*+$O`b^s25lfH* zadsld++Nx{_OGWwe{^To|CDB)DUHeH%d{xy#5&o9Iqx$tFhYX0!|~eWmIu3`#beBr zuC3FUg7)j#u=UiMn#|11L%&ZlFTGIGaBeYUa*9=F;tqIvka|J|(rZmlG!T}x@#)o3 zCliyBqM}}>)1;3}%1ZV0YiZjFb>#~s;usV>?|Yl=+RM^;CX<t==ydVT@TijNBNJs+ z)Ma`sban4V51w&k0$%HLZ_NQJ)m@;A^*1%k_5c+%ju}4}x(DfNP=mvYGluR|2lju! zOrQ`_#$E~Aj6MSo5;MB3dwZ<HJlTpFoq5g{z|YVOFcG?ezNc$;<=IsRNjc=(*q{cO zjI#7xeFD0$Q2ivH2fB;(Kgx-*vU>LrUpgEwNBC06mfqekkuxkE7^v1dQ;97?wPlIo z5UA%r8>H3d;!abW8ols-B+GUGghP4p55CpSnvU~j85URngXHRc+23lXe%3J;14XNC z|74{x<)s9P?KW8hZfO-3l3X`#dSNCfO^h#d<@VS!3A&zw*EVnFU~PT*azQO^cc73> z!DSZ$#d5kSN=5jiuX+!Ab}K)D78N=-w6qO`?_*9hKxsy0c&882ZiV?CByb$qUB<98 z#sPb2|8@A^Noa$AczfrTfg22j4d@~mj*~dX(x@TF_v}txqFKx-++z5^Ofe5^XHj-J z?IPmZb^N+@g9nQ_vWGy&_&UtP13{6~CgL^Q<PYBgAO$yyKdit?d9uoS6i#`#0WUZ5 zo4MwSWX}fXLuw|qI?M1P)qyDfv~6?14;URqO^m!4`nPwq5zhSZY@}Czc1QMgYo${9 zOBAxFt8!{a9T2P|tW!^0YEUbt2G+MN5e+R!7Yv6`3OnKw{W`fz6id%N526$cE4m?x zn?^r|`An!^-Lux#8=jWpIUNW(ROlcsBeIYDc^m*J|G`<8U+c~7l@9lJ{pXjj-jpoD z+465Jy1=H{{l~;PTV#<wBX5$ffR2FnXo-8dNCs<u>&9QE!8}#r#`21qj2V3c@kAO_ zLMEkwOhbBOO)nC}$bW!yDL^QP$ce@fH!Z`R#fKL!pN3SqqI5nrzZGf_1@T9tO7q|c zYG5~{;{h2xlcdUil%qf?ArhBZ>x6tg8^A4EPUhCX_qWvE9(`~8#)QSVg|-CsfA~rw zmhRL!A~3fq*wKh@U#{L=6`sGM@n^HM(GCs`c!hv@!=p3gxNv#`1HpADiV#HP3-9UQ zkYx@r4gjF$gFHM4&}5G(D*AFZe_wz4HcVjDhL-KHM8`z+A!@8og$efa9~mY)aq@nv zAQ}p~=fCD<D*R^n2?mjbWUX}C=QzR>@9E*$2(lrC0ldogzu*mcDAl*R=D^}YBz|kE z_l#8=8i0KFfFE~Zd98)m0&!m$q!MJoyJaAvHV6;g%E$WCa{6&`CH|}WeE<GLGW}-w zwI^-e@b(q&Q&aYI;j{`@1*MOZ$BW1N&)&Uz7k4H|$6RqJK<y_eAp6SQrfN<Q)3?VV z16gSxIbAMm;6`rP&-YV;aZHor6F#Vb|7sVZX$e;}uB@z<V5igcg_?T4gLXn@ctV+; zoV}X8r*MwW(?vW3PT<#|ey>hG&58zB4jUTgZmE}_f|D2=j51en<BKrvL1SXXFxgtN zOHDr^l->W^`y5EJhDlw-DpDaqOBGn4lJ-sPAq`oQ)?^Fh^T8CO&Rc;nd0GSmY4EQP z`cN-NX6hmUuJ*BOU+C?sC?<aAdyqy6Z99d_`~JZ~(&nem#qXHV^yqu-<tC<YC>ZQS zuVTuBF9|jO=SA{L@8gcW{iwzG+hyNcE2BvUn4Zk7oXlUsj~|9-)kM<-s6lkg=<#7^ zxO(6wN#Sj{uQv+*t`=~WLEhfonqO8miw9xmzAwsFdFf7xxX?74jwx2FS}z5My;Zo+ zXGyceYuWy?hN#E-=i7~2-=|;ig@>)%4$#?T7ysJ*&G;bk=k(r}m6dx%;JkDA`Q6SL zsi)xptBZOsTLe3;enHrwCCtyVq_3*_A6lq!-q$Nh6dln|+UO~fEh`gsdGSKNl#@Oc z=_DkK*ou9hY<bfioKQzC$DfZj8f)TYY2pM4^R-(({jbja8G8zIH`3W*SzvSYmH)^T zVDCWQe6w+M@<Bo-icAmaT;T_9%&Pz<R(;F|{PEZ@IFLosNVWD%MW3u6Mv_x&R)KyA zMkye2gjp7hlmhPDA%7OZJTf`CH)1G#&@wkN^8JWMZwl#B|Dz+sCf?w(47Bf=V*Ol2 zq;<lju3F}20;}86k(QoCjws4IZwgJ>hkGX#^hC?jW6(|>>GFE&4<DgI7t6R$jDVat z<Js5YbH@i4!`0>FM#jd*<|ZdUj_vP03x88v<a2^6s2GJ-Ds-#ZR6#(+L^w4ux#(Zy z-{8Ha?Snu$Gf8$)6dGeh!xP}5-MP!KY9%@|r@VRmZ>6`IZu+VGi{QO8*^l~t+E2Uj zxA|{(t>#Rf)>aOEc$ANbDXGx8?%_JK)wTNK)WR0gO6_Wf(P943J>k+{_EN%=?6EP! z98^nyeMlghqB#|mIcO*H7R#{XV9#M=Gbef2^!6d4B)5zW{W5uL|4c~OVwo{aJRS|i zphW<3=0T0sD)a?kt%{-|WY8;neRM?jBydQ;7<XZ79~fZ`XrN_7<IkRVh6W`wcLip6 zb90biPFd%Uz6Zrw#HG*(S1jgSGyfA&+k7x>bXb)vHl(wb4f98}jWTVU4r8?3d=hT3 zj`VFSmph2_Gwtt|7G*hdT#BDRY`-(O^Is<Ax#OMie-G=>Yx?24mf_<UWrja|_|kaO z*nfADFFeGl7cFBj0g-Yq(oBihKV|f14HaBCUU&F=*a+sy=p&|&nK3L^IAS6;1ziq8 z^2GpG(C8%v#6f`%jRyy5Pffr#az3RBqpZMB(43Ixd*~}woPrq3!(ukMf1N*tCJ26M zY@{dOb3@(lE?#b8y)^xbr6+$#vC|Z1Z1&1jXrU>e=-K2scx~DD;J@|880Sc__scCh za*r?5iAna}^t9hRd%PZAHI0w{@i9V0tK%x)=o?HbNq-#lnysLZqBjOH+zI#v>X*dY ztu3GAc&dvQ7*CP3)gM1jKo$@c0}JhL*wjE%3%j#2Yy~XrHT`KZc+kdgd=Bk)ZkI6< zGYgvKw^x?wVWrV6T55Ok$!Lf+yhf9Fkkx^~*HdsX=E=0vp$M|w4P%KF6uD6v3}eCk zcCsL<YmB?deZLzf#BVqMS42a!I#{A?x}5{U{yhT07>FC})WTWr$s{HliNGWyEYR`z zr+xG7o%0E`n4IM%U>EkC3YpZUuZWd8EsWlxxJFou)c`}LaTi^^Te%I6*w-ssFjP9a zyU4}{kslZo%Tpr>PP&@)E;gFEy?8Xx;m?9wqqk>meT^AC^<AyxeZ3?~M<8{RVv#2X z{lP$i*3W`qTDu}jgrwTEez%yfGv9J+PM4(^fH^^gXVSX%b~gjJ(u~jYV<V^h<rr<J z<O+iA8H6UqirKAO8<40+$8Z?OcefngRN5HW6~g)?UoB`mnn}as=1uru>%D^m1CdcD z=4&l$raXs{)n71}0PsxE^A3uCK;%4X3157m90ma1leT<BkxjJ(_N-wV%Lja^E2<xh zQ_pg^qD(6V3COAj3{O?61gGSmR7djC$#K{Mp+b_McP#~Zbjq;n;@J0Q4t7orI@k?Q zK)L47;wQ#;-~Zf?+}v!tm-r%dMcF#QLYl$;_%Z$=Ra|VtQ0U|X;naFJt=)#etp(>I z8CBH;nSAMQB}MoynPqo*tiY&3HCjvH^n_rI+ohP<+x@>^txx2-8{jy4eZ)!uLVl~| zK%^%SkhLLx0xTvnJy&XM6tmueRMB`;<y6ZJUs!NF>{-a)2x<WyINCkF`Z9thCk4bf z@4u_L5RNo(86FBm?xq^gfq`|UTc7{)?9YV4k4CT;&CW}`9UgI2bA}bI4YJzVjj+9w z6(C%DKqC7Ck$)|Y?NM-f!};4`@DHXOoKkiOwzrT5I^0El*Xw^Vi{o%w!@LI+@K6*0 zwPBs)tfYQq-F2oWm{R}#9<;GtD)Hk7FA(V6ABwploJ9XQS*X5Ma?H^DPREGAtl|Wi zJ)Tn7XUyx+j7%18aQw$x#g|=4@KZMBAXA0NPaQSBQH25DSwM|=sEmC6<j!%w)<CFW zXwR;3`_$aQ&Q|=^H%dC^lyYzDcOGM}cpr#;z;_M%JK%{j(>@BL^GLC>c7+F`Mu&Eo zigi69&YZj)pT<_N0pd{DPx-At9+VeSwF-iFo0^;T^!0}dE*?jRA2_uzPx$$d6EoyT z%{!yDTQ({a-r1X&St)SI(%Wm7L5wO<oJcDb4&3=NPuh4{r|g9_3&mwMuKSWdY?|Eq zp=qLwckK|jneqZ)n6nOhv79c=N+Q0*N%MxY^TGgZ%As}z&<DW1Pv$vbZ5?nQUHt_g z@#O*yKq2Qi*Y3wihmZ<=g`!WBau+b}ii(PKoRUax?hAK+iMqU37yt=)lpVFl&B$B@ zgYxr9)3a~BOaEIKIv#TP%aG`{ui=_DR?CZy{!Ctz$P`IJrgoztQgZ&T-Tjn)eo4yY z>zgLbrG<xarAtSAC@ajWip<B$-qWyNhDeprwTd&g-2!_1MJ5;1hrWfuAQ86G;opPv zYu4kf?A#J+%4^(Es2^xEVpu>J-z9|$>TEP|PHiw?nsBCK<bcCasn`A?OGl`Q^Vhq4 zC1Y8|uc{S!7+ug_{mzM0nN;(iXv2hEN?ah*Wc6wIRdCpwOfoPru_gX`9{+^mokY?l z?@;v~4?owJ&srS>AP^T}R|O}Gk$d0bRa@J2c<&qT?yi}NdRglZ-6`3+$IQw?kooPU z9FY-qwA%C&KE|tX;zH^%tWQ}8vLI)Ywrjux-Fs8#hL@LXB7|{)qpPzj6fp6%&XmdS zZG2w=dk-mFZ{CDL^TV$MSy5L5zr;Y$oY!jzN12(a5+yDMaw~bANP9PDe22ia&i1m3 zmhwJp0?V(#ul}2sVo5Sot1j^jkfMO2N}0DnnC`7_Cq}$x3@5*gi~M*F{nqFE!%(kv z_|9Rps}llYR@<fhiO)e#GiYS;Sk0#{dk6|}jMUYj)zY-HmrXIJi%_%4=>3{&D^v<B z0$*f$kdFFg;$QF|ee(|9+o^GprwEl*uoe}&Oe!nQgl?SW9okiwhK`ewDnx(K@Uz4_ zo$a=Nf5GDE6EbI5nwrk4C+3pKYJ~7<yeO}%tRx!-E9s&Xr|DW*6gXVu{rapzRev1( z4rQ9z$#@p#uXW?TXRdCuXsLw)rHc*+MvMiGt|ei&XxN2D6V8d(5H(0s|9aj@l%N6; zB>Vd+enncr3z@bzr(Sx(+RYDiBoHH^R|5J7_&4B8@w#!N8BRe^f~gNRFTo!K4ao1` z0f|16oEL6?eG5I##lscI9RRCJ>bob!<p~`;z2}2}&wz&GM^Jt`!b_dKjNk5h8I?ZC zu)6LPlACC~{}dbkAJ*iYih;N%e};Of2L?xmO2>j79$j`i_fY}&nSu!G>vPNS%I)+^ zzv)19B4iV95Gx(R4whgZ{B(h4_}VT!t81T>e#O}J#`iiGo~Hh}gFwBWzl36~Mc%Q~ z#horaas5`BE?~AArT?^hx&J;g`7;Y4&^be4zhBh<FzE6#J{2Xe7c)<oe;E3`%>1m$ ziBZhk;A!I~077MY(v!c><bh1FWHo0s$1X`$n4NZ9r?Swc*aIe#kk0tA-g~+aH(T2P zrNq$RD4ZsuqREE#mBH<HmL33s-J~z~gNZ&&0j*wL&q%)=5KwO_O6YXzl!>4po}9b` zR~v+O&fz;x1cC5jLsVyu(WiP?j~XLLefPl)dh%^Sp$8<9(K6$jbw~~kTQe_+V(qD` z>OB+wUuC7?B%Fa>(@Qf2xw$|W*%%&nw6(q9^4?!P@%eI4It!sN@*MdU%T2tG^+4gv z9f>#JqbI`L@HB`1?R2+uA}HpA>@e>dO~e%GXLr<5`@ero^T&f$4-yOT8yWe5YB!Ow z#PVFCO^kDRc<aUyg_BsRC-NSho>+;|=r6p`_a>=d{=SVoMd^;;FYxWDHG7~?2vpLt zPa+yl`;7es%a%Xu*9snI^Bk>N!i50&Ev9<&0-_}l>->%d-QSc6Y}~EdTF8aX8Su!} zlc`O}Ooz3kTH52vif6v+`Z#M**R`fA_U5m=j|N~iqYXGs2p_k0&CMNB$B4D-IMJGC z6N!mpg>wdo_H0KZ61S*%24y@z>*2@UoyzJPh~KYg0<{Ys(GpM|+;DLzaYBN!3$n+( zfMs^U-~JhqNOmg=9Ih~|xdZdIhw8sS!t{g%om)0l&mfoyR>3Cb;+h&p!WaPpp_XqS zIB5LshYQv~NWAoyT7lUW7LqRiu?PGOnibe$GRk4kHr8m%h;j;k8p-m)IR`GrWL80n zS$?rn@9A7({)IbI1=0jG3PXbieV~||5Dz>?_1`T7a>}b8DQe5hkG84Yk$mLb5n3Qu zCT^78?>QKxmNIPN@8zn%Ny}zbT*QoeVk&tUb@n>Z>u2b<mbk>^3J;8^D}b_Laa_W| zdI@KCZd$w`;Hq54{zz6!VE?)4p?p>K;kk>lvQ8ZLQ%ptq9>!^-#ud0e+0->kmR7x~ z_MSc5eWydlRwbh=KoHudRK}4<a#7yvbTUHdA+!-$tb*3q4w{>0;OKUFs9p~uCNv_# z5>5*Ey!hP-%yr&Jn_oJyeJ`#JiKJcP&ms}Rh^Yr{yGmspt&}{}EcSy9kSRs`-wz7j zpcVsM8!Q4Q!Tizs`_(fz*1_2z%I*;Uch`4$h%{x^-yXw3V0K|IUyNK>8yC5Bz(TD( zE}SP=ZZFaPo1dJ)=A0G}!#sn^d5#B-H6`T<=_3JN@~)SME(5{mdrkAtRAePFzvfv1 zUxDP;9sYL<s+aw7<3C=11_an1s5iIN=f?aeeK>T-{Qx(MGmpeC9cc`|QlC!AcaY?? zACj<{h^n8!OR8GF4_&?QF!S8)#gCv-d3k_T@+5ssvh4_B;Y4HmL{V4)PHgCqHpRKC zb%9R77o5h#+3&}Y?fun}tXa$LvXcE3g_EHtM_EX+OZKK>dy38G_9DMXK6yeAPgpyY zDy3(WG_4pX`L85Gobok`5>QT*4O~e#=!7_)q+bM2wZ{H@G^_z79Dh!J{tTr(nY%y# zPnYQcffSX%&3O<hz*7p!Q`+<bO`&Sjw;=ujL$)C#BtcR_1WR3L@ZR6;9EVW9KZJC- zj4E;SVA16k;&mjs#2cXoR=>sQ_i}-K1ZEps^E3EJGBQu$9KnwireBBWkqn~R6sRa> zJtMbt7KjF{2>tul_SRwc&1}Ra0oS<<K1r5L(bFdUC~9h|ke|xRuUzGGD&j8@WSuNn zU1PN=E6cCjB#XwNi$J2gS^<aW>Btm5#%}DTb6&KVf6s1(gzhq|mlyx}bLwLFx? zjyiiYrR+s01qiI@$izh1$eqg=At7fY(n;PyVUaF+{o*YZ9L@m~FWkW@=*dBszr5C@ zhq%H)sf6e;a7uKvS!gOreJ&*R_f!`<mWG;Qc90|@RwQ~k2=bUaPQdTOwopItfEtze zjpB_77&igsgZzU(s2&d>wQdOPi_!2%>LJV$)Q2*#;<OxSl_a2+*w~%|1pA%2(B(KF zR*bgpkGHis3b9h!Fu$bX&`rU5<R-{Qt$`b&!ql08^G>qi^S%u1LFi<6*1SM;ZfW}C zwsJaQq)S1t%meT2Z}Y>$@~wBj-Eat2b45N<y48aJ{bzG?IK;gsdFUwr8FB3kl#zVL zZ|l7Zj%rQO&K8oK%XK>hETOizV#jwU#<_j>4Z6i~?XJJ~gXN=~gGSLL|C*JSy>@CF zn^WZps^=AVd)A-9Lohg4YWk{Uk$fe02m46Y;3?*sm|kv8aK7bBNtFUwy_V$&cGWy} zVY|0%TJ=|@cAtHIFoG3(T(@NOEM%tRh@?QHaLiCl(f9&>KBCMM<fE|KiMxFw%N^c* zoS%Ocw6?I-1Jlwg2#T?i41kR`AhZYC+J+T4YzA6}SOgM^r|RWpWe>LdrT>0Y9vU3F zR+2&>u0@PSOJ39MATb|aP{o=&H;t0z+z+NQf573LzV47=Uf=$ZGM--K<0&4tw??68 zL}^#ucUQSxNXjX$tUO99fSjk;mc#JBA5Qi*FleA<OU>ygyf?KERaGu{;F;@vq0w1O z(NB=4PO@J?`}*5tG$M+k-5s)Dx(UmMQhvs7LU+n+Z#MfoEjvd-cty9f7Uq1xV+aAR zs(eO0K+{Gn;)|sisFN(8mv}~Z*RhQ(k`BinBW8rNV2+EtLswTzV){&Sp{6^XMJ(-! z_%Z!WE-z=afmD_R=Y4;F|Ab<2WmQ{A0>9_qzp%}~7v90p{6SnP1k#8vhrp=^nr)`% z!F?O?(GpxpWFWwxP6#CN@ig<o?Jlu%bpP-XHz_r%s{$#vzBJXb|4Y@{kb0{VcAOi2 z%)z6C?EFBhTds-FP9*)7?HT)T=i;#h-~DR4`uB;1*RyvGg}C0}zx)Z__zoV!N6mf} z6}2CHc(Q_PEm8$9AwJNgPzYjphZF^zF2$dIAcNsv=bm_G3*)$%PamAJ@79<yW7}jz zPFcTo=b2_?6`cP@(cCVR$Zt!WIh`?Ng%J{d3hyR(KBbTPj5*WyS_^V;WgZ!~xCy?6 z7)`$b`#XR-%XS%#B8^iU+JRlp#ONq_P<hSze270hA02*dcBlOQC>nzU?-M*cFwCX= zJTUJ;-zi2)OTFm#T$^7$X26ujj<SGLiR8KF{3q*SW5!PslQ9{653trtnPH^pY}UC- z{&)i&8Xw-F;eq(AcR*1(4%(M5xY`;pP^^2u{_~&O2al9z{r6_i{G5Hg^MIGu#e8&h z%N70Mm4^z&t&`D+S-IucmJQ3vN$-#Ut=3Q9G!#zFC34mUP1ok2IdDr+H=1rv{f7TP znWCiisP?Kd&mvRA<?Z>tXw_=gIlB4z$_w01Vw9<fpZvnYtpxr%bY<=0PlIdhohFZO zx%G&Y=H=%H@GOJYl>AM3^UtPAz~#Y;6#Ou447Sf5+acknq?a$)>-gVa0NJ*FiRFf4 zk2aKMxMotp+rz{4_#cx4bT7caa5jS7i2Y;+)*#*jw-fp<l%>r&V_dig`AdfU<%_yc zh);s;FWfV>=`&<3O%o};caX?4G>PL^+07b4fw*qeFrVkUN#&a8<~tP*3CW3s#EpL& zFteJRO(?5>Sr7Ch@7CSS_Q>|95ITe#Rhsp4`44hKiPsIDLOEw@-uVTu#`iQaMjQ1$ z#$}3!#(un<sM;-1BvTUwvY}iqZr*7S8{5~p(ulfszCmCDhKaF(Oyj53i1QSgSo}{x z`o^=d*H)XPQbjchG$;dsdny@cb!75|2>jW_H&{q5^l0akfUphTM{iJfpb^HSp!ySK z2jR#(WJo|kbTW=k+{#tFad>!m`LSw@EY-HNy*+RGGxR-BKLWk2^<?m&FIJ5i*PP4n zeRQM-3f6p*gU9@%L?d}}x&(~*>pnq}e^ea^t4xPiXK9NWg&edBem60g1(nZ_d_{b9 zv%+*W7N$o~vs)#93P3%29Q-flRQ=62mnQuQ&)0+B5s7%A)T){*imz%L55E1FMxbhz z#S#Qm_RdoeIrr9k_ZA_7XC8JH6U$JEYCnCmT+j-}_X(Y=eocGZOK@o@KN<iz1&KZF zgt8<Z(z<d+b(kcTqofFp5If&d`iIrhbTj%t3hi!j!xDcirq@RS=aPQVB2CGPq<$xf z7R|oZhKxq(!5|Hc?_Rkg?<ZmZD?k9LZo5#PEDZAZ-U>cEG4kp!edU_STn>Wy4y>m8 zC$EOO1Oz~$?j!fNd+K5-E{(M2xKf=ODc?6Wbw~WZ2o3D!J&A)tEk$m%&_r49>o$1B zW=Ump)6@UZE4dE@B&^&@?_CxvlH7zdn6xQ^+1-c*EkN*o3UbI>w}uvk4LPN3tX?L> zIyL0q;Bvp^a0^7O2XxD?y`}_8zve%!$Yn;;qGIMXV;vJsqnLZrKPCyX6enWD8s{_J zg7UL+9;^Ev0xI=8yk{r(hM;~D$wk}ImmoNT2OmyPXx>TLYa~AQEq#T_si<JX*mFsS z)6|;yRg_QbZE3AJ5=KKp@_G<5rBE*Fh`ds!{5^~e4_?oOH3KxRx|-pAOgqZW!=wEF zVU@6;OECZ#`8Hfru)lkF@n4{!VLzm}`VOh@feGlpgKxGqi$EkX9{ut-bj}i!t<La? zzr9bYox`n3Pk1EMzK$nkc|23n<z;PAquk?`!!e1s=nR!V{s-qu(;dZGW*qi|vmHh7 z3$i_c03NxPpsJ?eH#vLf5{jk-lro}uJ9j=$J?>wspZ)KgS1e9<spV|xnBoIR$wo~w zvqUj-X5n&r35cM-ki?EQONX~>Q24Rq6s?jJY&<}4Ln02FL+TSyd)|11bDo69DT}Ya zQ`7IWW5k3fcYr+N&s1j^MYB9p%UdQxNM?_cjbRosY|+rLFltZR3=M}ZNX659GTVF8 zH=Dgd5(PUOh-QYB=rAN2nB=Q9hW$N+H`-L{gp>_mODEICMCQY%;qVuvFw{#*@R_XS zlDeAA?KydUZ_?+^+sY^m6t*xsO)I`{rxMW|l@^7|l*%};Nyeq?XCsJhMr7=i+bW4P zJ<pLo=RGp?+(Ld{sHtA#5_xi`@c7N%T<dz$h4aheF7O7i%6dF8PBIz0GRYiO%1<n# znae_(8fEt&N|QExP=5C2jY(olX#PYFTsQW1L0m@>G)j*(LJwg|EOQUkCZ(dZ$!ka# z@C`+#op0lee(_Qu8zZGc@&zv#U5!2O#%NAQVjkP+)a!qEc;sh)3qr&>C2_(s^kmD_ z9_N9L{2=DcpLuF%zrjoeNK1%lebDWkJ^~YeIAq=r3}}G?pEPL+R5y<vKh{M==AUhY zG!EwCrX+pH=Kg-9;X*6btA+ng9&@}-93`P{6(N<TrZ6kw(Wfa|a$U+LD)YBf?Fo?J z#ZA)tq#mbZX_KA^!9q?Jo$i<*t2eTzHn-ETT$zv{bcH>`aeI2M#bZjzg+7}WHx61F zMd-G&r0vN_=}|G>)|#ARZXXaViImGVi-#@LFAohwtHfzb#{#?tgKpT~xUn8pYItFz zVG)}6*S*dk+S?<&0{+EvPaJnU{5cpYeN5sR(XVgXWI4h9{62F>6y4l%{<81YrgvDf zHB6My831tg-v!NS%Wm~8^@Fcz+R@tRs6i{wJJy+$n9WUFFm6=<_Y8!f%uyEs-w4(s z^s_)$SLA=A@ao&y+G-<c<Fr!@?wNjX8tm$#xOXk;40%u2UdW(siz$El?Z}V<LxOPn zf@ObfrKh`T^!}2i=MY_c%zPA`m{wPzkZ0tRq0oY({EgAFp3M0t3`u4Dbsg_~)HiXL zJq-1e<_%~Qh1%~q5}veSvDqQZd90EIp=^Ojq#5j41MWyad-m)#FSk?G>S3GX@yc5R zsRCvC7mcMc%xfx2Md_xw1Ium9mk?h_n}m~Vu6HcY?D^ryBQlS|RM;_P3-4S*ZeJf+ z&UacfypUDZ>hyPeX?Eb8@u<9cLUG$7^?Sj$<oxGj9<2pwpo}ozkL)5e=tZ!Ol^!hb zpQPt+V8n2`lxdAmVIK>stSz<hFpXenx%~(D2?Ikz+GGd=iJ74+m|Q^@;bdz&Ju~wj zBHF@7UU_+b5dT=8VI(|J?GU`W-JSBmiQuYq!NEL@SW(^Q{vyTWV{J7|rd+TPGu{qr z&bUq|-Eo8)D_q%xujt!ou@0<2yiB%9ktPG3r9ubU;B#g)|GUy;gi{nvX*M%W93y;U z)|`!-D%VKsY=a1PmL=3?Y-ms61gtep$&KK~bmkR98V6IGsLy`0f&Utpo0~HAN}S$4 z{RxgeL29O<fq}o@rshobCaZ0!&nbU7A~18O+sa(Y?m*~TuqHM#&n)w8wOPO23l;NG zV7(;51|kUxK1d>X=jMw}@Cwj)T%(^F$Va`YKypqzg-J!Nt(}|fJbZTx2YjXUQsNGH zyGd}-sKF2svZ-M)5yK49K{&}TxT?wcQf&Z3>~>?`dJ_ob{~Zj41MbiWaTiWQWv>P; z1WYp0&BVGEbfE`+vjxfXFxId4R#YriG&U9ixkdo^Rlx_j9?Oiz;gHm*bj%=&Ub@`v zb5g>kU$Iy}V>9a<PZl&gE(3Y66wRiM#kMbtKcz*WbVhd{Ot!mbNR-G8A+D0TM~M$l z%!Q|DifTC%Qkd<`*rPsFjGn!q`U$2-I|qOEyR2Nan}V(PV1A82K|Iwf$s6ralmzBv z9a;kn|2u;|Jr7cPZ84`r)+kvm$3xz)mzrwUa~Yq$Sr0OBUb&;~8d>{7bD>f0SH~>E z&QMEl|D>T>h!5WfMazj@?Zhqr^Bwg1C*paKm-4xPLO78~lbO_-iZY|a_B+o+nSbqw z;SK+#A5M_X&C65p(?*!ROaN%0k`j12rrFrinr?>t+hNK&!!V*ayA!0s1Coe+IRDKn zEEHHJY?SPRH)|!>t|c<JBXM~=88jq4*>V^}ikrc6xyGtLO8XpD+dfoNm{OtN{uh}g z87<tCD7(4EUflnZL`|90VL?ba%OcqIJ1Eq6_UG%*E$d0smFAalPFHFnbs9Dhe|rCy z538m|FLD|B?3*`kkbipV3EXkV#C8H_#-FDc+=Z1j-$5}6CuF3G;#gCmT9s&ShlMpK z6RqY#pC*kUrRfa-ltHP0AB>BQH5v_p7Vz6QxeALJg@N{V6u%7+=MTR<x&@{>@~4J# zd$P{Y`?YMw{AbC*Ed}mJ_UJPw^<+viS)!a%Y$kK@>Ze@AO5j>>aj$oNF}1gUyx1`1 zHL<H^jMIG=^;U!s#Yn?0IlQOO;XC9uysE0Omb*skM37)tiQ0{PCd_U3LWS(Tkb$9Y zOl`1mI_Hy`cH6f9$U-jC8#UL^$?q<CA=skMcXTW_5pz*Hpd}0iNEJXFZVI`ncs13$ z_FEl!7XEkrc-P^$`}`afLLiVk8B4#cuZQWG%7~WHS<~X`8HGH$!A2bwu6Xupfe?#c ze+wK#4ypjaKLl1?4803~MDdkOM^fdVe-3ug_rPfO^Ya_9)Ac9&!<DCNW;a<;UF}9& zSyKZ7Q<8JWrbm|9WDFNIJ9VZ;xlq4g#~kYmcInhdw^|y3g_Sk5Y7t|{p`q3_4EG4A z<mUGG_hB2Lz(xLmttXou;R0^AqQTqt%C508rNfrA_4>&ow0O-oN>vnz)z~Ou;f~Up z-B)HDmidJU)TgnR{3^)#xG$G+-<bD5DUEC}byBnnew=ETMtn@q(_XzbbZr?7U!Q}n z-BIBIHpJ4{*b~p#_MH<mDNJWUCxN~Po1hcintR9m74#L#<||@HXFH9%kWNuZm;7~m z-CDJRx>ULU78?pVMEZGN6jo4hh9imq%?EiNf8ZUu3nNAv6x{4ftDAWE4{B@Q1zj%F z#XpVS%C~Gs8igKTh68nIhX)AZ+%B*wD)tyAt(EMTNrcRmW7q^h&Ro3Cf}z7<Dzg9& zBlJ=L2+ShUeNeM*Pz>jJ47MXQeD>2T<};9X%ZzoRE%kzWE$=9|>_!vm$W^=sWmQUL zyROBrnf@Tr{|ayEpLR>QZBJeVmIT%Pm$i1)cGQiXN0~AKJ&vYN>+(qNx;V;F9&rzP z?=x%J^fppxBqp=+OM2k=)bPUrRj_GqV{a`M1%WU~^kH29!UY(ySxKHKyz-YLV`McE z&++8q>OEE%Gg0=2c`OEJ-hU%S;=1Q9e$dUjwDERmCv9}UCA%BUy}&FE{Q`U_@L4A< zR)L8ZCKXI-n{Cj$LlKbn-~mH!nN2<A9X8k5dE#joB-?ZVi+HI<`UqTeO#rswdT<lQ z9nH;;WCaKjA+il|O*I$lwGp$g*1Z92G2o`;{mH`8aw90;DZ6G-t_K#Q2k@!po#%dd z7Ez?JjQ7%<<Qt5r%rD8M>Wbk15%HMhj@2Xs7zA)JE7JW7#w*t!RR~26!0yG5El+&7 ztm!6Yy3FqcpGL<vv9?9cO4_VPO?ZvYdZ{H@L^OHodIPP?2M-HO3PuE33iOF;jId>u z6{+eBA=y;)C6u_3P09Zr1gTe>{8mA^oVQa}CgOqB^l(X>s{hecv)DjzL}T70I{Hv> z!wrCNdD+z?8Z6(u8HjJ}KEoIXe2x<l`z^2o!72s>!*k?JYR^4B6az~eUrTMS)$qu1 zDY8$#7GFv%c1jGLd#G0eNlL%rHNVmG5fs$0FNWpGMsNaAoHqIl6IZ0&rmFxP(m-SC zLV~w^yz&Ygnqjsuy@Q}BkP^6Ftt^-#dJ2(A`D^Zrvy)rfD9ayl->0m`ap9C#bB=>c zD7E-#;%-#LU>)WHXJ@-Oet7x8^HjqxO7SDyU`w3bTv+=uB9etO|6#I%AMYhsTU}$^ z&ViQ#mp|_{Kp}m>yLKmV6gDGHC1Xm#jRl%PK)YX^uD^Ee8X#>$(Qm<>Es%l;aXd*h z7a$Oc#YAy)E9Uu{-)8-ujT=6##Z0GldPw#<k<wPr`5#}dBz}S<GO#lusUiegHcs8| zHhoKB$!9;xBE{0l|BTReo}IS2hN=048qhrVS4u^479c<;l{?dW(XG%kT<XK&(o@cu z4`XA$+Nn3dCdo)oKLaR#_qV@78Si{l&?Y3q+QqOhyO?-2r;?Li(}96PGxyxtr=;!F zqV@!4ROxbXIXX@7?VI^o%$hZ`YE+SkUH&g!H`TiG?4oMP>rvw6a;CT_pA6A^>8Zgy zBOXILGJ3hh!xnupDbD+~9tu1(KQ7|iWZr|o@MAqg<JnDf&9L#hDu@yTC@z$~c^B?5 zzSPqCbjrmmmumBsXm_krTMW*9BU#fhUZ&-)0M*`Q%q4_dRr)d&4O<nGIpcSz!=xhg zO<n2f-d^*wg|P`b0{P29H5*6&Ha9nch0^+KceiwO75u5(_uAdKwJ(X$2$ZZh@tgD` z>Eb$?YBoOqz3k$mtx@3698kS{<QBqNNrX7(gAZG5u`H<w%CspJ52_4l<G?T(8eYlV zh-RV(@igrvLIfYxYgLsal&!eD<awAZ#fC>{;&RjrD|uBY(ikVboB3DTlpPakibz9j zBS)Q9+DtJq>`ChpA%(CxuDr+MPTU3()LK(mCxfy|61fC9C(LGS!2T%7N!}X|o3GKQ zCefo(es7#~RCpLsiFT80cFbtzo}@)GO)60po_k9~qR>q{0ctio>$J}3xKyM_(U;TU z#O_o8s0KRfACmd_w7CV&mv?emjfa+ri76DA1~9)2@%A>>C^-J6+?rz`M0z(F%P&Td zoFZyPl8=$;nknFJT)%!&EWUkf0CW#8uj^hOemqQ{&pgqEo%Sl7*8C1TEf$l=!hU0O zA7o?es#j_ehVADb1!_8!y&r4mXJIU8-%*q4FHCewY#$>P&t(m{N^7|!-&p*W^7?rS zb`|+~z0o?BI7yT1{E0L!wC5Ox+8n7>&fg}mxUriF5H@3m73>ARAM&|~XBmw8PrmxS zag29#EUc^?mGSEr&n*LDqzeH%0!8fS&x~u)iO@*a!c^mKK6MM-rp|rc`_T0jS!}5f zhN399)h^Sx(EmOSi+j{1(Eu+)gPXaru+@y$fo&l=UTcs-i?$_}&N91LX52Sa*DR&W zfK}|t@)42+U0$>fW|#fJg5!%&^sf5Z%VlU{YwTVLWEdf1Z%$G6AvzGOPAZ|O9Z}v} zh<{hXdfMDnV`4I(pe$Yf%tVk-+C{;JO7?EXCaitpGM<E;dr~Ze{iKDd((pj?X~sC` z6c6}fW3)kDT0vwl5@M&N5vrS#bm~&@lVsr(^~%jHYpjU|L=e0mc2d`->eFw#U+)uV zPe~5^+caQm7hy$`r<AcIVL*LJ?EIekP;V(vF|1o?QEgK+j3$V3j=!N=2-?ro8S#wx zn}UgY`f*%bBcNA>3#sx-^&x!!jS#gNqQSHaNp&<aZI3=Sp43dh(5$Esv+8^B0PMMe zE|!*)P!-?rc9zNleCeib)VnhtjhDn4Hbds3eOdmK2h7})wBcmA2hY=4uP0+v=|gPn zI9nopk##m`#CJ3M$=+W5<2{G4*H4$X7rG65dPJb_x!NfsmDjon?MBO+5?=P8FP$WB zCEz#BkfY7!rsxA&p2NTGEZ8hf>!>yQc}`wD-f8{16VzjYVoo)H4V+Dp!9Cfvpcd~7 z2^|UypN(lz$vTOqiTI-AYl#q_Ey<}inKSeapyI~z7O?4OVbyq==#25|rIP*?Qky-n ztUlL^+;docRV7fGuB4#gkkw4-RHgPHJma)!*h>{F)ul!!0~geA+YuhQ*M>B|n~`S~ zW>H$Yc+}!;Tjpt%$w3<fZwZV{cR%Q#@fie7h6OHzHPZEw_cW0xW%b+<gffI=IO_?+ zkjDt@3AOX*Y0Nd-C<#5PRl6i~S_X$RJ8DDz>L|j7ukk2@ecbA`N&iw!Y%$3q3r8A7 zAur-Q?>t+3Ye(Y%@`BGo*Ivuso7xX4nUr)2#?y6f{b#{{<ti66KOb4KS^?G#v&_?h z8HtEKQGQ`ibZ?XLMgw&8+wGu4Pk(<!BU5K1l=E6yBr^;^j$|qdJ&8R?b2#IPW#v|w z&S3@P=-#I?ARmO73vCw{Z({~w6<4kbS00zu!<%Y+hC<-fn;5(DlzRmFbue{E+I(yY z7+8D2eM?lfoowIGqWqOb)DMpJ2n&I;`+GBC;$MDa95oD*Od%0U4pV5>E=R_JpRR|5 z#8*%l;-Ru~l%RP>jRt|@puzx9O8^$iQ*Tpby0W?&1WgARR0{f+G!=R3#l+9v%yc`S z#9$?^r{W4;9Oe>w)b}R7E`8iM#K>c#=+6~;YhB}Cd4|5Dhr=1nMASf8)^hxJgDr7= zZ5`|_yRaD#`?Gk`)ld3M+c&+0x&=gN;~;UWAiqQ}dEqSuxgUvujdqh$XY2!Y^*8YQ z{hVtJ?@f9PiP&86Q3z^u>QR12IZ<YGSP@5R%Yy7q$BNSOq^S*a3$x2p9dJ(i4@iAW zxN;d&bUlG6p|K~~{FYt37H`*Id#+dN_RpYvZEmhy2@^^?Eo$*jXAPC#wC#pGs`Nuv znUz}eRQGQC3ov)IQ})wl%7>8d;@TFfA_OqGAUf=lNrZVVlg7vUvY-LLv2%zA2lAos z0esVaAQygz$aV-GIS=ZhQo}45;Dfdw>)>z;NmYJpc?a^2PL~jd3+?BRl5HKuP|IhN zn>DHVJruQzPYDTZs%vsZ?N*ES!6*{+Lx2Skjwcj92mI=Xq$Eas%x(L<l7||qJ_{5m zS14IYl@JHgGZdP&WGkGE#I@Yqno@i42>saDxWlu&`K9E*t_4!KS!pW8(+u!GD`^EO zf@>riq)WSmTUm7Y7kss31SsV7c&DW}w<)6co>j{TJbAWC{P9Wt#b~|*I$mvVx6$OZ z(@P8O;aETO=NnGCmc-2Bx?Xi;a64OEAIJ4^tb`sSo}h#1S{Ex>+DJF$=%a0CvXE`G zwc)`M6Kq5|jpZqtbIh*Tny-HxteI_w+#Q%46j@WA=6Sn<w*3!cnwI)90AZSA6w91C z;0~M=U;x~PU%S@_Ou;A~_WQzd(sm*S9khA~v4pjtFnsNEMn_``A5K0Yio!NtV?-^C zEtm6y8Q)(J6As^u(VwWYK36J~9@qk0Q>ZflJ9J5GqZv|v6r6ZseHrJKS6-vb$(sIK zRGHa}Nv^QK0c`=sFVMTdXi839{l%RP4KZC8^O6pvv_DVufDzeY>Q^!vEsk%EQZDa( zc?hNKBjTKfJ3l+L??Ii{c#ybcRU4Q{S3oznW7qMVSp%k;zOtDL_E&jGZ?fp<44y}0 z5og%wy#zZDsC#sbzl#aXMiJEy5$yy=E2%^?ByVzR=O>h#@{K^>hEp6Lxk&NveAVZo zgB%uuT8L|9PWkG=Hz8Uy#REiW-OsJ*V#wOuOtT)9HA43anoY3P@Z~{61VoV&!?8$O z3RbV=gMkpONmkat&o4U-HFOVoo|BptwR64y-R440%ao3+S-)&zay(Cc5%z7TK%<!Y zPH6drh26CA??`1Y@)V-$&fo!b#@**lMA)FUzJlZ6SJXSLG6GpnrkKUr24=KD`*}-6 zhQQ3NKxd!<0iy`6<iRCcb8~Zmw7}n&*VIr+P)_=vE=lNU3%O**PQvOnecM~#jJ>xu zg*j<)rD>3q^z6p~kX>q|<vh-Robw2hH-k`s<?&UY-1+M&z(SjocZ8+=^l>=Ee)6Iw z+VHWe5TZMs#1p}<d*%w&pLop8$a2CpertEdjt^w%i<Rci__^q_T4FIzDf_$q)t_^0 zhbASvCOGGoEq;P-<fP6InS+S74<7870|(EGDqRwT`vIPp7x3EF*DKBK6<N22AOC|M z`f3AS3jy;tVrAtMoftF=io!#rRMX0WT%*%pi2tpL764$#Iv#HPw=>9QqUHmp8`xZc zr3n&OPj&|&Lg7c!1dUVCJ<o#z+V;v8ytS}D0-G*L7`1gjEcwR9AUiqAhZ>vDO-2<i z$!QBifRR#rAmQg2_0Z>#|9zwXkmqyweCPY`UMEW?*fIe=yWryFw69x;m!D%{>+*J~ zb5Z#XV#ST78u^}tZZcC#c1)y|ODsC-enn1Bte+rS$K0Q=8KPt<X#*0`H(9~d)N!;2 z0-y1n4>H~aT4(-=dPdXEy0wjM3^Q#tS|o{7rKod^<eVLUp@p4qp<1P!xk+-)0!Mkh za3gEpJDHrF!~JSwNG4XOG%qK|^ZNBBh=+k&;WL2Q2TaP(7VR-Cl`g74Mr+SW!|+&j zsp+OD`-0urc<G6rr{?M_RUR4_0*x>h(<#$1WIr^p{32e5XS;|WuW4Q5$;AT;od2uq zOu(Vs+dn?`!DI_fox&6{LNjBD(II0=6E((6WXUo{l-&@W2x*j^WGzA?NwSnTj_f;? z79q(95uqrQ(tCT)^`8I#T>tBT85h?)_cQbJnCJODzx%$wpD$pOAk*8h`YtYaDu~4b zz^~U(CA4yD*jHN&Xk+#A(Od*Nuu^SyVSRo<Oy1z*+B&e1=W={%yKtzBSOc(fSJSn~ zYw!y{K2QnQ-qf86Owdu?MyTB`nF-yW@wnl~;vPu(Xlm*Y^-=PkPVN9uK9j|Q7cb5s zOWZWcr>JC^7yY&k@KOePdeH0-U_)I)!+RgT4|aB@K54UlVGXllVml*!?iw-dR7ePI z-~G4@4Sy^lEB@qgNdcRLsq=4ng_sfZ*xG~^$7E7lFWTf5zN1EYiI&P>m|cp=fjng8 zcO}W{ig%HW*k^Q<K}7!rIW*d^<;z*UbRMoFudK|)!9-IeRl2`gec<c4(S{F2IdY*B zDT#@Rjpu%o;>9W<&_J4m{_3X&Yo)Wbu>~@VvLOsOUTSvt;VNMYT#5W-tibZQy-uCY zauTEie{L@jZVv(3!E?@GXvzfBx#xp}nG0*+S}hj8frbJ!1yDN6W~s5>!?7kUoFM^{ zLRJX$Xs)j><N=r8>037g++GZ|dUdDb2>?qRhDusKrI^DJI2%bq&M#3^NLaoLBGH$m zJ1aka_|P>v7s3Qw3^+UlS>7qTot2XV0<8#e<dhSO2^{j$$gxyRrN-vwz6Cw?(<#<S z1Tl{A>h&w4jt<@cFPF&n9uSUcPMo!?_Gb68i;8M$dRISr&{a9bGyQFn+)}@f8O8|7 z=0FE~a%K-Q8{4EQxRu%PhSeDDOg=7Ac+<pO3g?d!OLE>>^Jc$Wu1)q$k?Hz^(tRda z$>%XwT9)?10*4hI9v<LYSzQ(kH-(U;T!Ex$(`SC$*Pp6B{e=9`7L99$=T@itxGJ=* zaDgRVVzXf+MNs+yI*gK(|LBUM6ooG-A;F!H)zp*^B!l*8$QnXIlOr9S45<<Bx|+ko zPxWi_7jQiN_X;RI8qJ@DadzN+j9wW2*TRMaFP$Fx<=Ni-%P~nnN6NuyIy3y9fblzA z9iX|8(l4xx+<Xy>&UpAScWO;8zR<sg!j2JKIlt<Hae}V;J$A<+=b$3p-RmwWD5TuJ z8?9773z-AEbeYT1fi-m{Dk&b)gS)fKrs8C+rA2;tn?^oAd)EE+Qds0fWm#FWi}Jh6 za4&qW<-2+lyKFldNu>=0IrH7-&K-aIjKda%IvpnT#!=g6>LyL^5ch0~<?`RANa4-! z_1(>?TP*L#k2+aKNRS*>>!*yhi%*p>hI1E0H7bWnU8d)D+y#URR9uHaF$Y~7b*W#J zN@YkM6&{W?&(C~&J_)xmcp}kGP4+@+tCr>9xoU<mX7O8{_fTy<BVP0yFGf*X3^II_ zPIFFbUpayu<CzVU3pZ&ZG`H-I!)lu=Pdk@o9J96eWM0_v<=yL6<Zmyn4Z&<`S1<GG z6PY6C_}#aZfyf4=x1A}J%%WMdWKL5IzugW-gux$W<Cz%a7pyzBY7AUF6_B2W8C?ov zQ=$TSOOf^U&_ob4^<-4tu1<G5L6~z_)Nbwj+Lz?5M-|P?%r+TALWFwBT<aA2EOCTl zZEx*J2mPJY<!I~Ms&&xSvghcUf}?nFXpI+k(@Z1IzweBxIhCv^_0EoydHVZ$Y6LNO zYq+}Q2>+ZVR_VSF#!hI0;~WXzRd|FWZ}{bfwM532xX@wjF*?Vm_CpbL(gcpwense( zl+5UYD_O12S&a^KLef!(S{4*G4@1cXRIkobU_#_IEO>o~ii^S=Ji*<YcjVUQt`K|s zo(_ZM3O9oA7T)u(t2agVR>ws<4{IEw(}AREWu|S}GZ_HA)48C%0U0rnh$X?GOJ`Fn z1jMzy>+MBxUgCPqb&FI~U)CCBptl7zarZlfD_9*xMn0H_QVvm-6H5vkU64nw4g>28 z`nGFpiCnMqKumBP9WX9p+TW(BX7m8(1;i52^a7K`6B?aPk1T1VpXuZt4W0Y+wLetI zKVh9-Q*1;sr?CeyPgN>VM#nZ?b?D>kRv3&FXb@0sM>wT6JT2DPD{5O9p=JD87}f2k zD<zVX)f+$c&9~tZcxYXR#q)-M2d>zIgM%tc1!;PTv&4EAbbr4#xRu*idu^4M2N|bO zj9N>dde0O0Dv8%1KGNEDyt?$y!a}~%Gp-f31Q{E8o7SdP#ViYVa8w0-J~;e(`uhHQ zdCOpOjWi%bf1y5{Zca=DU@O2fo(~WId8&T~v~i7vZIff~x%e1kmk$5N^V07V#;}cZ zBCqKWdl^wGveFWtGW;@Fj$6WSZ~fzA=d;KrO#CxwCy`t0w(%Oy&CBU|Ux^vJ(4=Ix z3a;KCzH2emu5?WV)WC8=TT2TiF78wl(5ChHjz%hv#fc$5@$g5b3NlU|6Wlikk&+g8 z-YgxAKss_)EPkg_DGInOjZ1g>USLyVtU^O@)8axr0*!YNR8*!(q(oI(Dj~ase7SP` z^|Qi*kPXctbLJn8Cqi$i+KD<hqn;?}qpoL_pE-SM1`sn)G-yHl&u<ZteFGB98~LVK z7mKFMG#d=TA}ly~87R3>atH(C30Nz}<8!ZHe>9$`53`lzKoCy3z9Xfzq(r~ky3-zL zA0OsE^gNjYfYQS8Y5{%qY0btkiOK7HBgM1T%<?#{BqS30JX2(@1yJ$q&M>0B{@VB1 zdkcdVn%j~<`Eq`F?5QSwhddfMk*c=AfV6INt@Z|Vg_TtrFe1g1Q1<CpkKBsX5hcge zIF$8H?3ogoe*HP&bk3at3o9F%JaQL}NRm+C=cI@AEyo;YH%jk+8F7WzQ^-x{)9+1T zk-iZvh6>8fIsD&WbHWqEBluUsPSELvv)|!v4OU=1AWH<EcJ;*_aj));miv#lgHbrP zU(3{r)$tkBIugyGGkigd7gl@WXN%o3mx+(9P?HrM-^>sapC1MLVkiNebazL!m~*HH zWTi=I9uk*4vc&@NY?u0<%fpZghqFB=UG2k!gU6&f=AP0Mo=Y%U%9yrIig`@hl9@~5 zbw=iGCb}PqmvSRk9qU-%KGrNP4S9K6&h4xJ+>v1U7!pX<*3jEuf4k;(ZEgF?BTyrQ z?r%d!WT0=Tum7jt7-{;Oe;!cnpwdP{-f=4s^cv&ZwoG<)%r;hVXBYbm7R@@Cf}617 zBTgei<?Fm5(tTo=l>LeiT;)G$Jh}UJnz)L*&3;?sYk?SvscVGxVpp_ut<0F;eawi* z@mIk6>+742k(XP2mJ|*No)JhGjf^~k>=jsfw&1iLBfsoAH+s;VO;Vn^Z>x61qBmk` zVg5{To?e*9X8tQ6>m+i?&Ai&ET^T)B<+mnwY}SWT?U?wljdac<u%L$<ax8}`GEkL& zFaa;vq3g8zX*|2giX@z0>8c<;Z_BNhKrINFIz_zQ84Z(%LEZxBS=Z(q!9<oq{~9SI z55~e_VH>l1MTi5vAHZ0Vk@dZAN+o!4ub_J$N{6<B8-5w%hBzEWWRFn<GM8ye_NN;q z)69R+s#md`No^~#7<U^tuG>*cYp>fyHt~nAl6$PGd%5cQiCXdFL+hqUydcX7s}$h1 zh0$9~*q1SRZGbjlMfM(kG8xbp917J?Mulxq(1RjRXxQ3lSoiha9SwY~qem<gQAzRf z@nCZ5_MWh-W#j9%8$mWnc&zE3pqs#ZjXej|#&&sT11uzX;qAuJ9U1~>P^iE`O}&WR zg}p;*Gm@${Xt%YJCaJ6_m0Mz_`G@(QyY*D=Oz8xN?mE5*JdeKclN|7&kSDS(;g_M0 z?oGh#-7Qb@KnWre(~{Ne;O)30YXi{>-8VBQ-adlW5v&1WO!pr=aEXUL1@Gbcg#{r# zFR`jhqX-F^nFqyDnbx6pH%>b}Y!z(wyL8|zMyan|5jDkgTJuKLV&xyS<af!Hea9xH zP`Hn?;S8k=h1H43d1;e9qbq1@bYW~1hovssOSAI4Koya9KXpp=N*5rEet_hVCN1DH zp_}MEMA0%z*anD@;n$I3yc74y<TSM_qCG$NYv(=1##RPS<s^=W&z(;CjSbV+jjHjh z?>ztkBzfaOy4es}$luRiAv?mQ`^y(Cno^d<dk|}UV4VdQ$f~M9AYwUNe9%3TPl2-2 zzrf#c;OEZ^&?mP#BL8awY&o7zUcPe6&VHEoSS)7eMOVCB++L@Ob0Ds<NOkDoL`U6C zFY*MHSo9}gUD=lJ$E*s}P??ib`!9Fz-c~9zx}+5KntyXt{%n*a_RKi))9+E^H>EI- z=J7%|U(PP(lAHaQw!+VEkhyz4T|^dCs!6u+`<;*IlhKvsXStF+J5iT2k-W0B&3?3p zx!%KK3~7tA+(E>_<DGhHJ+2m%0x&?@ghKg@e6OIDsAgGE$;hJZhe(QrnWBceyOiqf z_|s<eSy#t^ssi4-aEA8w_5zo7qx(-GTCE3`tad>8L9<(3@jaE!(eo2sSKy2*-*NJB z?bm&y0f*};*Sg%)dX5DJp4F*xHtOkmaS}QYs;{2*b)taQ3XjLbdE#gdasj$!f6z~; z#Ut~9QUOcVuglAo-BrIo9J#utUCiuT@N7*BR^J;J<)SDlYwLQMUy6#1mTc-=5!lYp zGf2<!6+ELFp`lu(L(A`$Ifn|J6UE^6DKRZgvC;QbIQMucgvV5Io#J%9=QfS2Q4KNs zA`#+W5CcKp!@<A*_UbIoQkV^VGudeOppj(Wh2gca^FOA}{}_`GuYpRj>IMY))Tt7V z2|K@e?q(X9739mMz84$uzNun!LHS&BlEHW6kGDHh%s1p`mO&aBP{0I{EGFV-+GBTd zd4nH67tZI2K6_O^9p|)8g-&5Nw=~h?8Apr{U4?XZT-&({w9XgT3OEwRSYUsOUnBu( zydJodrQ^CO=C))#L&M!Ebs~8}StiWu3E{pz0yYxA#*|%6I3~Q)zm(R6*x9m-Ug`Fl zB+3WBl56*kWIi2YKBE=YIR!chjBanu?p`uW|D(aE4{C+k+LQ72QHR9$FLt*I*oxiA zm$;^qjOA+;-W{{>r@@K>CxR}Pu@L$e+KAylA#HlS#|;v^+VP*SpLq+?`#RS)5p2qa z)7`|i!>xyRAmeYQMTvHIr@Bf>l5xsWhb=XE*;bHnP}bBp%maw?iOQRsFM;#2YrHh) zrRz(rInY8t;^WAExqZg@%Za9U=jN)t3%OjA&Y<lQ|LUErd{bqNaeSfm^ea*+IvJQg zUOM`EdVmBeq0-|aF-2Bs0>Ul6*xBVm^KQ{#ojw6Xn+RbOa_^+W?cO{M(JQVfEYi=w zqjBpU3m-RuTdC<x%-9G|5z0Alkr*+<=F>WH#2|{-ey1WXU$Jqrk6tN7il)9>%N-x| z)4>&`Z4X25$$z+*T~X%jDLA{=HjT%8v)6AS&czlMkw--xf-`+1iWIC>qK+OWtJg2e z9YD7WNKny?SWujaHgyw?NMxup{ej+0Mv^iKst+TcT43qgmVS-)GI^ps)%mJles>~A z3a5~8(;0`bkl{*@psL84wmCQp2PCJ$wYtqhvo*ZofN8@@Gg{#HmBqJ@zTYG9@7U@f zD=kfp+O4DUz@|(fP&Is6m8lIBX#GETVpDhwV#-MO`<6|SqS5^AnH1gj8*`g)9^@D& z;sq+dD=cjy*@n)uX|b~Ox0|RKj7`0WZFcL59>ZpIxt32HX<(#y*X^~SklO*CCbXzV z({;W?n#ZA?(JC%TKzw8&%*qMK_Q4gh7H-wuOr<bh!9qB4en&xcij<{{rmE7|cB=w~ zLp|bKl)p%pqi+?t%P4h(H^?Ff$C{Y5+~qpg;&Lf5?23)2Qh?33hzs&HK0h5Z64t|? zFa7$g8g_(5*OZ<)g*o?hg=+xq5DPJQG3lLAl21-oBkJET@!#^Kn9-@H_l&ExU;P<< z$575<plj6nX-QqnRf-(RMqsV%o2|{><9;V*>}-~+RA&vo{1SSEdaJ(re(_3b`L_!v zg?hNZgxIP#Y`CBKg%AjY63f(<<>ta-5*YzZ_<<nc@Y?D)ZFNl?4TmS<Hy(R%1R@US zJKs0^j~%>y-8|hx|NkB2syu99hix10zzp$pCz3o_ffQzdwTri(7ZahYrm*plnlso9 zQJBA@Okfl=Pw&4*Ld0nk3HucAnj61p?(>QQY9RuF{yW$dUiXl<%SomM)8{111EHmj zmwgqW2QgdzZ;Xwn8-!>Qbewj*>xPic{|Gti?jFcw!Jng*d6Liro8|wp`4}@G(9_ok zp#_81#{KoJrN?+Fyb7Vxe~13>!RQk7^a?sl|M5=$+5Xo+_7V085-Wd$%?f|-PVw+% z`Fb;10iKLQJ}hQ{UjUQk!rFLWLP7lHJrFDVckExsapQ<mJVTgX2+dnETR9N1<9{N2 z-C1W`0+<Lt7f&CSh7XgaprwJ+&_+3!Jc2-pjX+NZgUImp3k~o*>A^ynk*XeykHR*o z|88?*1~LLX{r)os24OY3Y2(oR=g4jB>FweZ<nF>?1qCnz5DY?vywFY9jQa1+@DYK5 WF$jqxKdj+-#39ooCS@e&sDA@d(9%@^ literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-57x57.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-57x57.png new file mode 100644 index 0000000000000000000000000000000000000000..d3b682c817a1ead3ee90f230f73e70e75820eb0d GIT binary patch literal 7933 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 ZkcvQp;n2wwheptI;D&~tIuT<N{Xb!im^J_a literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-60x60.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-60x60.png new file mode 100644 index 0000000000000000000000000000000000000000..15752238c076053a4b531ff1ec3792089c561206 GIT binary patch literal 8684 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 ast7nStW4s>pW9$Nps#&Xs|<DT;r{?kqc*hw literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-72x72.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-72x72.png new file mode 100644 index 0000000000000000000000000000000000000000..8bcbe3412b6005bbf74aa4b9de83254fae2ac1ac GIT binary patch literal 11838 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 U*y&Sk@I0U-|5UCFWg7Co0GGX_asU7T literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-76x76.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-76x76.png new file mode 100644 index 0000000000000000000000000000000000000000..89d384c66c2bd40eef877d287214c7662b4574f3 GIT binary patch literal 13014 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 Pu0!g|ca_S~kAnXf+#=)n literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-precomposed.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-precomposed.png new file mode 100644 index 0000000000000000000000000000000000000000..cc1174983837b6ee3e029067a9eea2f131c1a3c7 GIT binary patch literal 65745 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䨊YI4S&@?64^hya6dx7l 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 VMBKMSBlvrQYihcxIA!b5{{glxiqil9 literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b5bad5896f6cd423e01842d33591cf8d77a97353 GIT binary patch literal 60935 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 WF$jqxKdj+-#39ooCS@e&sDA@d(9%@^ literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/base.html b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/base.html new file mode 100644 index 0000000..9f932f9 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/base.html @@ -0,0 +1,74 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + {% if page_description %}<meta name="description" content="{{ page_description }}">{% endif %} + {% if site_author %}<meta name="author" content="{{ site_author }}">{% endif %} + {% if canonical_url %}<link rel="canonical" href="{{ canonical_url }}">{% endif %} + <link rel="apple-touch-icon" sizes="57x57" href="/apple-touch-icon-57x57.png"> + <link rel="apple-touch-icon" sizes="114x114" href="/apple-touch-icon-114x114.png"> + <link rel="apple-touch-icon" sizes="72x72" href="/apple-touch-icon-72x72.png"> + <link rel="apple-touch-icon" sizes="144x144" href="/apple-touch-icon-144x144.png"> + <link rel="apple-touch-icon" sizes="60x60" href="/apple-touch-icon-60x60.png"> + <link rel="apple-touch-icon" sizes="120x120" href="/apple-touch-icon-120x120.png"> + <link rel="apple-touch-icon" sizes="76x76" href="/apple-touch-icon-76x76.png"> + <link rel="apple-touch-icon" sizes="152x152" href="/apple-touch-icon-152x152.png"> + <link rel="icon" type="image/png" href="/favicon-196x196.png" sizes="196x196"> + <link rel="icon" type="image/png" href="/favicon-160x160.png" sizes="160x160"> + <link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96"> + <link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16"> + <link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32"> + <meta name="msapplication-TileColor" content="#2b5797"> + <meta name="msapplication-TileImage" content="/mstile-144x144.png"> + + <title>{{ page_title }}</title> + + <link rel="stylesheet" type="text/css" media="screen" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" /> + <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css"> + <link href="{{ base_url }}/css/prettify-1.0.css" rel="stylesheet"> + <link href="{{ base_url }}/css/base.css" rel="stylesheet"> + {%- for path in extra_css %} + <link href="{{ path }}" rel="stylesheet"> + {%- endfor %} + + <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> + <!--[if lt IE 9]> + <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> + <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script> + <![endif]--> + <script type="text/javascript" src="//code.jquery.com/jquery-2.1.1.min.js"></script> + <script type="text/javascript" src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script> + {%- for path in extra_javascript %} + <script src="{{ path }}"></script> + {%- endfor %} + </head> + + <body> + + {% include "nav.html" %} + + <div class="container"> + <div class="row"> + <div class="col-md-3">{% include "toc.html" %}</div> + <div class="col-md-9" role="main">{% include "content.html" %}</div> + </div> + </div> + + {% if include_search %}{% include "search.html" %}{% endif %} + + <script src="{{ base_url }}/js/prettify-1.0.min.js"></script> + <script src="{{ base_url }}/js/base.js"></script> + <script> + if (top != self) { top.location.replace(self.location.href); } + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); + + ga('create', 'UA-47462200-1', 'eonasdan.github.io'); + ga('send', 'pageview'); + </script> + </body> +</html> diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/browserconfig.xml b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/browserconfig.xml new file mode 100644 index 0000000..fe44cae --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/browserconfig.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<browserconfig> + <msapplication> + <tile> + <square70x70logo src="/mstile-70x70.png"/> + <square150x150logo src="/mstile-150x150.png"/> + <square310x310logo src="/mstile-310x310.png"/> + <wide310x150logo src="/mstile-310x150.png"/> + <TileColor>#da532c</TileColor> + </tile> + </msapplication> +</browserconfig> diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/content.html b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/content.html new file mode 100644 index 0000000..a372658 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/content.html @@ -0,0 +1,9 @@ +{% if meta.source %} +<div class="source-links"> +{% for filename in meta.source %} + <span class="label label-primary">{{ filename }}</span> +{% endfor %} +</div> +{% endif %} + +{{ content }} diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/css/base.css b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/css/base.css new file mode 100644 index 0000000..7c063eb --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/css/base.css @@ -0,0 +1,107 @@ +body { + padding-top: 70px; +} + +ul.nav li.main { + font-weight: bold; +} + +div.col-md-3 { + padding-left: 0; +} + +div.source-links { + float: right; +} + +/* + * Side navigation + * + * Scrollspy and affixed enhanced navigation to highlight sections and secondary + * sections of docs content. + */ + +/* By default it's not affixed in mobile views, so undo that */ +.bs-sidebar { + overflow-y: scroll; + max-height: 86%; + overflow-x: hidden; +} + +.bs-sidebar.affix { + position: static; +} + +.bs-sidebar.well { + padding: 0; +} + +/* First level of nav */ +.bs-sidenav { + margin-top: 30px; + margin-bottom: 30px; + padding-top: 10px; + padding-bottom: 10px; + border-radius: 5px; +} + +/* All levels of nav */ +.bs-sidebar .nav > li > a { + display: block; + padding: 5px 20px; +} +.bs-sidebar .nav > li > a:hover, +.bs-sidebar .nav > li > a:focus { + text-decoration: none; + border-right: 1px solid; +} +.bs-sidebar .nav > .active > a, +.bs-sidebar .nav > .active:hover > a, +.bs-sidebar .nav > .active:focus > a { + font-weight: bold; + background-color: transparent; + border-right: 1px solid; +} + +/* Nav: second level (shown on .active) */ +.bs-sidebar .nav .nav { + display: none; /* Hide by default, but at >768px, show it */ + margin-bottom: 8px; +} +.bs-sidebar .nav .nav > li > a { + padding-top: 3px; + padding-bottom: 3px; + padding-left: 30px; + font-size: 90%; +} + +/* Show and affix the side nav when space allows it */ +@media (min-width: 992px) { + .bs-sidebar .nav > .active > ul { + display: block; + } + /* Widen the fixed sidebar */ + .bs-sidebar.affix, + .bs-sidebar.affix-bottom { + width: 213px; + } + .bs-sidebar.affix { + position: fixed; /* Undo the static from mobile first approach */ + top: 80px; + } + .bs-sidebar.affix-bottom { + position: absolute; /* Undo the static from mobile first approach */ + } + .bs-sidebar.affix-bottom .bs-sidenav, + .bs-sidebar.affix .bs-sidenav { + margin-top: 0; + margin-bottom: 0; + } +} +@media (min-width: 1200px) { + /* Widen the fixed sidebar again */ + .bs-sidebar.affix-bottom, + .bs-sidebar.affix { + width: 263px; + } +} \ No newline at end of file diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/css/prettify-1.0.css b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/css/prettify-1.0.css new file mode 100644 index 0000000..e0df245 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/css/prettify-1.0.css @@ -0,0 +1,28 @@ +.com { color: #93a1a1; } +.lit { color: #195f91; } +.pun, .opn, .clo { color: #93a1a1; } +.fun { color: #dc322f; } +.str, .atv { color: #D14; } +.kwd, .prettyprint .tag { color: #1e347b; } +.typ, .atn, .dec, .var { color: teal; } +.pln { color: #48484c; } + +.prettyprint { + padding: 8px; +} +.prettyprint.linenums { + -webkit-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; + -moz-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; + box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; +} + +/* Specify class=linenums on a pre to get line numbering */ +ol.linenums { + margin: 0 0 0 33px; /* IE indents via margin-left */ +} +ol.linenums li { + padding-left: 12px; + color: #bebec5; + line-height: 20px; + text-shadow: 0 1px 0 #fff; +} diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon-16x16.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..b8a87bbeb13636cbc86e7132944ea399f2e5ceeb GIT binary patch literal 1433 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QK$!8;-MT+OLG}_)Usv|~ta6Op+)8x^KQS;ct?_hm4AD5R zIw{&;Dq6x}fBt((J!2jb35hKVi;i+f%`U!l>{`W>klf@;^>@^24OaHnW+cxxIT)?4 zP{hY~B5ls^GuPSgUq4k9`Qy<~J_Z3n1+AAQYKx87r2Wm-Ro%_|9@U|#1a!56lHkXv zt$qwFE(~k0efnk}y_5ZB&At_BTcWmR&06-@;`^7q$5vmh@|kjVOKWRom*@4*J%!gl zHXB^<Zk-h8p(5<^WY@h~M=zBpy}e)4iUWOg&VN5_z@*URFwL;*(9T~mX4ALI-)ufu zKflkOS;5}I;>MjnzptNvmto?iqI%4LgXvg=)mkGpcE<@`s)82{c+P)cY>=c}Y$Lkv zd283I6|01f8!`m&Y|^<OdG2h1PD?`1%w;>bZjD?yW$DzbqD=;qJ$L0D*xAz2wMe2( zu|;EQ@V2)_=W6VoJPOXK2_N)Qom(sy9CM}EfBs+9)1S`xJiWSl@A3ZY+qcKB$U3z# z_n60|3)^H}rdZAOTYXh&(X&gBZr#dq@>`Yl>&u$tNI$n=iN`l%rg6yJE|u};I9Pl$ zY4z4MtGeF*bl9=&-lp8wf8HE_`Tg8=ef2q?f4V(>mUhDO_1AUh&g)lhjCfc2`|MKp zjtstk<+{(y-@khC;qb?c?%7KJ?%tlu@o?9=RV&=(`*LqjlSn@N@WYcQ(Q(1`bLYjM zIsbm2<%$rkvs0Ju{X5-JLS9ZTYt}J|?>6&0mi+G4tN&NG_xioN_vcqyXsa)oTXwr_ zS)t7AXKNQNX+J!>JpX=wem>)b^XINfEPDSlP(*LNj-=bpfHT4eL)Yi``CK-6{)+$i z--8uKrl(SMmjmOx&*MZ!N}s-dT|{~Ly4P)WPj=p`u(`G=Yw<;mCtt5VP1|d>dxJ&$ zdGqa$X9!F*baUxgF#Stc;Ky2jebHNQ=WYtzwCr2y{(9RTe#@TN=Nt<Eswh_}229GT zC9V-ADTyViR>?)FK#IZ0z|d6Jz*N`RAjH7X$`FLK4UDV|4D#Pyc#WbVH$NpatrE8e zxy>2jKn+qL8&WGW)2y5_ONs+hi-Hq#3vyB!EOZn=Na(GdI#87&T$KyZ6(O0q5SLgP zm|7W`D;OGs7{=x~O_Bvb#S(DEu0V4=a}(23eNyw%OEMTtObx}Z6<Gq+h-0b=&rAU- zF*Y)bSAKK~s6-e=iGNyJacT+BJ0>&IjZOol<x!-=Qj3Z+^Ya)?fQ~jbfM65L<SU#% zfJ#N+N|7C7VPt8!=)@Wno51oAhnO3gvsrDD21+ZywFhM6m*nTBmK0?sd*+p-78Mkw zmL!&d>@`}{)2R(qD+X5!2}e+f24q&G<}es97nNKJR3VE{k)Kvlo>-L1P>`6JSE84f zTB2a0XP{@w6XUWMs89f;Ff%#XDmlNPvM4h>qlCfDY4g^{_knUkFu9b};^d;t0<asB zjeg8J2nrf-$bod`Cgzo<B_@}Y7Nr(3BpYp%XI}!8=7DJjCJ~^+l8yTA{s{((GkCiC KxvX<aXaWGcrb!q8 literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon-32x32.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..88eff99a18a817c83338975547cb79cb1ed1e10b GIT binary patch literal 3187 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 literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon-96x96.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon-96x96.png new file mode 100644 index 0000000000000000000000000000000000000000..7b1fafe26b2fe3c87165c6fa20b0e208bfaac481 GIT binary patch literal 19482 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 literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon.ico b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..b8e6d01c1c8aa92a3b4d5396e077b73560d14dda GIT binary patch literal 12014 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 K|M<^Lf&UA*2m0&) literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/js/base.js b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/js/base.js new file mode 100644 index 0000000..c99cce7 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/js/base.js @@ -0,0 +1,52 @@ + +/* Prettyify */ +$( document ).ready(function() { + prettyPrint(); +}); + + +/* Scrollspy */ +var navHeight = $('.navbar').outerHeight(true) + 10 + +$('body').scrollspy({ + target: '.bs-sidebar', + offset: navHeight +}) + + +/* Prevent disabled links from causing a page reload */ +$("li.disabled a").click(function() { + event.preventDefault(); +}); + + +/* Adjust the scroll height of anchors to compensate for the fixed navbar */ +window.disableShift = false; +var shiftWindow = function() { + if (window.disableShift) { + window.disableShift = false; + } else { + /* If we're at the bottom of the page, don't erronously scroll up */ + var scrolledToBottomOfPage = ( + (window.innerHeight + window.scrollY) >= document.body.offsetHeight + ); + if (!scrolledToBottomOfPage) { + scrollBy(0, -60); + }; + }; +}; +if (location.hash) {shiftWindow();} +window.addEventListener("hashchange", shiftWindow); + + +/* Deal with clicks on nav links that do not change the current anchor link. */ +$("ul.nav a" ).click(function() { + var href = this.href; + var suffix = location.hash; + var matchesCurrentHash = (href.indexOf(suffix, href.length - suffix.length) !== -1); + if (location.hash && matchesCurrentHash) { + /* Force a single 'hashchange' event to occur after the click event */ + window.disableShift = true; + location.hash=''; + }; +}); diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/js/prettify-1.0.min.js b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/js/prettify-1.0.min.js new file mode 100644 index 0000000..eef5ad7 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/js/prettify-1.0.min.js @@ -0,0 +1,28 @@ +var q=null;window.PR_SHOULD_USE_CONTINUATION=!0; +(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a= +[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c<i;++c){var j=f[c];if(/\\[bdsw]/i.test(j))a.push(j);else{var j=m(j),d;c+2<i&&"-"===f[c+1]?(d=m(f[c+2]),c+=2):d=j;b.push([j,d]);d<65||j>122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;c<b.length;++c)i=b[c],i[0]<=j[1]+1?j[1]=Math.max(j[1],i[1]):f.push(j=i);b=["["];o&&b.push("^");b.push.apply(b,a);for(c=0;c< +f.length;++c)i=f[c],b.push(e(i[0])),i[1]>i[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c<b;++c){var j=f[c];j==="("?++i:"\\"===j.charAt(0)&&(j=+j.substring(1))&&j<=i&&(d[j]=-1)}for(c=1;c<d.length;++c)-1===d[c]&&(d[c]=++t);for(i=c=0;c<b;++c)j=f[c],j==="("?(++i,d[i]===void 0&&(f[c]="(?:")):"\\"===j.charAt(0)&& +(j=+j.substring(1))&&j<=i&&(f[c]="\\"+d[i]);for(i=c=0;c<b;++c)"^"===f[c]&&"^"!==f[c+1]&&(f[c]="");if(a.ignoreCase&&s)for(c=0;c<b;++c)j=f[c],a=j.charAt(0),j.length>=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p<d;++p){var g=a[p];if(g.ignoreCase)l=!0;else if(/[a-z]/i.test(g.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){s=!0;l=!1;break}}for(var r= +{b:8,t:9,n:10,v:11,f:12,r:13},n=[],p=0,d=a.length;p<d;++p){g=a[p];if(g.global||g.multiline)throw Error(""+g);n.push("(?:"+y(g)+")")}return RegExp(n.join("|"),l?"gi":"g")}function M(a){function m(a){switch(a.nodeType){case 1:if(e.test(a.className))break;for(var g=a.firstChild;g;g=g.nextSibling)m(g);g=a.nodeName;if("BR"===g||"LI"===g)h[s]="\n",t[s<<1]=y++,t[s++<<1|1]=a;break;case 3:case 4:g=a.nodeValue,g.length&&(g=p?g.replace(/\r\n?/g,"\n"):g.replace(/[\t\n\r ]+/g," "),h[s]=g,t[s<<1]=y,y+=g.length, +t[s++<<1|1]=a)}}var e=/(?:^|\s)nocode(?:\s|$)/,h=[],y=0,t=[],s=0,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=document.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);m(a);return{a:h.join("").replace(/\n$/,""),c:t}}function B(a,m,e,h){m&&(a={a:m,d:a},e(a),h.push.apply(h,a.e))}function x(a,m){function e(a){for(var l=a.d,p=[l,"pln"],d=0,g=a.a.match(y)||[],r={},n=0,z=g.length;n<z;++n){var f=g[n],b=r[f],o=void 0,c;if(typeof b=== +"string")c=!1;else{var i=h[f.charAt(0)];if(i)o=f.match(i[1]),b=i[0];else{for(c=0;c<t;++c)if(i=m[c],o=f.match(i[1])){b=i[0];break}o||(b="pln")}if((c=b.length>=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m), +l=[],p={},d=0,g=e.length;d<g;++d){var r=e[d],n=r[3];if(n)for(var k=n.length;--k>=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, +q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/, +q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g, +"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a), +a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e} +for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g<d.length;++g)e(d[g]);m===(m|0)&&d[0].setAttribute("value", +m);var r=s.createElement("OL");r.className="linenums";for(var n=Math.max(0,m-1|0)||0,g=0,z=d.length;g<z;++g)l=d[g],l.className="L"+(g+n)%10,l.firstChild||l.appendChild(s.createTextNode("\xa0")),r.appendChild(l);a.appendChild(r)}function k(a,m){for(var e=m.length;--e>=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*</.test(m)?"default-markup":"default-code";return A[a]}function E(a){var m= +a.g;try{var e=M(a.h),h=e.a;a.a=h;a.c=e.c;a.d=0;C(m,h)(a);var k=/\bMSIE\b/.test(navigator.userAgent),m=/\n/g,t=a.a,s=t.length,e=0,l=a.c,p=l.length,h=0,d=a.e,g=d.length,a=0;d[g]=s;var r,n;for(n=r=0;n<g;)d[n]!==d[n+2]?(d[r++]=d[n++],d[r++]=d[n++]):n+=2;g=r;for(n=r=0;n<g;){for(var z=d[n],f=d[n+1],b=n+2;b+2<=g&&d[b+1]===f;)b+=2;d[r++]=z;d[r++]=f;n=b}for(d.length=r;h<p;){var o=l[h+2]||s,c=d[a+2]||s,b=Math.min(o,c),i=l[h+1],j;if(i.nodeType!==1&&(j=t.substring(e,b))){k&&(j=j.replace(m,"\r"));i.nodeValue= +j;var u=i.ownerDocument,v=u.createElement("SPAN");v.className=d[a+1];var x=i.parentNode;x.replaceChild(v,i);v.appendChild(i);e<o&&(l[h+1]=i=u.createTextNode(t.substring(b,o)),x.insertBefore(i,v.nextSibling))}e=b;e>=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], +"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"], +H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"], +J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+ +I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]), +["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css", +/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}), +["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes", +hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p<h.length&&l.now()<e;p++){var n=h[p],k=n.className;if(k.indexOf("prettyprint")>=0){var k=k.match(g),f,b;if(b= +!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p<h.length?setTimeout(m, +250):a&&a()}for(var e=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],h=[],k=0;k<e.length;++k)for(var t=0,s=e[k].length;t<s;++t)h.push(e[k][t]);var e=q,l=Date;l.now||(l={now:function(){return+new Date}});var p=0,d,g=/\blang(?:uage)?-([\w.]+)(?!\S)/;m()};window.PR={createSimpleLexer:x,registerLangHandler:k,sourceDecorator:u,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit", +PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ"}})(); diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/manifest.json b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/manifest.json new file mode 100644 index 0000000..73c8255 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/manifest.json @@ -0,0 +1,41 @@ +{ + "name": "Eonasdan.com", + "icons": [ + { + "src": "\/android-chrome-36x36.png", + "sizes": "36x36", + "type": "image\/png", + "density": "0.75" + }, + { + "src": "\/android-chrome-48x48.png", + "sizes": "48x48", + "type": "image\/png", + "density": "1.0" + }, + { + "src": "\/android-chrome-72x72.png", + "sizes": "72x72", + "type": "image\/png", + "density": "1.5" + }, + { + "src": "\/android-chrome-96x96.png", + "sizes": "96x96", + "type": "image\/png", + "density": "2.0" + }, + { + "src": "\/android-chrome-144x144.png", + "sizes": "144x144", + "type": "image\/png", + "density": "3.0" + }, + { + "src": "\/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image\/png", + "density": "4.0" + } + ] +} diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-144x144.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..20647d7f275ef0dcd21e7ff1e6fd4d5e263e7f41 GIT binary patch literal 42796 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 QaKS!({6*bz?JME`1L!6WF#rGn literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-150x150.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..b728b98813f61797e292069f5bcd3061c6b7fe51 GIT binary patch literal 36570 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 LS-M2ZB;fx7R_i^c literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-310x150.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-310x150.png new file mode 100644 index 0000000000000000000000000000000000000000..b8bf4925654e2ebd27cab94b6c973c18cd6a18c8 GIT binary patch literal 38916 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 literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-310x310.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-310x310.png new file mode 100644 index 0000000000000000000000000000000000000000..649ffa1aac3b94606f0be1fd428d230a8e4bf569 GIT binary patch literal 144673 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%0D8)fMZ?9WPSp00wVK;5v79x52VSj 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 literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-70x70.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-70x70.png new file mode 100644 index 0000000000000000000000000000000000000000..d76ae36755c0da9606824a04378b0c227277b043 GIT binary patch literal 21052 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 Sg4N)HJr+nSv(oc!G5-OUnMQvA literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/nav.html b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/nav.html new file mode 100644 index 0000000..0c5c26b --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/nav.html @@ -0,0 +1,76 @@ +<div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + + <!-- Collapsed navigation --> + <div class="navbar-header"> + <!-- Expander button --> + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + + <!-- Main title --> + <a class="navbar-brand" href="{{ homepage_url }}">{{ site_name }}</a> + </div> + + <!-- Expanded navigation --> + <div class="navbar-collapse collapse"> + <!-- Main navigation --> + <ul class="nav navbar-nav"> + {% for nav_item in nav %} + {% if nav_item.children %} + <li class="dropdown{% if nav_item.active %} active{% endif %}"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{ nav_item.title }} <b class="caret"></b></a> + <ul class="dropdown-menu"> + {% for nav_item in nav_item.children %} + <li {% if nav_item.active %}class="active"{% endif %}> + <a href="{{ nav_item.url }}">{{ nav_item.title }}</a> + </li> + {% endfor %} + </ul> + </li> + {% else %} + <li {% if nav_item.active %}class="active"{% endif %}> + <a href="{{ nav_item.url }}">{{ nav_item.title }}</a> + </li> + {% endif %} + {% endfor %} + </ul> + + <!-- Search, Navigation and Repo links --> + <ul class="nav navbar-nav navbar-right"> + {% if include_search %} + <li> + <a href="#searchModal" data-toggle="modal"><i class="fa fa-search"></i> Search</a> + </li> + {% endif %} + {% if false %} + <li {% if not previous_page %}class="disabled"{% endif %}> + <a rel="next" {% if previous_page %}href="{{ previous_page.url }}"{% endif %}> + <i class="fa fa-arrow-left"></i> Previous + </a> + </li> + <li {% if not next_page %}class="disabled"{% endif %}> + <a rel="prev" {% if next_page %}href="{{ next_page.url }}"{% endif %}> + Next <i class="fa fa-arrow-right"></i> + </a> + </li> + {% endif %} + {% if repo_url %} + <li> + <a href="{{ repo_url }}"> + {% if repo_name == 'GitHub' %} + <i class="fa fa-github"></i> + {% elif repo_name == 'Bitbucket' %} + <i class="fa fa-bitbucket"></i> + {% endif %} + {{ repo_name }} + </a> + </li> + {% endif %} + </ul> + </div> + </div> +</div> diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/toc.html b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/toc.html new file mode 100644 index 0000000..bb8fdcd --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/toc.html @@ -0,0 +1,10 @@ +<div class="bs-sidebar hidden-print affix well" role="complementary"> + <ul class="nav bs-sidenav"> + {% for toc_item in toc %} + <li class="main {% if toc_item.active %}active{% endif %}"><a href="{{ toc_item.url }}">{{ toc_item.title }}</a></li> + {% for toc_item in toc_item.children %} + <li><a href="{{ toc_item.url }}">{{ toc_item.title }}</a></li> + {% endfor %} + {% endfor %} + </ul> +</div> diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/mkdocs.yml b/public/bower_components/eonasdan-bootstrap-datetimepicker/mkdocs.yml new file mode 100644 index 0000000..b83c6b8 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/mkdocs.yml @@ -0,0 +1,202 @@ +site_name: Bootstrap 3 Datepicker +theme_dir: docs/theme +extra_javascript: ['//cdnjs.cloudflare.com/ajax/libs/moment.js/2.9.0/moment-with-locales.js','//cdn.rawgit.com/Eonasdan/bootstrap-datetimepicker/e8bddc60e73c1ec2475f827be36e1957af72e2ea/src/js/bootstrap-datetimepicker.js'] +extra_css: ['//cdn.rawgit.com/Eonasdan/bootstrap-datetimepicker/e8bddc60e73c1ec2475f827be36e1957af72e2ea/build/css/bootstrap-datetimepicker.css'] +repo_url: https://github.com/Eonasdan/bootstrap-datetimepicker +pages: +- Usage: 'index.md' +- Installing: 'Installing.md' +- Functions: 'Functions.md' +- Options: 'Options.md' +- Events: 'Events.md' +- Change Log: 'Changelog.md' +- Dev Guide: 'ContributorsGuide.md' +- Extras: 'Extras.md' +- FAQs: 'FAQ.md' +- Issues: + - Issues: 'Issues/Index.md' + - 1014: 'Issues/1014.md' + - 1041: 'Issues/1041.md' + - 1045: 'Issues/1045.md' + - 1058: 'Issues/1058.md' + - 1059: 'Issues/1059.md' + - 1065: 'Issues/1065.md' + - 1073: 'Issues/1073.md' + - 1097: 'Issues/1097.md' + - 1126: 'Issues/1126.md' + - 1130: 'Issues/1130.md' + - 1132: 'Issues/1132.md' + - 1144: 'Issues/1144.md' + - 1154: 'Issues/1154.md' + - 1158: 'Issues/1158.md' + - 1170: 'Issues/1170.md' + - 1171: 'Issues/1171.md' + - 1173: 'Issues/1173.md' + - 1177: 'Issues/1177.md' + - 1180: 'Issues/1180.md' + - 1181: 'Issues/1181.md' + - 1185: 'Issues/1185.md' + - 1186: 'Issues/1186.md' + - 1189: 'Issues/1189.md' + - 1191: 'Issues/1191.md' + - 1195: 'Issues/1195.md' + - 1199: 'Issues/1199.md' + - 1211: 'Issues/1211.md' + - 1219: 'Issues/1219.md' + - 1224: 'Issues/1224.md' + - 1236: 'Issues/1236.md' + - 1238: 'Issues/1238.md' + - 1246: 'Issues/1246.md' + - 1247: 'Issues/1247.md' + - 1249: 'Issues/1249.md' + - 1250: 'Issues/1250.md' + - 1251: 'Issues/1251.md' + - 1257: 'Issues/1257.md' + - 1267: 'Issues/1267.md' + - 1270: 'Issues/1270.md' + - 1273: 'Issues/1273.md' + - 1276: 'Issues/1276.md' + - 1277: 'Issues/1277.md' + - 1278: 'Issues/1278.md' + - 1279: 'Issues/1279.md' + - 1285: 'Issues/1285.md' + - 1289: 'Issues/1289.md' + - 1290: 'Issues/1290.md' + - 1291: 'Issues/1291.md' + - 1294: 'Issues/1294.md' + - 1295: 'Issues/1295.md' + - 1297: 'Issues/1297.md' + - 1299: 'Issues/1299.md' + - 1300: 'Issues/1300.md' + - 1302: 'Issues/1302.md' + - 1303: 'Issues/1303.md' + - 1304: 'Issues/1304.md' + - 1307: 'Issues/1307.md' + - 1311: 'Issues/1311.md' + - 1313: 'Issues/1313.md' + - 1314: 'Issues/1314.md' + - 1318: 'Issues/1318.md' + - 1323: 'Issues/1323.md' + - 1324: 'Issues/1324.md' + - 1326: 'Issues/1326.md' + - 1328: 'Issues/1328.md' + - 1334: 'Issues/1334.md' + - 1337: 'Issues/1337.md' + - 1338: 'Issues/1338.md' + - 1339: 'Issues/1339.md' + - 1340: 'Issues/1340.md' + - 1341: 'Issues/1341.md' + - 1343: 'Issues/1343.md' + - 1344: 'Issues/1344.md' + - 1345: 'Issues/1345.md' + - 1346: 'Issues/1346.md' + - 1347: 'Issues/1347.md' + - 1349: 'Issues/1349.md' + - 1351: 'Issues/1351.md' + - 1353: 'Issues/1353.md' + - 1354: 'Issues/1354.md' + - 1355: 'Issues/1355.md' + - 1356: 'Issues/1356.md' + - 1357: 'Issues/1357.md' + - 1358: 'Issues/1358.md' + - 1359: 'Issues/1359.md' + - 1360: 'Issues/1360.md' + - 1361: 'Issues/1361.md' + - 1363: 'Issues/1363.md' + - 1364: 'Issues/1364.md' + - 1366: 'Issues/1366.md' + - 1368: 'Issues/1368.md' + - 1369: 'Issues/1369.md' + - 1371: 'Issues/1371.md' + - 1372: 'Issues/1372.md' + - 1374: 'Issues/1374.md' + - 1377: 'Issues/1377.md' + - 1379: 'Issues/1379.md' + - 1380: 'Issues/1380.md' + - 1383: 'Issues/1383.md' + - 1384: 'Issues/1384.md' + - 1386: 'Issues/1386.md' + - 1387: 'Issues/1387.md' + - 1395: 'Issues/1395.md' + - 1405: 'Issues/1405.md' + - 1408: 'Issues/1408.md' + - 1412: 'Issues/1412.md' + - 1413: 'Issues/1413.md' + - 1417: 'Issues/1417.md' + - 1422: 'Issues/1422.md' + - 1423: 'Issues/1423.md' + - 1426: 'Issues/1426.md' + - 1427: 'Issues/1427.md' + - 1428: 'Issues/1428.md' + - 1429: 'Issues/1429.md' + - 1430: 'Issues/1430.md' + - 1432: 'Issues/1432.md' + - 1433: 'Issues/1433.md' + - 1436: 'Issues/1436.md' + - 1438: 'Issues/1438.md' + - 1439: 'Issues/1439.md' + - 1441: 'Issues/1441.md' + - 1443: 'Issues/1443.md' + - 1444: 'Issues/1444.md' + - 1445: 'Issues/1445.md' + - 1446: 'Issues/1446.md' + - 1448: 'Issues/1448.md' + - 1449: 'Issues/1449.md' + - 1453: 'Issues/1453.md' + - 1454: 'Issues/1454.md' + - 1457: 'Issues/1457.md' + - 1459: 'Issues/1459.md' + - 1461: 'Issues/1461.md' + - 1462: 'Issues/1462.md' + - 1463: 'Issues/1463.md' + - 1465: 'Issues/1465.md' + - 1466: 'Issues/1466.md' + - 1469: 'Issues/1469.md' + - 1471: 'Issues/1471.md' + - 1474: 'Issues/1474.md' + - 1475: 'Issues/1475.md' + - 1477: 'Issues/1477.md' + - 1478: 'Issues/1478.md' + - 1479: 'Issues/1479.md' + - 1480: 'Issues/1480.md' + - 1483: 'Issues/1483.md' + - 1484: 'Issues/1484.md' + - 1485: 'Issues/1485.md' + - 1486: 'Issues/1486.md' + - 1489: 'Issues/1489.md' + - 1490: 'Issues/1490.md' + - 1491: 'Issues/1491.md' + - 1493: 'Issues/1493.md' + - 1494: 'Issues/1494.md' + - 1496: 'Issues/1496.md' + - 1498: 'Issues/1498.md' + - 1499: 'Issues/1499.md' + - 1505: 'Issues/1505.md' + - 1506: 'Issues/1506.md' + - 1507: 'Issues/1507.md' + - 1511: 'Issues/1511.md' + - 1512: 'Issues/1512.md' + - 1513: 'Issues/1513.md' + - 1514: 'Issues/1514.md' + - 1515: 'Issues/1515.md' + - 1516: 'Issues/1516.md' + - 1519: 'Issues/1519.md' + - 1520: 'Issues/1520.md' + - 1521: 'Issues/1521.md' + - 1522: 'Issues/1522.md' + - 1523: 'Issues/1523.md' + - 1524: 'Issues/1524.md' + - 1526: 'Issues/1526.md' + - 1527: 'Issues/1527.md' + - 1529: 'Issues/1529.md' + - 766: 'Issues/766.md' + - 790: 'Issues/790.md' + - 935: 'Issues/935.md' + - 943: 'Issues/943.md' + - 950: 'Issues/950.md' + - 957: 'Issues/957.md' + - 959: 'Issues/959.md' + - 982: 'Issues/982.md' + - 985: 'Issues/985.md' + - 993: 'Issues/993.md' + - 995: 'Issues/995.md' diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/package.json b/public/bower_components/eonasdan-bootstrap-datetimepicker/package.json new file mode 100644 index 0000000..171a372 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/package.json @@ -0,0 +1,51 @@ +{ + "author": { + "name": "Jonathan Peterson" + }, + "bugs": { + "url": "https://github.com/eonasdan/bootstrap-datetimepicker/issues" + }, + "peerDependencies": { + "bootstrap": "^3.3", + "jquery": "^1.8.3 || ^2.0 || ^3.0", + "moment": "^2.10", + "moment-timezone": "^0.4.0" + }, + "dependencies": { + "bootstrap": "^3.3", + "jquery": "^1.8.3 || ^2.0 || ^3.0", + "moment": "^2.10", + "moment-timezone": "^0.4.0" + }, + "description": "A date/time picker component designed to work with Bootstrap 3 and Momentjs. For usage, installation and demos see Project Site on GitHub", + "devDependencies": { + "grunt": "latest", + "grunt-contrib-connect": "^1.0.1", + "grunt-contrib-jasmine": "^1.0.3", + "grunt-contrib-jshint": "latest", + "grunt-contrib-less": "latest", + "grunt-contrib-uglify": "latest", + "grunt-env": "^0.4.4", + "grunt-jscs": "latest", + "grunt-nuget": "^0.1.5", + "grunt-string-replace": "latest", + "load-grunt-tasks": "latest" + }, + "homepage": "http://eonasdan.github.io/bootstrap-datetimepicker/", + "keywords": [ + "twitter-bootstrap", + "bootstrap", + "datepicker", + "datetimepicker", + "timepicker", + "moment" + ], + "license": "MIT", + "main": "src/js/bootstrap-datetimepicker.js", + "name": "eonasdan-bootstrap-datetimepicker", + "repository": { + "type": "git", + "url": "https://github.com/eonasdan/bootstrap-datetimepicker.git" + }, + "version": "4.17.47" +} diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.js b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.js new file mode 100644 index 0000000..8838cbc --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.js @@ -0,0 +1,2636 @@ +/*! version : 4.17.47 + ========================================================= + bootstrap-datetimejs + https://github.com/Eonasdan/bootstrap-datetimepicker + Copyright (c) 2015 Jonathan Peterson + ========================================================= + */ +/* + The MIT License (MIT) + + Copyright (c) 2015 Jonathan Peterson + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + */ +/*global define:false */ +/*global exports:false */ +/*global require:false */ +/*global jQuery:false */ +/*global moment:false */ +(function (factory) { + 'use strict'; + if (typeof define === 'function' && define.amd) { + // AMD is used - Register as an anonymous module. + define(['jquery', 'moment'], factory); + } else if (typeof exports === 'object') { + module.exports = factory(require('jquery'), require('moment')); + } else { + // Neither AMD nor CommonJS used. Use global variables. + if (typeof jQuery === 'undefined') { + throw 'bootstrap-datetimepicker requires jQuery to be loaded first'; + } + if (typeof moment === 'undefined') { + throw 'bootstrap-datetimepicker requires Moment.js to be loaded first'; + } + factory(jQuery, moment); + } +}(function ($, moment) { + 'use strict'; + if (!moment) { + throw new Error('bootstrap-datetimepicker requires Moment.js to be loaded first'); + } + + var dateTimePicker = function (element, options) { + var picker = {}, + date, + viewDate, + unset = true, + input, + component = false, + widget = false, + use24Hours, + minViewModeNumber = 0, + actualFormat, + parseFormats, + currentViewMode, + datePickerModes = [ + { + clsName: 'days', + navFnc: 'M', + navStep: 1 + }, + { + clsName: 'months', + navFnc: 'y', + navStep: 1 + }, + { + clsName: 'years', + navFnc: 'y', + navStep: 10 + }, + { + clsName: 'decades', + navFnc: 'y', + navStep: 100 + } + ], + viewModes = ['days', 'months', 'years', 'decades'], + verticalModes = ['top', 'bottom', 'auto'], + horizontalModes = ['left', 'right', 'auto'], + toolbarPlacements = ['default', 'top', 'bottom'], + keyMap = { + 'up': 38, + 38: 'up', + 'down': 40, + 40: 'down', + 'left': 37, + 37: 'left', + 'right': 39, + 39: 'right', + 'tab': 9, + 9: 'tab', + 'escape': 27, + 27: 'escape', + 'enter': 13, + 13: 'enter', + 'pageUp': 33, + 33: 'pageUp', + 'pageDown': 34, + 34: 'pageDown', + 'shift': 16, + 16: 'shift', + 'control': 17, + 17: 'control', + 'space': 32, + 32: 'space', + 't': 84, + 84: 't', + 'delete': 46, + 46: 'delete' + }, + keyState = {}, + + /******************************************************************************** + * + * Private functions + * + ********************************************************************************/ + + hasTimeZone = function () { + return moment.tz !== undefined && options.timeZone !== undefined && options.timeZone !== null && options.timeZone !== ''; + }, + + getMoment = function (d) { + var returnMoment; + + if (d === undefined || d === null) { + returnMoment = moment(); //TODO should this use format? and locale? + } else if (moment.isDate(d) || moment.isMoment(d)) { + // If the date that is passed in is already a Date() or moment() object, + // pass it directly to moment. + returnMoment = moment(d); + } else if (hasTimeZone()) { // There is a string to parse and a default time zone + // parse with the tz function which takes a default time zone if it is not in the format string + returnMoment = moment.tz(d, parseFormats, options.useStrict, options.timeZone); + } else { + returnMoment = moment(d, parseFormats, options.useStrict); + } + + if (hasTimeZone()) { + returnMoment.tz(options.timeZone); + } + + return returnMoment; + }, + + isEnabled = function (granularity) { + if (typeof granularity !== 'string' || granularity.length > 1) { + throw new TypeError('isEnabled expects a single character string parameter'); + } + switch (granularity) { + case 'y': + return actualFormat.indexOf('Y') !== -1; + case 'M': + return actualFormat.indexOf('M') !== -1; + case 'd': + return actualFormat.toLowerCase().indexOf('d') !== -1; + case 'h': + case 'H': + return actualFormat.toLowerCase().indexOf('h') !== -1; + case 'm': + return actualFormat.indexOf('m') !== -1; + case 's': + return actualFormat.indexOf('s') !== -1; + default: + return false; + } + }, + + hasTime = function () { + return (isEnabled('h') || isEnabled('m') || isEnabled('s')); + }, + + hasDate = function () { + return (isEnabled('y') || isEnabled('M') || isEnabled('d')); + }, + + getDatePickerTemplate = function () { + var headTemplate = $('<thead>') + .append($('<tr>') + .append($('<th>').addClass('prev').attr('data-action', 'previous') + .append($('<span>').addClass(options.icons.previous)) + ) + .append($('<th>').addClass('picker-switch').attr('data-action', 'pickerSwitch').attr('colspan', (options.calendarWeeks ? '6' : '5'))) + .append($('<th>').addClass('next').attr('data-action', 'next') + .append($('<span>').addClass(options.icons.next)) + ) + ), + contTemplate = $('<tbody>') + .append($('<tr>') + .append($('<td>').attr('colspan', (options.calendarWeeks ? '8' : '7'))) + ); + + return [ + $('<div>').addClass('datepicker-days') + .append($('<table>').addClass('table-condensed') + .append(headTemplate) + .append($('<tbody>')) + ), + $('<div>').addClass('datepicker-months') + .append($('<table>').addClass('table-condensed') + .append(headTemplate.clone()) + .append(contTemplate.clone()) + ), + $('<div>').addClass('datepicker-years') + .append($('<table>').addClass('table-condensed') + .append(headTemplate.clone()) + .append(contTemplate.clone()) + ), + $('<div>').addClass('datepicker-decades') + .append($('<table>').addClass('table-condensed') + .append(headTemplate.clone()) + .append(contTemplate.clone()) + ) + ]; + }, + + getTimePickerMainTemplate = function () { + var topRow = $('<tr>'), + middleRow = $('<tr>'), + bottomRow = $('<tr>'); + + if (isEnabled('h')) { + topRow.append($('<td>') + .append($('<a>').attr({ href: '#', tabindex: '-1', 'title': options.tooltips.incrementHour }).addClass('btn').attr('data-action', 'incrementHours').append($('<span>').addClass(options.icons.up)))); + middleRow.append($('<td>') + .append($('<span>').addClass('timepicker-hour').attr({ 'data-time-component': 'hours', 'title': options.tooltips.pickHour }).attr('data-action', 'showHours'))); + bottomRow.append($('<td>') + .append($('<a>').attr({ href: '#', tabindex: '-1', 'title': options.tooltips.decrementHour }).addClass('btn').attr('data-action', 'decrementHours').append($('<span>').addClass(options.icons.down)))); + } + if (isEnabled('m')) { + if (isEnabled('h')) { + topRow.append($('<td>').addClass('separator')); + middleRow.append($('<td>').addClass('separator').html(':')); + bottomRow.append($('<td>').addClass('separator')); + } + topRow.append($('<td>') + .append($('<a>').attr({ href: '#', tabindex: '-1', 'title': options.tooltips.incrementMinute }).addClass('btn').attr('data-action', 'incrementMinutes') + .append($('<span>').addClass(options.icons.up)))); + middleRow.append($('<td>') + .append($('<span>').addClass('timepicker-minute').attr({ 'data-time-component': 'minutes', 'title': options.tooltips.pickMinute }).attr('data-action', 'showMinutes'))); + bottomRow.append($('<td>') + .append($('<a>').attr({ href: '#', tabindex: '-1', 'title': options.tooltips.decrementMinute }).addClass('btn').attr('data-action', 'decrementMinutes') + .append($('<span>').addClass(options.icons.down)))); + } + if (isEnabled('s')) { + if (isEnabled('m')) { + topRow.append($('<td>').addClass('separator')); + middleRow.append($('<td>').addClass('separator').html(':')); + bottomRow.append($('<td>').addClass('separator')); + } + topRow.append($('<td>') + .append($('<a>').attr({ href: '#', tabindex: '-1', 'title': options.tooltips.incrementSecond }).addClass('btn').attr('data-action', 'incrementSeconds') + .append($('<span>').addClass(options.icons.up)))); + middleRow.append($('<td>') + .append($('<span>').addClass('timepicker-second').attr({ 'data-time-component': 'seconds', 'title': options.tooltips.pickSecond }).attr('data-action', 'showSeconds'))); + bottomRow.append($('<td>') + .append($('<a>').attr({ href: '#', tabindex: '-1', 'title': options.tooltips.decrementSecond }).addClass('btn').attr('data-action', 'decrementSeconds') + .append($('<span>').addClass(options.icons.down)))); + } + + if (!use24Hours) { + topRow.append($('<td>').addClass('separator')); + middleRow.append($('<td>') + .append($('<button>').addClass('btn btn-primary').attr({ 'data-action': 'togglePeriod', tabindex: '-1', 'title': options.tooltips.togglePeriod }))); + bottomRow.append($('<td>').addClass('separator')); + } + + return $('<div>').addClass('timepicker-picker') + .append($('<table>').addClass('table-condensed') + .append([topRow, middleRow, bottomRow])); + }, + + getTimePickerTemplate = function () { + var hoursView = $('<div>').addClass('timepicker-hours') + .append($('<table>').addClass('table-condensed')), + minutesView = $('<div>').addClass('timepicker-minutes') + .append($('<table>').addClass('table-condensed')), + secondsView = $('<div>').addClass('timepicker-seconds') + .append($('<table>').addClass('table-condensed')), + ret = [getTimePickerMainTemplate()]; + + if (isEnabled('h')) { + ret.push(hoursView); + } + if (isEnabled('m')) { + ret.push(minutesView); + } + if (isEnabled('s')) { + ret.push(secondsView); + } + + return ret; + }, + + getToolbar = function () { + var row = []; + if (options.showTodayButton) { + row.push($('<td>').append($('<a>').attr({ 'data-action': 'today', 'title': options.tooltips.today }).append($('<span>').addClass(options.icons.today)))); + } + if (!options.sideBySide && hasDate() && hasTime()) { + row.push($('<td>').append($('<a>').attr({ 'data-action': 'togglePicker', 'title': options.tooltips.selectTime }).append($('<span>').addClass(options.icons.time)))); + } + if (options.showClear) { + row.push($('<td>').append($('<a>').attr({ 'data-action': 'clear', 'title': options.tooltips.clear }).append($('<span>').addClass(options.icons.clear)))); + } + if (options.showClose) { + row.push($('<td>').append($('<a>').attr({ 'data-action': 'close', 'title': options.tooltips.close }).append($('<span>').addClass(options.icons.close)))); + } + return $('<table>').addClass('table-condensed').append($('<tbody>').append($('<tr>').append(row))); + }, + + getTemplate = function () { + var template = $('<div>').addClass('bootstrap-datetimepicker-widget dropdown-menu'), + dateView = $('<div>').addClass('datepicker').append(getDatePickerTemplate()), + timeView = $('<div>').addClass('timepicker').append(getTimePickerTemplate()), + content = $('<ul>').addClass('list-unstyled'), + toolbar = $('<li>').addClass('picker-switch' + (options.collapse ? ' accordion-toggle' : '')).append(getToolbar()); + + if (options.inline) { + template.removeClass('dropdown-menu'); + } + + if (use24Hours) { + template.addClass('usetwentyfour'); + } + + if (isEnabled('s') && !use24Hours) { + template.addClass('wider'); + } + + if (options.sideBySide && hasDate() && hasTime()) { + template.addClass('timepicker-sbs'); + if (options.toolbarPlacement === 'top') { + template.append(toolbar); + } + template.append( + $('<div>').addClass('row') + .append(dateView.addClass('col-md-6')) + .append(timeView.addClass('col-md-6')) + ); + if (options.toolbarPlacement === 'bottom') { + template.append(toolbar); + } + return template; + } + + if (options.toolbarPlacement === 'top') { + content.append(toolbar); + } + if (hasDate()) { + content.append($('<li>').addClass((options.collapse && hasTime() ? 'collapse in' : '')).append(dateView)); + } + if (options.toolbarPlacement === 'default') { + content.append(toolbar); + } + if (hasTime()) { + content.append($('<li>').addClass((options.collapse && hasDate() ? 'collapse' : '')).append(timeView)); + } + if (options.toolbarPlacement === 'bottom') { + content.append(toolbar); + } + return template.append(content); + }, + + dataToOptions = function () { + var eData, + dataOptions = {}; + + if (element.is('input') || options.inline) { + eData = element.data(); + } else { + eData = element.find('input').data(); + } + + if (eData.dateOptions && eData.dateOptions instanceof Object) { + dataOptions = $.extend(true, dataOptions, eData.dateOptions); + } + + $.each(options, function (key) { + var attributeName = 'date' + key.charAt(0).toUpperCase() + key.slice(1); + if (eData[attributeName] !== undefined) { + dataOptions[key] = eData[attributeName]; + } + }); + return dataOptions; + }, + + place = function () { + var position = (component || element).position(), + offset = (component || element).offset(), + vertical = options.widgetPositioning.vertical, + horizontal = options.widgetPositioning.horizontal, + parent; + + if (options.widgetParent) { + parent = options.widgetParent.append(widget); + } else if (element.is('input')) { + parent = element.after(widget).parent(); + } else if (options.inline) { + parent = element.append(widget); + return; + } else { + parent = element; + element.children().first().after(widget); + } + + // Top and bottom logic + if (vertical === 'auto') { + if (offset.top + widget.height() * 1.5 >= $(window).height() + $(window).scrollTop() && + widget.height() + element.outerHeight() < offset.top) { + vertical = 'top'; + } else { + vertical = 'bottom'; + } + } + + // Left and right logic + if (horizontal === 'auto') { + if (parent.width() < offset.left + widget.outerWidth() / 2 && + offset.left + widget.outerWidth() > $(window).width()) { + horizontal = 'right'; + } else { + horizontal = 'left'; + } + } + + if (vertical === 'top') { + widget.addClass('top').removeClass('bottom'); + } else { + widget.addClass('bottom').removeClass('top'); + } + + if (horizontal === 'right') { + widget.addClass('pull-right'); + } else { + widget.removeClass('pull-right'); + } + + // find the first parent element that has a non-static css positioning + if (parent.css('position') === 'static') { + parent = parent.parents().filter(function () { + return $(this).css('position') !== 'static'; + }).first(); + } + + if (parent.length === 0) { + throw new Error('datetimepicker component should be placed within a non-static positioned container'); + } + + widget.css({ + top: vertical === 'top' ? 'auto' : position.top + element.outerHeight(), + bottom: vertical === 'top' ? parent.outerHeight() - (parent === element ? 0 : position.top) : 'auto', + left: horizontal === 'left' ? (parent === element ? 0 : position.left) : 'auto', + right: horizontal === 'left' ? 'auto' : parent.outerWidth() - element.outerWidth() - (parent === element ? 0 : position.left) + }); + }, + + notifyEvent = function (e) { + if (e.type === 'dp.change' && ((e.date && e.date.isSame(e.oldDate)) || (!e.date && !e.oldDate))) { + return; + } + element.trigger(e); + }, + + viewUpdate = function (e) { + if (e === 'y') { + e = 'YYYY'; + } + notifyEvent({ + type: 'dp.update', + change: e, + viewDate: viewDate.clone() + }); + }, + + showMode = function (dir) { + if (!widget) { + return; + } + if (dir) { + currentViewMode = Math.max(minViewModeNumber, Math.min(3, currentViewMode + dir)); + } + widget.find('.datepicker > div').hide().filter('.datepicker-' + datePickerModes[currentViewMode].clsName).show(); + }, + + fillDow = function () { + var row = $('<tr>'), + currentDate = viewDate.clone().startOf('w').startOf('d'); + + if (options.calendarWeeks === true) { + row.append($('<th>').addClass('cw').text('#')); + } + + while (currentDate.isBefore(viewDate.clone().endOf('w'))) { + row.append($('<th>').addClass('dow').text(currentDate.format('dd'))); + currentDate.add(1, 'd'); + } + widget.find('.datepicker-days thead').append(row); + }, + + isInDisabledDates = function (testDate) { + return options.disabledDates[testDate.format('YYYY-MM-DD')] === true; + }, + + isInEnabledDates = function (testDate) { + return options.enabledDates[testDate.format('YYYY-MM-DD')] === true; + }, + + isInDisabledHours = function (testDate) { + return options.disabledHours[testDate.format('H')] === true; + }, + + isInEnabledHours = function (testDate) { + return options.enabledHours[testDate.format('H')] === true; + }, + + isValid = function (targetMoment, granularity) { + if (!targetMoment.isValid()) { + return false; + } + if (options.disabledDates && granularity === 'd' && isInDisabledDates(targetMoment)) { + return false; + } + if (options.enabledDates && granularity === 'd' && !isInEnabledDates(targetMoment)) { + return false; + } + if (options.minDate && targetMoment.isBefore(options.minDate, granularity)) { + return false; + } + if (options.maxDate && targetMoment.isAfter(options.maxDate, granularity)) { + return false; + } + if (options.daysOfWeekDisabled && granularity === 'd' && options.daysOfWeekDisabled.indexOf(targetMoment.day()) !== -1) { + return false; + } + if (options.disabledHours && (granularity === 'h' || granularity === 'm' || granularity === 's') && isInDisabledHours(targetMoment)) { + return false; + } + if (options.enabledHours && (granularity === 'h' || granularity === 'm' || granularity === 's') && !isInEnabledHours(targetMoment)) { + return false; + } + if (options.disabledTimeIntervals && (granularity === 'h' || granularity === 'm' || granularity === 's')) { + var found = false; + $.each(options.disabledTimeIntervals, function () { + if (targetMoment.isBetween(this[0], this[1])) { + found = true; + return false; + } + }); + if (found) { + return false; + } + } + return true; + }, + + fillMonths = function () { + var spans = [], + monthsShort = viewDate.clone().startOf('y').startOf('d'); + while (monthsShort.isSame(viewDate, 'y')) { + spans.push($('<span>').attr('data-action', 'selectMonth').addClass('month').text(monthsShort.format('MMM'))); + monthsShort.add(1, 'M'); + } + widget.find('.datepicker-months td').empty().append(spans); + }, + + updateMonths = function () { + var monthsView = widget.find('.datepicker-months'), + monthsViewHeader = monthsView.find('th'), + months = monthsView.find('tbody').find('span'); + + monthsViewHeader.eq(0).find('span').attr('title', options.tooltips.prevYear); + monthsViewHeader.eq(1).attr('title', options.tooltips.selectYear); + monthsViewHeader.eq(2).find('span').attr('title', options.tooltips.nextYear); + + monthsView.find('.disabled').removeClass('disabled'); + + if (!isValid(viewDate.clone().subtract(1, 'y'), 'y')) { + monthsViewHeader.eq(0).addClass('disabled'); + } + + monthsViewHeader.eq(1).text(viewDate.year()); + + if (!isValid(viewDate.clone().add(1, 'y'), 'y')) { + monthsViewHeader.eq(2).addClass('disabled'); + } + + months.removeClass('active'); + if (date.isSame(viewDate, 'y') && !unset) { + months.eq(date.month()).addClass('active'); + } + + months.each(function (index) { + if (!isValid(viewDate.clone().month(index), 'M')) { + $(this).addClass('disabled'); + } + }); + }, + + updateYears = function () { + var yearsView = widget.find('.datepicker-years'), + yearsViewHeader = yearsView.find('th'), + startYear = viewDate.clone().subtract(5, 'y'), + endYear = viewDate.clone().add(6, 'y'), + html = ''; + + yearsViewHeader.eq(0).find('span').attr('title', options.tooltips.prevDecade); + yearsViewHeader.eq(1).attr('title', options.tooltips.selectDecade); + yearsViewHeader.eq(2).find('span').attr('title', options.tooltips.nextDecade); + + yearsView.find('.disabled').removeClass('disabled'); + + if (options.minDate && options.minDate.isAfter(startYear, 'y')) { + yearsViewHeader.eq(0).addClass('disabled'); + } + + yearsViewHeader.eq(1).text(startYear.year() + '-' + endYear.year()); + + if (options.maxDate && options.maxDate.isBefore(endYear, 'y')) { + yearsViewHeader.eq(2).addClass('disabled'); + } + + while (!startYear.isAfter(endYear, 'y')) { + html += '<span data-action="selectYear" class="year' + (startYear.isSame(date, 'y') && !unset ? ' active' : '') + (!isValid(startYear, 'y') ? ' disabled' : '') + '">' + startYear.year() + '</span>'; + startYear.add(1, 'y'); + } + + yearsView.find('td').html(html); + }, + + updateDecades = function () { + var decadesView = widget.find('.datepicker-decades'), + decadesViewHeader = decadesView.find('th'), + startDecade = moment({ y: viewDate.year() - (viewDate.year() % 100) - 1 }), + endDecade = startDecade.clone().add(100, 'y'), + startedAt = startDecade.clone(), + minDateDecade = false, + maxDateDecade = false, + endDecadeYear, + html = ''; + + decadesViewHeader.eq(0).find('span').attr('title', options.tooltips.prevCentury); + decadesViewHeader.eq(2).find('span').attr('title', options.tooltips.nextCentury); + + decadesView.find('.disabled').removeClass('disabled'); + + if (startDecade.isSame(moment({ y: 1900 })) || (options.minDate && options.minDate.isAfter(startDecade, 'y'))) { + decadesViewHeader.eq(0).addClass('disabled'); + } + + decadesViewHeader.eq(1).text(startDecade.year() + '-' + endDecade.year()); + + if (startDecade.isSame(moment({ y: 2000 })) || (options.maxDate && options.maxDate.isBefore(endDecade, 'y'))) { + decadesViewHeader.eq(2).addClass('disabled'); + } + + while (!startDecade.isAfter(endDecade, 'y')) { + endDecadeYear = startDecade.year() + 12; + minDateDecade = options.minDate && options.minDate.isAfter(startDecade, 'y') && options.minDate.year() <= endDecadeYear; + maxDateDecade = options.maxDate && options.maxDate.isAfter(startDecade, 'y') && options.maxDate.year() <= endDecadeYear; + html += '<span data-action="selectDecade" class="decade' + (date.isAfter(startDecade) && date.year() <= endDecadeYear ? ' active' : '') + + (!isValid(startDecade, 'y') && !minDateDecade && !maxDateDecade ? ' disabled' : '') + '" data-selection="' + (startDecade.year() + 6) + '">' + (startDecade.year() + 1) + ' - ' + (startDecade.year() + 12) + '</span>'; + startDecade.add(12, 'y'); + } + html += '<span></span><span></span><span></span>'; //push the dangling block over, at least this way it's even + + decadesView.find('td').html(html); + decadesViewHeader.eq(1).text((startedAt.year() + 1) + '-' + (startDecade.year())); + }, + + fillDate = function () { + var daysView = widget.find('.datepicker-days'), + daysViewHeader = daysView.find('th'), + currentDate, + html = [], + row, + clsNames = [], + i; + + if (!hasDate()) { + return; + } + + daysViewHeader.eq(0).find('span').attr('title', options.tooltips.prevMonth); + daysViewHeader.eq(1).attr('title', options.tooltips.selectMonth); + daysViewHeader.eq(2).find('span').attr('title', options.tooltips.nextMonth); + + daysView.find('.disabled').removeClass('disabled'); + daysViewHeader.eq(1).text(viewDate.format(options.dayViewHeaderFormat)); + + if (!isValid(viewDate.clone().subtract(1, 'M'), 'M')) { + daysViewHeader.eq(0).addClass('disabled'); + } + if (!isValid(viewDate.clone().add(1, 'M'), 'M')) { + daysViewHeader.eq(2).addClass('disabled'); + } + + currentDate = viewDate.clone().startOf('M').startOf('w').startOf('d'); + + for (i = 0; i < 42; i++) { //always display 42 days (should show 6 weeks) + if (currentDate.weekday() === 0) { + row = $('<tr>'); + if (options.calendarWeeks) { + row.append('<td class="cw">' + currentDate.week() + '</td>'); + } + html.push(row); + } + clsNames = ['day']; + if (currentDate.isBefore(viewDate, 'M')) { + clsNames.push('old'); + } + if (currentDate.isAfter(viewDate, 'M')) { + clsNames.push('new'); + } + if (currentDate.isSame(date, 'd') && !unset) { + clsNames.push('active'); + } + if (!isValid(currentDate, 'd')) { + clsNames.push('disabled'); + } + if (currentDate.isSame(getMoment(), 'd')) { + clsNames.push('today'); + } + if (currentDate.day() === 0 || currentDate.day() === 6) { + clsNames.push('weekend'); + } + notifyEvent({ + type: 'dp.classify', + date: currentDate, + classNames: clsNames + }); + row.append('<td data-action="selectDay" data-day="' + currentDate.format('L') + '" class="' + clsNames.join(' ') + '">' + currentDate.date() + '</td>'); + currentDate.add(1, 'd'); + } + + daysView.find('tbody').empty().append(html); + + updateMonths(); + + updateYears(); + + updateDecades(); + }, + + fillHours = function () { + var table = widget.find('.timepicker-hours table'), + currentHour = viewDate.clone().startOf('d'), + html = [], + row = $('<tr>'); + + if (viewDate.hour() > 11 && !use24Hours) { + currentHour.hour(12); + } + while (currentHour.isSame(viewDate, 'd') && (use24Hours || (viewDate.hour() < 12 && currentHour.hour() < 12) || viewDate.hour() > 11)) { + if (currentHour.hour() % 4 === 0) { + row = $('<tr>'); + html.push(row); + } + row.append('<td data-action="selectHour" class="hour' + (!isValid(currentHour, 'h') ? ' disabled' : '') + '">' + currentHour.format(use24Hours ? 'HH' : 'hh') + '</td>'); + currentHour.add(1, 'h'); + } + table.empty().append(html); + }, + + fillMinutes = function () { + var table = widget.find('.timepicker-minutes table'), + currentMinute = viewDate.clone().startOf('h'), + html = [], + row = $('<tr>'), + step = options.stepping === 1 ? 5 : options.stepping; + + while (viewDate.isSame(currentMinute, 'h')) { + if (currentMinute.minute() % (step * 4) === 0) { + row = $('<tr>'); + html.push(row); + } + row.append('<td data-action="selectMinute" class="minute' + (!isValid(currentMinute, 'm') ? ' disabled' : '') + '">' + currentMinute.format('mm') + '</td>'); + currentMinute.add(step, 'm'); + } + table.empty().append(html); + }, + + fillSeconds = function () { + var table = widget.find('.timepicker-seconds table'), + currentSecond = viewDate.clone().startOf('m'), + html = [], + row = $('<tr>'); + + while (viewDate.isSame(currentSecond, 'm')) { + if (currentSecond.second() % 20 === 0) { + row = $('<tr>'); + html.push(row); + } + row.append('<td data-action="selectSecond" class="second' + (!isValid(currentSecond, 's') ? ' disabled' : '') + '">' + currentSecond.format('ss') + '</td>'); + currentSecond.add(5, 's'); + } + + table.empty().append(html); + }, + + fillTime = function () { + var toggle, newDate, timeComponents = widget.find('.timepicker span[data-time-component]'); + + if (!use24Hours) { + toggle = widget.find('.timepicker [data-action=togglePeriod]'); + newDate = date.clone().add((date.hours() >= 12) ? -12 : 12, 'h'); + + toggle.text(date.format('A')); + + if (isValid(newDate, 'h')) { + toggle.removeClass('disabled'); + } else { + toggle.addClass('disabled'); + } + } + timeComponents.filter('[data-time-component=hours]').text(date.format(use24Hours ? 'HH' : 'hh')); + timeComponents.filter('[data-time-component=minutes]').text(date.format('mm')); + timeComponents.filter('[data-time-component=seconds]').text(date.format('ss')); + + fillHours(); + fillMinutes(); + fillSeconds(); + }, + + update = function () { + if (!widget) { + return; + } + fillDate(); + fillTime(); + }, + + setValue = function (targetMoment) { + var oldDate = unset ? null : date; + + // case of calling setValue(null or false) + if (!targetMoment) { + unset = true; + input.val(''); + element.data('date', ''); + notifyEvent({ + type: 'dp.change', + date: false, + oldDate: oldDate + }); + update(); + return; + } + + targetMoment = targetMoment.clone().locale(options.locale); + + if (hasTimeZone()) { + targetMoment.tz(options.timeZone); + } + + if (options.stepping !== 1) { + targetMoment.minutes((Math.round(targetMoment.minutes() / options.stepping) * options.stepping)).seconds(0); + + while (options.minDate && targetMoment.isBefore(options.minDate)) { + targetMoment.add(options.stepping, 'minutes'); + } + } + + if (isValid(targetMoment)) { + date = targetMoment; + viewDate = date.clone(); + input.val(date.format(actualFormat)); + element.data('date', date.format(actualFormat)); + unset = false; + update(); + notifyEvent({ + type: 'dp.change', + date: date.clone(), + oldDate: oldDate + }); + } else { + if (!options.keepInvalid) { + input.val(unset ? '' : date.format(actualFormat)); + } else { + notifyEvent({ + type: 'dp.change', + date: targetMoment, + oldDate: oldDate + }); + } + notifyEvent({ + type: 'dp.error', + date: targetMoment, + oldDate: oldDate + }); + } + }, + + /** + * Hides the widget. Possibly will emit dp.hide + */ + hide = function () { + var transitioning = false; + if (!widget) { + return picker; + } + // Ignore event if in the middle of a picker transition + widget.find('.collapse').each(function () { + var collapseData = $(this).data('collapse'); + if (collapseData && collapseData.transitioning) { + transitioning = true; + return false; + } + return true; + }); + if (transitioning) { + return picker; + } + if (component && component.hasClass('btn')) { + component.toggleClass('active'); + } + widget.hide(); + + $(window).off('resize', place); + widget.off('click', '[data-action]'); + widget.off('mousedown', false); + + widget.remove(); + widget = false; + + notifyEvent({ + type: 'dp.hide', + date: date.clone() + }); + + input.blur(); + + viewDate = date.clone(); + + return picker; + }, + + clear = function () { + setValue(null); + }, + + parseInputDate = function (inputDate) { + if (options.parseInputDate === undefined) { + if (!moment.isMoment(inputDate) || inputDate instanceof Date) { + inputDate = getMoment(inputDate); + } + } else { + inputDate = options.parseInputDate(inputDate); + } + //inputDate.locale(options.locale); + return inputDate; + }, + + /******************************************************************************** + * + * Widget UI interaction functions + * + ********************************************************************************/ + actions = { + next: function () { + var navFnc = datePickerModes[currentViewMode].navFnc; + viewDate.add(datePickerModes[currentViewMode].navStep, navFnc); + fillDate(); + viewUpdate(navFnc); + }, + + previous: function () { + var navFnc = datePickerModes[currentViewMode].navFnc; + viewDate.subtract(datePickerModes[currentViewMode].navStep, navFnc); + fillDate(); + viewUpdate(navFnc); + }, + + pickerSwitch: function () { + showMode(1); + }, + + selectMonth: function (e) { + var month = $(e.target).closest('tbody').find('span').index($(e.target)); + viewDate.month(month); + if (currentViewMode === minViewModeNumber) { + setValue(date.clone().year(viewDate.year()).month(viewDate.month())); + if (!options.inline) { + hide(); + } + } else { + showMode(-1); + fillDate(); + } + viewUpdate('M'); + }, + + selectYear: function (e) { + var year = parseInt($(e.target).text(), 10) || 0; + viewDate.year(year); + if (currentViewMode === minViewModeNumber) { + setValue(date.clone().year(viewDate.year())); + if (!options.inline) { + hide(); + } + } else { + showMode(-1); + fillDate(); + } + viewUpdate('YYYY'); + }, + + selectDecade: function (e) { + var year = parseInt($(e.target).data('selection'), 10) || 0; + viewDate.year(year); + if (currentViewMode === minViewModeNumber) { + setValue(date.clone().year(viewDate.year())); + if (!options.inline) { + hide(); + } + } else { + showMode(-1); + fillDate(); + } + viewUpdate('YYYY'); + }, + + selectDay: function (e) { + var day = viewDate.clone(); + if ($(e.target).is('.old')) { + day.subtract(1, 'M'); + } + if ($(e.target).is('.new')) { + day.add(1, 'M'); + } + setValue(day.date(parseInt($(e.target).text(), 10))); + if (!hasTime() && !options.keepOpen && !options.inline) { + hide(); + } + }, + + incrementHours: function () { + var newDate = date.clone().add(1, 'h'); + if (isValid(newDate, 'h')) { + setValue(newDate); + } + }, + + incrementMinutes: function () { + var newDate = date.clone().add(options.stepping, 'm'); + if (isValid(newDate, 'm')) { + setValue(newDate); + } + }, + + incrementSeconds: function () { + var newDate = date.clone().add(1, 's'); + if (isValid(newDate, 's')) { + setValue(newDate); + } + }, + + decrementHours: function () { + var newDate = date.clone().subtract(1, 'h'); + if (isValid(newDate, 'h')) { + setValue(newDate); + } + }, + + decrementMinutes: function () { + var newDate = date.clone().subtract(options.stepping, 'm'); + if (isValid(newDate, 'm')) { + setValue(newDate); + } + }, + + decrementSeconds: function () { + var newDate = date.clone().subtract(1, 's'); + if (isValid(newDate, 's')) { + setValue(newDate); + } + }, + + togglePeriod: function () { + setValue(date.clone().add((date.hours() >= 12) ? -12 : 12, 'h')); + }, + + togglePicker: function (e) { + var $this = $(e.target), + $parent = $this.closest('ul'), + expanded = $parent.find('.in'), + closed = $parent.find('.collapse:not(.in)'), + collapseData; + + if (expanded && expanded.length) { + collapseData = expanded.data('collapse'); + if (collapseData && collapseData.transitioning) { + return; + } + if (expanded.collapse) { // if collapse plugin is available through bootstrap.js then use it + expanded.collapse('hide'); + closed.collapse('show'); + } else { // otherwise just toggle in class on the two views + expanded.removeClass('in'); + closed.addClass('in'); + } + if ($this.is('span')) { + $this.toggleClass(options.icons.time + ' ' + options.icons.date); + } else { + $this.find('span').toggleClass(options.icons.time + ' ' + options.icons.date); + } + + // NOTE: uncomment if toggled state will be restored in show() + //if (component) { + // component.find('span').toggleClass(options.icons.time + ' ' + options.icons.date); + //} + } + }, + + showPicker: function () { + widget.find('.timepicker > div:not(.timepicker-picker)').hide(); + widget.find('.timepicker .timepicker-picker').show(); + }, + + showHours: function () { + widget.find('.timepicker .timepicker-picker').hide(); + widget.find('.timepicker .timepicker-hours').show(); + }, + + showMinutes: function () { + widget.find('.timepicker .timepicker-picker').hide(); + widget.find('.timepicker .timepicker-minutes').show(); + }, + + showSeconds: function () { + widget.find('.timepicker .timepicker-picker').hide(); + widget.find('.timepicker .timepicker-seconds').show(); + }, + + selectHour: function (e) { + var hour = parseInt($(e.target).text(), 10); + + if (!use24Hours) { + if (date.hours() >= 12) { + if (hour !== 12) { + hour += 12; + } + } else { + if (hour === 12) { + hour = 0; + } + } + } + setValue(date.clone().hours(hour)); + actions.showPicker.call(picker); + }, + + selectMinute: function (e) { + setValue(date.clone().minutes(parseInt($(e.target).text(), 10))); + actions.showPicker.call(picker); + }, + + selectSecond: function (e) { + setValue(date.clone().seconds(parseInt($(e.target).text(), 10))); + actions.showPicker.call(picker); + }, + + clear: clear, + + today: function () { + var todaysDate = getMoment(); + if (isValid(todaysDate, 'd')) { + setValue(todaysDate); + } + }, + + close: hide + }, + + doAction = function (e) { + if ($(e.currentTarget).is('.disabled')) { + return false; + } + actions[$(e.currentTarget).data('action')].apply(picker, arguments); + return false; + }, + + /** + * Shows the widget. Possibly will emit dp.show and dp.change + */ + show = function () { + var currentMoment, + useCurrentGranularity = { + 'year': function (m) { + return m.month(0).date(1).hours(0).seconds(0).minutes(0); + }, + 'month': function (m) { + return m.date(1).hours(0).seconds(0).minutes(0); + }, + 'day': function (m) { + return m.hours(0).seconds(0).minutes(0); + }, + 'hour': function (m) { + return m.seconds(0).minutes(0); + }, + 'minute': function (m) { + return m.seconds(0); + } + }; + + if (input.prop('disabled') || (!options.ignoreReadonly && input.prop('readonly')) || widget) { + return picker; + } + if (input.val() !== undefined && input.val().trim().length !== 0) { + setValue(parseInputDate(input.val().trim())); + } else if (unset && options.useCurrent && (options.inline || (input.is('input') && input.val().trim().length === 0))) { + currentMoment = getMoment(); + if (typeof options.useCurrent === 'string') { + currentMoment = useCurrentGranularity[options.useCurrent](currentMoment); + } + setValue(currentMoment); + } + widget = getTemplate(); + + fillDow(); + fillMonths(); + + widget.find('.timepicker-hours').hide(); + widget.find('.timepicker-minutes').hide(); + widget.find('.timepicker-seconds').hide(); + + update(); + showMode(); + + $(window).on('resize', place); + widget.on('click', '[data-action]', doAction); // this handles clicks on the widget + widget.on('mousedown', false); + + if (component && component.hasClass('btn')) { + component.toggleClass('active'); + } + place(); + widget.show(); + if (options.focusOnShow && !input.is(':focus')) { + input.focus(); + } + + notifyEvent({ + type: 'dp.show' + }); + return picker; + }, + + /** + * Shows or hides the widget + */ + toggle = function () { + return (widget ? hide() : show()); + }, + + keydown = function (e) { + var handler = null, + index, + index2, + pressedKeys = [], + pressedModifiers = {}, + currentKey = e.which, + keyBindKeys, + allModifiersPressed, + pressed = 'p'; + + keyState[currentKey] = pressed; + + for (index in keyState) { + if (keyState.hasOwnProperty(index) && keyState[index] === pressed) { + pressedKeys.push(index); + if (parseInt(index, 10) !== currentKey) { + pressedModifiers[index] = true; + } + } + } + + for (index in options.keyBinds) { + if (options.keyBinds.hasOwnProperty(index) && typeof (options.keyBinds[index]) === 'function') { + keyBindKeys = index.split(' '); + if (keyBindKeys.length === pressedKeys.length && keyMap[currentKey] === keyBindKeys[keyBindKeys.length - 1]) { + allModifiersPressed = true; + for (index2 = keyBindKeys.length - 2; index2 >= 0; index2--) { + if (!(keyMap[keyBindKeys[index2]] in pressedModifiers)) { + allModifiersPressed = false; + break; + } + } + if (allModifiersPressed) { + handler = options.keyBinds[index]; + break; + } + } + } + } + + if (handler) { + handler.call(picker, widget); + e.stopPropagation(); + e.preventDefault(); + } + }, + + keyup = function (e) { + keyState[e.which] = 'r'; + e.stopPropagation(); + e.preventDefault(); + }, + + change = function (e) { + var val = $(e.target).val().trim(), + parsedDate = val ? parseInputDate(val) : null; + setValue(parsedDate); + e.stopImmediatePropagation(); + return false; + }, + + attachDatePickerElementEvents = function () { + input.on({ + 'change': change, + 'blur': options.debug ? '' : hide, + 'keydown': keydown, + 'keyup': keyup, + 'focus': options.allowInputToggle ? show : '' + }); + + if (element.is('input')) { + input.on({ + 'focus': show + }); + } else if (component) { + component.on('click', toggle); + component.on('mousedown', false); + } + }, + + detachDatePickerElementEvents = function () { + input.off({ + 'change': change, + 'blur': blur, + 'keydown': keydown, + 'keyup': keyup, + 'focus': options.allowInputToggle ? hide : '' + }); + + if (element.is('input')) { + input.off({ + 'focus': show + }); + } else if (component) { + component.off('click', toggle); + component.off('mousedown', false); + } + }, + + indexGivenDates = function (givenDatesArray) { + // Store given enabledDates and disabledDates as keys. + // This way we can check their existence in O(1) time instead of looping through whole array. + // (for example: options.enabledDates['2014-02-27'] === true) + var givenDatesIndexed = {}; + $.each(givenDatesArray, function () { + var dDate = parseInputDate(this); + if (dDate.isValid()) { + givenDatesIndexed[dDate.format('YYYY-MM-DD')] = true; + } + }); + return (Object.keys(givenDatesIndexed).length) ? givenDatesIndexed : false; + }, + + indexGivenHours = function (givenHoursArray) { + // Store given enabledHours and disabledHours as keys. + // This way we can check their existence in O(1) time instead of looping through whole array. + // (for example: options.enabledHours['2014-02-27'] === true) + var givenHoursIndexed = {}; + $.each(givenHoursArray, function () { + givenHoursIndexed[this] = true; + }); + return (Object.keys(givenHoursIndexed).length) ? givenHoursIndexed : false; + }, + + initFormatting = function () { + var format = options.format || 'L LT'; + + actualFormat = format.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, function (formatInput) { + var newinput = date.localeData().longDateFormat(formatInput) || formatInput; + return newinput.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, function (formatInput2) { //temp fix for #740 + return date.localeData().longDateFormat(formatInput2) || formatInput2; + }); + }); + + + parseFormats = options.extraFormats ? options.extraFormats.slice() : []; + if (parseFormats.indexOf(format) < 0 && parseFormats.indexOf(actualFormat) < 0) { + parseFormats.push(actualFormat); + } + + use24Hours = (actualFormat.toLowerCase().indexOf('a') < 1 && actualFormat.replace(/\[.*?\]/g, '').indexOf('h') < 1); + + if (isEnabled('y')) { + minViewModeNumber = 2; + } + if (isEnabled('M')) { + minViewModeNumber = 1; + } + if (isEnabled('d')) { + minViewModeNumber = 0; + } + + currentViewMode = Math.max(minViewModeNumber, currentViewMode); + + if (!unset) { + setValue(date); + } + }; + + /******************************************************************************** + * + * Public API functions + * ===================== + * + * Important: Do not expose direct references to private objects or the options + * object to the outer world. Always return a clone when returning values or make + * a clone when setting a private variable. + * + ********************************************************************************/ + picker.destroy = function () { + ///<summary>Destroys the widget and removes all attached event listeners</summary> + hide(); + detachDatePickerElementEvents(); + element.removeData('DateTimePicker'); + element.removeData('date'); + }; + + picker.toggle = toggle; + + picker.show = show; + + picker.hide = hide; + + picker.disable = function () { + ///<summary>Disables the input element, the component is attached to, by adding a disabled="true" attribute to it. + ///If the widget was visible before that call it is hidden. Possibly emits dp.hide</summary> + hide(); + if (component && component.hasClass('btn')) { + component.addClass('disabled'); + } + input.prop('disabled', true); + return picker; + }; + + picker.enable = function () { + ///<summary>Enables the input element, the component is attached to, by removing disabled attribute from it.</summary> + if (component && component.hasClass('btn')) { + component.removeClass('disabled'); + } + input.prop('disabled', false); + return picker; + }; + + picker.ignoreReadonly = function (ignoreReadonly) { + if (arguments.length === 0) { + return options.ignoreReadonly; + } + if (typeof ignoreReadonly !== 'boolean') { + throw new TypeError('ignoreReadonly () expects a boolean parameter'); + } + options.ignoreReadonly = ignoreReadonly; + return picker; + }; + + picker.options = function (newOptions) { + if (arguments.length === 0) { + return $.extend(true, {}, options); + } + + if (!(newOptions instanceof Object)) { + throw new TypeError('options() options parameter should be an object'); + } + $.extend(true, options, newOptions); + $.each(options, function (key, value) { + if (picker[key] !== undefined) { + picker[key](value); + } else { + throw new TypeError('option ' + key + ' is not recognized!'); + } + }); + return picker; + }; + + picker.date = function (newDate) { + ///<signature helpKeyword="$.fn.datetimepicker.date"> + ///<summary>Returns the component's model current date, a moment object or null if not set.</summary> + ///<returns type="Moment">date.clone()</returns> + ///</signature> + ///<signature> + ///<summary>Sets the components model current moment to it. Passing a null value unsets the components model current moment. Parsing of the newDate parameter is made using moment library with the options.format and options.useStrict components configuration.</summary> + ///<param name="newDate" locid="$.fn.datetimepicker.date_p:newDate">Takes string, Date, moment, null parameter.</param> + ///</signature> + if (arguments.length === 0) { + if (unset) { + return null; + } + return date.clone(); + } + + if (newDate !== null && typeof newDate !== 'string' && !moment.isMoment(newDate) && !(newDate instanceof Date)) { + throw new TypeError('date() parameter must be one of [null, string, moment or Date]'); + } + + setValue(newDate === null ? null : parseInputDate(newDate)); + return picker; + }; + + picker.format = function (newFormat) { + ///<summary>test su</summary> + ///<param name="newFormat">info about para</param> + ///<returns type="string|boolean">returns foo</returns> + if (arguments.length === 0) { + return options.format; + } + + if ((typeof newFormat !== 'string') && ((typeof newFormat !== 'boolean') || (newFormat !== false))) { + throw new TypeError('format() expects a string or boolean:false parameter ' + newFormat); + } + + options.format = newFormat; + if (actualFormat) { + initFormatting(); // reinit formatting + } + return picker; + }; + + picker.timeZone = function (newZone) { + if (arguments.length === 0) { + return options.timeZone; + } + + if (typeof newZone !== 'string') { + throw new TypeError('newZone() expects a string parameter'); + } + + options.timeZone = newZone; + + return picker; + }; + + picker.dayViewHeaderFormat = function (newFormat) { + if (arguments.length === 0) { + return options.dayViewHeaderFormat; + } + + if (typeof newFormat !== 'string') { + throw new TypeError('dayViewHeaderFormat() expects a string parameter'); + } + + options.dayViewHeaderFormat = newFormat; + return picker; + }; + + picker.extraFormats = function (formats) { + if (arguments.length === 0) { + return options.extraFormats; + } + + if (formats !== false && !(formats instanceof Array)) { + throw new TypeError('extraFormats() expects an array or false parameter'); + } + + options.extraFormats = formats; + if (parseFormats) { + initFormatting(); // reinit formatting + } + return picker; + }; + + picker.disabledDates = function (dates) { + ///<signature helpKeyword="$.fn.datetimepicker.disabledDates"> + ///<summary>Returns an array with the currently set disabled dates on the component.</summary> + ///<returns type="array">options.disabledDates</returns> + ///</signature> + ///<signature> + ///<summary>Setting this takes precedence over options.minDate, options.maxDate configuration. Also calling this function removes the configuration of + ///options.enabledDates if such exist.</summary> + ///<param name="dates" locid="$.fn.datetimepicker.disabledDates_p:dates">Takes an [ string or Date or moment ] of values and allows the user to select only from those days.</param> + ///</signature> + if (arguments.length === 0) { + return (options.disabledDates ? $.extend({}, options.disabledDates) : options.disabledDates); + } + + if (!dates) { + options.disabledDates = false; + update(); + return picker; + } + if (!(dates instanceof Array)) { + throw new TypeError('disabledDates() expects an array parameter'); + } + options.disabledDates = indexGivenDates(dates); + options.enabledDates = false; + update(); + return picker; + }; + + picker.enabledDates = function (dates) { + ///<signature helpKeyword="$.fn.datetimepicker.enabledDates"> + ///<summary>Returns an array with the currently set enabled dates on the component.</summary> + ///<returns type="array">options.enabledDates</returns> + ///</signature> + ///<signature> + ///<summary>Setting this takes precedence over options.minDate, options.maxDate configuration. Also calling this function removes the configuration of options.disabledDates if such exist.</summary> + ///<param name="dates" locid="$.fn.datetimepicker.enabledDates_p:dates">Takes an [ string or Date or moment ] of values and allows the user to select only from those days.</param> + ///</signature> + if (arguments.length === 0) { + return (options.enabledDates ? $.extend({}, options.enabledDates) : options.enabledDates); + } + + if (!dates) { + options.enabledDates = false; + update(); + return picker; + } + if (!(dates instanceof Array)) { + throw new TypeError('enabledDates() expects an array parameter'); + } + options.enabledDates = indexGivenDates(dates); + options.disabledDates = false; + update(); + return picker; + }; + + picker.daysOfWeekDisabled = function (daysOfWeekDisabled) { + if (arguments.length === 0) { + return options.daysOfWeekDisabled.splice(0); + } + + if ((typeof daysOfWeekDisabled === 'boolean') && !daysOfWeekDisabled) { + options.daysOfWeekDisabled = false; + update(); + return picker; + } + + if (!(daysOfWeekDisabled instanceof Array)) { + throw new TypeError('daysOfWeekDisabled() expects an array parameter'); + } + options.daysOfWeekDisabled = daysOfWeekDisabled.reduce(function (previousValue, currentValue) { + currentValue = parseInt(currentValue, 10); + if (currentValue > 6 || currentValue < 0 || isNaN(currentValue)) { + return previousValue; + } + if (previousValue.indexOf(currentValue) === -1) { + previousValue.push(currentValue); + } + return previousValue; + }, []).sort(); + if (options.useCurrent && !options.keepInvalid) { + var tries = 0; + while (!isValid(date, 'd')) { + date.add(1, 'd'); + if (tries === 31) { + throw 'Tried 31 times to find a valid date'; + } + tries++; + } + setValue(date); + } + update(); + return picker; + }; + + picker.maxDate = function (maxDate) { + if (arguments.length === 0) { + return options.maxDate ? options.maxDate.clone() : options.maxDate; + } + + if ((typeof maxDate === 'boolean') && maxDate === false) { + options.maxDate = false; + update(); + return picker; + } + + if (typeof maxDate === 'string') { + if (maxDate === 'now' || maxDate === 'moment') { + maxDate = getMoment(); + } + } + + var parsedDate = parseInputDate(maxDate); + + if (!parsedDate.isValid()) { + throw new TypeError('maxDate() Could not parse date parameter: ' + maxDate); + } + if (options.minDate && parsedDate.isBefore(options.minDate)) { + throw new TypeError('maxDate() date parameter is before options.minDate: ' + parsedDate.format(actualFormat)); + } + options.maxDate = parsedDate; + if (options.useCurrent && !options.keepInvalid && date.isAfter(maxDate)) { + setValue(options.maxDate); + } + if (viewDate.isAfter(parsedDate)) { + viewDate = parsedDate.clone().subtract(options.stepping, 'm'); + } + update(); + return picker; + }; + + picker.minDate = function (minDate) { + if (arguments.length === 0) { + return options.minDate ? options.minDate.clone() : options.minDate; + } + + if ((typeof minDate === 'boolean') && minDate === false) { + options.minDate = false; + update(); + return picker; + } + + if (typeof minDate === 'string') { + if (minDate === 'now' || minDate === 'moment') { + minDate = getMoment(); + } + } + + var parsedDate = parseInputDate(minDate); + + if (!parsedDate.isValid()) { + throw new TypeError('minDate() Could not parse date parameter: ' + minDate); + } + if (options.maxDate && parsedDate.isAfter(options.maxDate)) { + throw new TypeError('minDate() date parameter is after options.maxDate: ' + parsedDate.format(actualFormat)); + } + options.minDate = parsedDate; + if (options.useCurrent && !options.keepInvalid && date.isBefore(minDate)) { + setValue(options.minDate); + } + if (viewDate.isBefore(parsedDate)) { + viewDate = parsedDate.clone().add(options.stepping, 'm'); + } + update(); + return picker; + }; + + picker.defaultDate = function (defaultDate) { + ///<signature helpKeyword="$.fn.datetimepicker.defaultDate"> + ///<summary>Returns a moment with the options.defaultDate option configuration or false if not set</summary> + ///<returns type="Moment">date.clone()</returns> + ///</signature> + ///<signature> + ///<summary>Will set the picker's inital date. If a boolean:false value is passed the options.defaultDate parameter is cleared.</summary> + ///<param name="defaultDate" locid="$.fn.datetimepicker.defaultDate_p:defaultDate">Takes a string, Date, moment, boolean:false</param> + ///</signature> + if (arguments.length === 0) { + return options.defaultDate ? options.defaultDate.clone() : options.defaultDate; + } + if (!defaultDate) { + options.defaultDate = false; + return picker; + } + + if (typeof defaultDate === 'string') { + if (defaultDate === 'now' || defaultDate === 'moment') { + defaultDate = getMoment(); + } else { + defaultDate = getMoment(defaultDate); + } + } + + var parsedDate = parseInputDate(defaultDate); + if (!parsedDate.isValid()) { + throw new TypeError('defaultDate() Could not parse date parameter: ' + defaultDate); + } + if (!isValid(parsedDate)) { + throw new TypeError('defaultDate() date passed is invalid according to component setup validations'); + } + + options.defaultDate = parsedDate; + + if ((options.defaultDate && options.inline) || input.val().trim() === '') { + setValue(options.defaultDate); + } + return picker; + }; + + picker.locale = function (locale) { + if (arguments.length === 0) { + return options.locale; + } + + if (!moment.localeData(locale)) { + throw new TypeError('locale() locale ' + locale + ' is not loaded from moment locales!'); + } + + options.locale = locale; + date.locale(options.locale); + viewDate.locale(options.locale); + + if (actualFormat) { + initFormatting(); // reinit formatting + } + if (widget) { + hide(); + show(); + } + return picker; + }; + + picker.stepping = function (stepping) { + if (arguments.length === 0) { + return options.stepping; + } + + stepping = parseInt(stepping, 10); + if (isNaN(stepping) || stepping < 1) { + stepping = 1; + } + options.stepping = stepping; + return picker; + }; + + picker.useCurrent = function (useCurrent) { + var useCurrentOptions = ['year', 'month', 'day', 'hour', 'minute']; + if (arguments.length === 0) { + return options.useCurrent; + } + + if ((typeof useCurrent !== 'boolean') && (typeof useCurrent !== 'string')) { + throw new TypeError('useCurrent() expects a boolean or string parameter'); + } + if (typeof useCurrent === 'string' && useCurrentOptions.indexOf(useCurrent.toLowerCase()) === -1) { + throw new TypeError('useCurrent() expects a string parameter of ' + useCurrentOptions.join(', ')); + } + options.useCurrent = useCurrent; + return picker; + }; + + picker.collapse = function (collapse) { + if (arguments.length === 0) { + return options.collapse; + } + + if (typeof collapse !== 'boolean') { + throw new TypeError('collapse() expects a boolean parameter'); + } + if (options.collapse === collapse) { + return picker; + } + options.collapse = collapse; + if (widget) { + hide(); + show(); + } + return picker; + }; + + picker.icons = function (icons) { + if (arguments.length === 0) { + return $.extend({}, options.icons); + } + + if (!(icons instanceof Object)) { + throw new TypeError('icons() expects parameter to be an Object'); + } + $.extend(options.icons, icons); + if (widget) { + hide(); + show(); + } + return picker; + }; + + picker.tooltips = function (tooltips) { + if (arguments.length === 0) { + return $.extend({}, options.tooltips); + } + + if (!(tooltips instanceof Object)) { + throw new TypeError('tooltips() expects parameter to be an Object'); + } + $.extend(options.tooltips, tooltips); + if (widget) { + hide(); + show(); + } + return picker; + }; + + picker.useStrict = function (useStrict) { + if (arguments.length === 0) { + return options.useStrict; + } + + if (typeof useStrict !== 'boolean') { + throw new TypeError('useStrict() expects a boolean parameter'); + } + options.useStrict = useStrict; + return picker; + }; + + picker.sideBySide = function (sideBySide) { + if (arguments.length === 0) { + return options.sideBySide; + } + + if (typeof sideBySide !== 'boolean') { + throw new TypeError('sideBySide() expects a boolean parameter'); + } + options.sideBySide = sideBySide; + if (widget) { + hide(); + show(); + } + return picker; + }; + + picker.viewMode = function (viewMode) { + if (arguments.length === 0) { + return options.viewMode; + } + + if (typeof viewMode !== 'string') { + throw new TypeError('viewMode() expects a string parameter'); + } + + if (viewModes.indexOf(viewMode) === -1) { + throw new TypeError('viewMode() parameter must be one of (' + viewModes.join(', ') + ') value'); + } + + options.viewMode = viewMode; + currentViewMode = Math.max(viewModes.indexOf(viewMode), minViewModeNumber); + + showMode(); + return picker; + }; + + picker.toolbarPlacement = function (toolbarPlacement) { + if (arguments.length === 0) { + return options.toolbarPlacement; + } + + if (typeof toolbarPlacement !== 'string') { + throw new TypeError('toolbarPlacement() expects a string parameter'); + } + if (toolbarPlacements.indexOf(toolbarPlacement) === -1) { + throw new TypeError('toolbarPlacement() parameter must be one of (' + toolbarPlacements.join(', ') + ') value'); + } + options.toolbarPlacement = toolbarPlacement; + + if (widget) { + hide(); + show(); + } + return picker; + }; + + picker.widgetPositioning = function (widgetPositioning) { + if (arguments.length === 0) { + return $.extend({}, options.widgetPositioning); + } + + if (({}).toString.call(widgetPositioning) !== '[object Object]') { + throw new TypeError('widgetPositioning() expects an object variable'); + } + if (widgetPositioning.horizontal) { + if (typeof widgetPositioning.horizontal !== 'string') { + throw new TypeError('widgetPositioning() horizontal variable must be a string'); + } + widgetPositioning.horizontal = widgetPositioning.horizontal.toLowerCase(); + if (horizontalModes.indexOf(widgetPositioning.horizontal) === -1) { + throw new TypeError('widgetPositioning() expects horizontal parameter to be one of (' + horizontalModes.join(', ') + ')'); + } + options.widgetPositioning.horizontal = widgetPositioning.horizontal; + } + if (widgetPositioning.vertical) { + if (typeof widgetPositioning.vertical !== 'string') { + throw new TypeError('widgetPositioning() vertical variable must be a string'); + } + widgetPositioning.vertical = widgetPositioning.vertical.toLowerCase(); + if (verticalModes.indexOf(widgetPositioning.vertical) === -1) { + throw new TypeError('widgetPositioning() expects vertical parameter to be one of (' + verticalModes.join(', ') + ')'); + } + options.widgetPositioning.vertical = widgetPositioning.vertical; + } + update(); + return picker; + }; + + picker.calendarWeeks = function (calendarWeeks) { + if (arguments.length === 0) { + return options.calendarWeeks; + } + + if (typeof calendarWeeks !== 'boolean') { + throw new TypeError('calendarWeeks() expects parameter to be a boolean value'); + } + + options.calendarWeeks = calendarWeeks; + update(); + return picker; + }; + + picker.showTodayButton = function (showTodayButton) { + if (arguments.length === 0) { + return options.showTodayButton; + } + + if (typeof showTodayButton !== 'boolean') { + throw new TypeError('showTodayButton() expects a boolean parameter'); + } + + options.showTodayButton = showTodayButton; + if (widget) { + hide(); + show(); + } + return picker; + }; + + picker.showClear = function (showClear) { + if (arguments.length === 0) { + return options.showClear; + } + + if (typeof showClear !== 'boolean') { + throw new TypeError('showClear() expects a boolean parameter'); + } + + options.showClear = showClear; + if (widget) { + hide(); + show(); + } + return picker; + }; + + picker.widgetParent = function (widgetParent) { + if (arguments.length === 0) { + return options.widgetParent; + } + + if (typeof widgetParent === 'string') { + widgetParent = $(widgetParent); + } + + if (widgetParent !== null && (typeof widgetParent !== 'string' && !(widgetParent instanceof $))) { + throw new TypeError('widgetParent() expects a string or a jQuery object parameter'); + } + + options.widgetParent = widgetParent; + if (widget) { + hide(); + show(); + } + return picker; + }; + + picker.keepOpen = function (keepOpen) { + if (arguments.length === 0) { + return options.keepOpen; + } + + if (typeof keepOpen !== 'boolean') { + throw new TypeError('keepOpen() expects a boolean parameter'); + } + + options.keepOpen = keepOpen; + return picker; + }; + + picker.focusOnShow = function (focusOnShow) { + if (arguments.length === 0) { + return options.focusOnShow; + } + + if (typeof focusOnShow !== 'boolean') { + throw new TypeError('focusOnShow() expects a boolean parameter'); + } + + options.focusOnShow = focusOnShow; + return picker; + }; + + picker.inline = function (inline) { + if (arguments.length === 0) { + return options.inline; + } + + if (typeof inline !== 'boolean') { + throw new TypeError('inline() expects a boolean parameter'); + } + + options.inline = inline; + return picker; + }; + + picker.clear = function () { + clear(); + return picker; + }; + + picker.keyBinds = function (keyBinds) { + if (arguments.length === 0) { + return options.keyBinds; + } + + options.keyBinds = keyBinds; + return picker; + }; + + picker.getMoment = function (d) { + return getMoment(d); + }; + + picker.debug = function (debug) { + if (typeof debug !== 'boolean') { + throw new TypeError('debug() expects a boolean parameter'); + } + + options.debug = debug; + return picker; + }; + + picker.allowInputToggle = function (allowInputToggle) { + if (arguments.length === 0) { + return options.allowInputToggle; + } + + if (typeof allowInputToggle !== 'boolean') { + throw new TypeError('allowInputToggle() expects a boolean parameter'); + } + + options.allowInputToggle = allowInputToggle; + return picker; + }; + + picker.showClose = function (showClose) { + if (arguments.length === 0) { + return options.showClose; + } + + if (typeof showClose !== 'boolean') { + throw new TypeError('showClose() expects a boolean parameter'); + } + + options.showClose = showClose; + return picker; + }; + + picker.keepInvalid = function (keepInvalid) { + if (arguments.length === 0) { + return options.keepInvalid; + } + + if (typeof keepInvalid !== 'boolean') { + throw new TypeError('keepInvalid() expects a boolean parameter'); + } + options.keepInvalid = keepInvalid; + return picker; + }; + + picker.datepickerInput = function (datepickerInput) { + if (arguments.length === 0) { + return options.datepickerInput; + } + + if (typeof datepickerInput !== 'string') { + throw new TypeError('datepickerInput() expects a string parameter'); + } + + options.datepickerInput = datepickerInput; + return picker; + }; + + picker.parseInputDate = function (parseInputDate) { + if (arguments.length === 0) { + return options.parseInputDate; + } + + if (typeof parseInputDate !== 'function') { + throw new TypeError('parseInputDate() sholud be as function'); + } + + options.parseInputDate = parseInputDate; + + return picker; + }; + + picker.disabledTimeIntervals = function (disabledTimeIntervals) { + ///<signature helpKeyword="$.fn.datetimepicker.disabledTimeIntervals"> + ///<summary>Returns an array with the currently set disabled dates on the component.</summary> + ///<returns type="array">options.disabledTimeIntervals</returns> + ///</signature> + ///<signature> + ///<summary>Setting this takes precedence over options.minDate, options.maxDate configuration. Also calling this function removes the configuration of + ///options.enabledDates if such exist.</summary> + ///<param name="dates" locid="$.fn.datetimepicker.disabledTimeIntervals_p:dates">Takes an [ string or Date or moment ] of values and allows the user to select only from those days.</param> + ///</signature> + if (arguments.length === 0) { + return (options.disabledTimeIntervals ? $.extend({}, options.disabledTimeIntervals) : options.disabledTimeIntervals); + } + + if (!disabledTimeIntervals) { + options.disabledTimeIntervals = false; + update(); + return picker; + } + if (!(disabledTimeIntervals instanceof Array)) { + throw new TypeError('disabledTimeIntervals() expects an array parameter'); + } + options.disabledTimeIntervals = disabledTimeIntervals; + update(); + return picker; + }; + + picker.disabledHours = function (hours) { + ///<signature helpKeyword="$.fn.datetimepicker.disabledHours"> + ///<summary>Returns an array with the currently set disabled hours on the component.</summary> + ///<returns type="array">options.disabledHours</returns> + ///</signature> + ///<signature> + ///<summary>Setting this takes precedence over options.minDate, options.maxDate configuration. Also calling this function removes the configuration of + ///options.enabledHours if such exist.</summary> + ///<param name="hours" locid="$.fn.datetimepicker.disabledHours_p:hours">Takes an [ int ] of values and disallows the user to select only from those hours.</param> + ///</signature> + if (arguments.length === 0) { + return (options.disabledHours ? $.extend({}, options.disabledHours) : options.disabledHours); + } + + if (!hours) { + options.disabledHours = false; + update(); + return picker; + } + if (!(hours instanceof Array)) { + throw new TypeError('disabledHours() expects an array parameter'); + } + options.disabledHours = indexGivenHours(hours); + options.enabledHours = false; + if (options.useCurrent && !options.keepInvalid) { + var tries = 0; + while (!isValid(date, 'h')) { + date.add(1, 'h'); + if (tries === 24) { + throw 'Tried 24 times to find a valid date'; + } + tries++; + } + setValue(date); + } + update(); + return picker; + }; + + picker.enabledHours = function (hours) { + ///<signature helpKeyword="$.fn.datetimepicker.enabledHours"> + ///<summary>Returns an array with the currently set enabled hours on the component.</summary> + ///<returns type="array">options.enabledHours</returns> + ///</signature> + ///<signature> + ///<summary>Setting this takes precedence over options.minDate, options.maxDate configuration. Also calling this function removes the configuration of options.disabledHours if such exist.</summary> + ///<param name="hours" locid="$.fn.datetimepicker.enabledHours_p:hours">Takes an [ int ] of values and allows the user to select only from those hours.</param> + ///</signature> + if (arguments.length === 0) { + return (options.enabledHours ? $.extend({}, options.enabledHours) : options.enabledHours); + } + + if (!hours) { + options.enabledHours = false; + update(); + return picker; + } + if (!(hours instanceof Array)) { + throw new TypeError('enabledHours() expects an array parameter'); + } + options.enabledHours = indexGivenHours(hours); + options.disabledHours = false; + if (options.useCurrent && !options.keepInvalid) { + var tries = 0; + while (!isValid(date, 'h')) { + date.add(1, 'h'); + if (tries === 24) { + throw 'Tried 24 times to find a valid date'; + } + tries++; + } + setValue(date); + } + update(); + return picker; + }; + /** + * Returns the component's model current viewDate, a moment object or null if not set. Passing a null value unsets the components model current moment. Parsing of the newDate parameter is made using moment library with the options.format and options.useStrict components configuration. + * @param {Takes string, viewDate, moment, null parameter.} newDate + * @returns {viewDate.clone()} + */ + picker.viewDate = function (newDate) { + if (arguments.length === 0) { + return viewDate.clone(); + } + + if (!newDate) { + viewDate = date.clone(); + return picker; + } + + if (typeof newDate !== 'string' && !moment.isMoment(newDate) && !(newDate instanceof Date)) { + throw new TypeError('viewDate() parameter must be one of [string, moment or Date]'); + } + + viewDate = parseInputDate(newDate); + viewUpdate(); + return picker; + }; + + // initializing element and component attributes + if (element.is('input')) { + input = element; + } else { + input = element.find(options.datepickerInput); + if (input.length === 0) { + input = element.find('input'); + } else if (!input.is('input')) { + throw new Error('CSS class "' + options.datepickerInput + '" cannot be applied to non input element'); + } + } + + if (element.hasClass('input-group')) { + // in case there is more then one 'input-group-addon' Issue #48 + if (element.find('.datepickerbutton').length === 0) { + component = element.find('.input-group-addon'); + } else { + component = element.find('.datepickerbutton'); + } + } + + if (!options.inline && !input.is('input')) { + throw new Error('Could not initialize DateTimePicker without an input element'); + } + + // Set defaults for date here now instead of in var declaration + date = getMoment(); + viewDate = date.clone(); + + $.extend(true, options, dataToOptions()); + + picker.options(options); + + initFormatting(); + + attachDatePickerElementEvents(); + + if (input.prop('disabled')) { + picker.disable(); + } + if (input.is('input') && input.val().trim().length !== 0) { + setValue(parseInputDate(input.val().trim())); + } + else if (options.defaultDate && input.attr('placeholder') === undefined) { + setValue(options.defaultDate); + } + if (options.inline) { + show(); + } + return picker; + }; + + /******************************************************************************** + * + * jQuery plugin constructor and defaults object + * + ********************************************************************************/ + + /** + * See (http://jquery.com/). + * @name jQuery + * @class + * See the jQuery Library (http://jquery.com/) for full details. This just + * documents the function and classes that are added to jQuery by this plug-in. + */ + /** + * See (http://jquery.com/) + * @name fn + * @class + * See the jQuery Library (http://jquery.com/) for full details. This just + * documents the function and classes that are added to jQuery by this plug-in. + * @memberOf jQuery + */ + /** + * Show comments + * @class datetimepicker + * @memberOf jQuery.fn + */ + $.fn.datetimepicker = function (options) { + options = options || {}; + + var args = Array.prototype.slice.call(arguments, 1), + isInstance = true, + thisMethods = ['destroy', 'hide', 'show', 'toggle'], + returnValue; + + if (typeof options === 'object') { + return this.each(function () { + var $this = $(this), + _options; + if (!$this.data('DateTimePicker')) { + // create a private copy of the defaults object + _options = $.extend(true, {}, $.fn.datetimepicker.defaults, options); + $this.data('DateTimePicker', dateTimePicker($this, _options)); + } + }); + } else if (typeof options === 'string') { + this.each(function () { + var $this = $(this), + instance = $this.data('DateTimePicker'); + if (!instance) { + throw new Error('bootstrap-datetimepicker("' + options + '") method was called on an element that is not using DateTimePicker'); + } + + returnValue = instance[options].apply(instance, args); + isInstance = returnValue === instance; + }); + + if (isInstance || $.inArray(options, thisMethods) > -1) { + return this; + } + + return returnValue; + } + + throw new TypeError('Invalid arguments for DateTimePicker: ' + options); + }; + + $.fn.datetimepicker.defaults = { + timeZone: '', + format: false, + dayViewHeaderFormat: 'MMMM YYYY', + extraFormats: false, + stepping: 1, + minDate: false, + maxDate: false, + useCurrent: true, + collapse: true, + locale: moment.locale(), + defaultDate: false, + disabledDates: false, + enabledDates: false, + icons: { + time: 'glyphicon glyphicon-time', + date: 'glyphicon glyphicon-calendar', + up: 'glyphicon glyphicon-chevron-up', + down: 'glyphicon glyphicon-chevron-down', + previous: 'glyphicon glyphicon-chevron-left', + next: 'glyphicon glyphicon-chevron-right', + today: 'glyphicon glyphicon-screenshot', + clear: 'glyphicon glyphicon-trash', + close: 'glyphicon glyphicon-remove' + }, + tooltips: { + today: 'Go to today', + clear: 'Clear selection', + close: 'Close the picker', + selectMonth: 'Select Month', + prevMonth: 'Previous Month', + nextMonth: 'Next Month', + selectYear: 'Select Year', + prevYear: 'Previous Year', + nextYear: 'Next Year', + selectDecade: 'Select Decade', + prevDecade: 'Previous Decade', + nextDecade: 'Next Decade', + prevCentury: 'Previous Century', + nextCentury: 'Next Century', + pickHour: 'Pick Hour', + incrementHour: 'Increment Hour', + decrementHour: 'Decrement Hour', + pickMinute: 'Pick Minute', + incrementMinute: 'Increment Minute', + decrementMinute: 'Decrement Minute', + pickSecond: 'Pick Second', + incrementSecond: 'Increment Second', + decrementSecond: 'Decrement Second', + togglePeriod: 'Toggle Period', + selectTime: 'Select Time' + }, + useStrict: false, + sideBySide: false, + daysOfWeekDisabled: false, + calendarWeeks: false, + viewMode: 'days', + toolbarPlacement: 'default', + showTodayButton: false, + showClear: false, + showClose: false, + widgetPositioning: { + horizontal: 'auto', + vertical: 'auto' + }, + widgetParent: null, + ignoreReadonly: false, + keepOpen: false, + focusOnShow: true, + inline: false, + keepInvalid: false, + datepickerInput: '.datepickerinput', + keyBinds: { + up: function (widget) { + if (!widget) { + return; + } + var d = this.date() || this.getMoment(); + if (widget.find('.datepicker').is(':visible')) { + this.date(d.clone().subtract(7, 'd')); + } else { + this.date(d.clone().add(this.stepping(), 'm')); + } + }, + down: function (widget) { + if (!widget) { + this.show(); + return; + } + var d = this.date() || this.getMoment(); + if (widget.find('.datepicker').is(':visible')) { + this.date(d.clone().add(7, 'd')); + } else { + this.date(d.clone().subtract(this.stepping(), 'm')); + } + }, + 'control up': function (widget) { + if (!widget) { + return; + } + var d = this.date() || this.getMoment(); + if (widget.find('.datepicker').is(':visible')) { + this.date(d.clone().subtract(1, 'y')); + } else { + this.date(d.clone().add(1, 'h')); + } + }, + 'control down': function (widget) { + if (!widget) { + return; + } + var d = this.date() || this.getMoment(); + if (widget.find('.datepicker').is(':visible')) { + this.date(d.clone().add(1, 'y')); + } else { + this.date(d.clone().subtract(1, 'h')); + } + }, + left: function (widget) { + if (!widget) { + return; + } + var d = this.date() || this.getMoment(); + if (widget.find('.datepicker').is(':visible')) { + this.date(d.clone().subtract(1, 'd')); + } + }, + right: function (widget) { + if (!widget) { + return; + } + var d = this.date() || this.getMoment(); + if (widget.find('.datepicker').is(':visible')) { + this.date(d.clone().add(1, 'd')); + } + }, + pageUp: function (widget) { + if (!widget) { + return; + } + var d = this.date() || this.getMoment(); + if (widget.find('.datepicker').is(':visible')) { + this.date(d.clone().subtract(1, 'M')); + } + }, + pageDown: function (widget) { + if (!widget) { + return; + } + var d = this.date() || this.getMoment(); + if (widget.find('.datepicker').is(':visible')) { + this.date(d.clone().add(1, 'M')); + } + }, + enter: function () { + this.hide(); + }, + escape: function () { + this.hide(); + }, + //tab: function (widget) { //this break the flow of the form. disabling for now + // var toggle = widget.find('.picker-switch a[data-action="togglePicker"]'); + // if(toggle.length > 0) toggle.click(); + //}, + 'control space': function (widget) { + if (!widget) { + return; + } + if (widget.find('.timepicker').is(':visible')) { + widget.find('.btn[data-action="togglePeriod"]').click(); + } + }, + t: function () { + this.date(this.getMoment()); + }, + 'delete': function () { + this.clear(); + } + }, + debug: false, + allowInputToggle: false, + disabledTimeIntervals: false, + disabledHours: false, + enabledHours: false, + viewDate: false + }; + + return $.fn.datetimepicker; +})); diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/src/less/_bootstrap-datetimepicker.less b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/less/_bootstrap-datetimepicker.less new file mode 100644 index 0000000..b315172 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/less/_bootstrap-datetimepicker.less @@ -0,0 +1,353 @@ +/*! + * Datetimepicker for Bootstrap 3 + * version : 4.17.47 + * https://github.com/Eonasdan/bootstrap-datetimepicker/ + */ +@bs-datetimepicker-timepicker-font-size: 1.2em; +@bs-datetimepicker-active-bg: @btn-primary-bg; +@bs-datetimepicker-active-color: @btn-primary-color; +@bs-datetimepicker-border-radius: @border-radius-base; +@bs-datetimepicker-btn-hover-bg: @gray-lighter; +@bs-datetimepicker-disabled-color: @gray-light; +@bs-datetimepicker-alternate-color: @gray-light; +@bs-datetimepicker-secondary-border-color: #ccc; +@bs-datetimepicker-secondary-border-color-rgba: rgba(0, 0, 0, 0.2); +@bs-datetimepicker-primary-border-color: white; +@bs-datetimepicker-text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + +.bootstrap-datetimepicker-widget { + list-style: none; + + &.dropdown-menu { + display: block; + margin: 2px 0; + padding: 4px; + width: 19em; + + &.timepicker-sbs { + @media (min-width: @screen-sm-min) { + width: 38em; + } + + @media (min-width: @screen-md-min) { + width: 38em; + } + + @media (min-width: @screen-lg-min) { + width: 38em; + } + } + + &:before, &:after { + content: ''; + display: inline-block; + position: absolute; + } + + &.bottom { + &:before { + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid @bs-datetimepicker-secondary-border-color; + border-bottom-color: @bs-datetimepicker-secondary-border-color-rgba; + top: -7px; + left: 7px; + } + + &:after { + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid @bs-datetimepicker-primary-border-color; + top: -6px; + left: 8px; + } + } + + &.top { + &:before { + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-top: 7px solid @bs-datetimepicker-secondary-border-color; + border-top-color: @bs-datetimepicker-secondary-border-color-rgba; + bottom: -7px; + left: 6px; + } + + &:after { + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-top: 6px solid @bs-datetimepicker-primary-border-color; + bottom: -6px; + left: 7px; + } + } + + &.pull-right { + &:before { + left: auto; + right: 6px; + } + + &:after { + left: auto; + right: 7px; + } + } + } + + .list-unstyled { + margin: 0; + } + + a[data-action] { + padding: 6px 0; + } + + a[data-action]:active { + box-shadow: none; + } + + .timepicker-hour, .timepicker-minute, .timepicker-second { + width: 54px; + font-weight: bold; + font-size: @bs-datetimepicker-timepicker-font-size; + margin: 0; + } + + button[data-action] { + padding: 6px; + } + + .btn[data-action="incrementHours"]::after { + .sr-only(); + content: "Increment Hours"; + } + + .btn[data-action="incrementMinutes"]::after { + .sr-only(); + content: "Increment Minutes"; + } + + .btn[data-action="decrementHours"]::after { + .sr-only(); + content: "Decrement Hours"; + } + + .btn[data-action="decrementMinutes"]::after { + .sr-only(); + content: "Decrement Minutes"; + } + + .btn[data-action="showHours"]::after { + .sr-only(); + content: "Show Hours"; + } + + .btn[data-action="showMinutes"]::after { + .sr-only(); + content: "Show Minutes"; + } + + .btn[data-action="togglePeriod"]::after { + .sr-only(); + content: "Toggle AM/PM"; + } + + .btn[data-action="clear"]::after { + .sr-only(); + content: "Clear the picker"; + } + + .btn[data-action="today"]::after { + .sr-only(); + content: "Set the date to today"; + } + + .picker-switch { + text-align: center; + + &::after { + .sr-only(); + content: "Toggle Date and Time Screens"; + } + + td { + padding: 0; + margin: 0; + height: auto; + width: auto; + line-height: inherit; + + span { + line-height: 2.5; + height: 2.5em; + width: 100%; + } + } + } + + table { + width: 100%; + margin: 0; + + + & td, + & th { + text-align: center; + border-radius: @bs-datetimepicker-border-radius; + } + + & th { + height: 20px; + line-height: 20px; + width: 20px; + + &.picker-switch { + width: 145px; + } + + &.disabled, + &.disabled:hover { + background: none; + color: @bs-datetimepicker-disabled-color; + cursor: not-allowed; + } + + &.prev::after { + .sr-only(); + content: "Previous Month"; + } + + &.next::after { + .sr-only(); + content: "Next Month"; + } + } + + & thead tr:first-child th { + cursor: pointer; + + &:hover { + background: @bs-datetimepicker-btn-hover-bg; + } + } + + & td { + height: 54px; + line-height: 54px; + width: 54px; + + &.cw { + font-size: .8em; + height: 20px; + line-height: 20px; + color: @bs-datetimepicker-alternate-color; + } + + &.day { + height: 20px; + line-height: 20px; + width: 20px; + } + + &.day:hover, + &.hour:hover, + &.minute:hover, + &.second:hover { + background: @bs-datetimepicker-btn-hover-bg; + cursor: pointer; + } + + &.old, + &.new { + color: @bs-datetimepicker-alternate-color; + } + + &.today { + position: relative; + + &:before { + content: ''; + display: inline-block; + border: solid transparent; + border-width: 0 0 7px 7px; + border-bottom-color: @bs-datetimepicker-active-bg; + border-top-color: @bs-datetimepicker-secondary-border-color-rgba; + position: absolute; + bottom: 4px; + right: 4px; + } + } + + &.active, + &.active:hover { + background-color: @bs-datetimepicker-active-bg; + color: @bs-datetimepicker-active-color; + text-shadow: @bs-datetimepicker-text-shadow; + } + + &.active.today:before { + border-bottom-color: #fff; + } + + &.disabled, + &.disabled:hover { + background: none; + color: @bs-datetimepicker-disabled-color; + cursor: not-allowed; + } + + span { + display: inline-block; + width: 54px; + height: 54px; + line-height: 54px; + margin: 2px 1.5px; + cursor: pointer; + border-radius: @bs-datetimepicker-border-radius; + + &:hover { + background: @bs-datetimepicker-btn-hover-bg; + } + + &.active { + background-color: @bs-datetimepicker-active-bg; + color: @bs-datetimepicker-active-color; + text-shadow: @bs-datetimepicker-text-shadow; + } + + &.old { + color: @bs-datetimepicker-alternate-color; + } + + &.disabled, + &.disabled:hover { + background: none; + color: @bs-datetimepicker-disabled-color; + cursor: not-allowed; + } + } + } + } + + &.usetwentyfour { + td.hour { + height: 27px; + line-height: 27px; + } + } + + &.wider { + width: 21em; + } + + & .datepicker-decades .decade { + line-height: 1.8em !important; + } +} + +.input-group.date { + & .input-group-addon { + cursor: pointer; + } +} diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/src/less/bootstrap-datetimepicker-build.less b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/less/bootstrap-datetimepicker-build.less new file mode 100644 index 0000000..3f0b188 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/less/bootstrap-datetimepicker-build.less @@ -0,0 +1,17 @@ +// Import bootstrap variables including default color palette and fonts +@import "bootstrap/less/variables.less"; + +// Import datepicker component +@import "_bootstrap-datetimepicker.less"; + +//this is here so the compiler doesn't complain about a missing bootstrap mixin +.sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + border: 0; +} diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.CSS.nuspec b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.CSS.nuspec new file mode 100644 index 0000000..da03408 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.CSS.nuspec @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="utf-8"?> +<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd"> + <metadata> + <id>Bootstrap.v3.Datetimepicker.CSS</id> + <version>4.0.0</version> + <title>Bootstrap 3 Datetimepicker CSS</title> + <authors>Eonasdan</authors> + <owners>Eonasdan</owners> + <projectUrl>https://github.com/Eonasdan/bootstrap-datetimepicker</projectUrl> + <requireLicenseAcceptance>false</requireLicenseAcceptance> + <description>A date/time picker component designed to work with Bootstrap 3 and Momentjs. + +For usage, installation and demos see Project Site on GitHub + +For LESS version install Bootstrap.v3.Datetimepicker</description> + <releaseNotes> + Check the change log on Github at https://github.com/Eonasdan/bootstrap-datetimepicker/wiki/Change-Log + + IMPORANT! The Nuget packages will be depreciated in an upcoming release. Moving forward, Asp.Net/Nuget will NOT be delivering content packages like this one and you will need to use bower. See https://github.com/Eonasdan/bootstrap-datetimepicker/issues/1128 for more + </releaseNotes> + <tags>bootstrap date time picker datetimepicker datepicker jquery</tags> + <dependencies> + <dependency id="bootstrap" version="3.3.0" /> + <dependency id="Moment.js" version="2.9.0" /> + </dependencies> + </metadata> + <files> + <file src="..\..\src\js\bootstrap-datetimepicker.js" target="content\Scripts" /> + <file src="..\..\build\js\bootstrap-datetimepicker.min.js" target="content\Scripts" /> + <file src="..\..\build\css\bootstrap-datetimepicker.css" target="content\Content" /> + <file src="..\..\build\css\bootstrap-datetimepicker.min.css" target="content\Content" /> + <file src="install.ps1" target="tools\" /> + </files> +</package> \ No newline at end of file diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.nuspec b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.nuspec new file mode 100644 index 0000000..8678e0a --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.nuspec @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="utf-8"?> +<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd"> + <metadata> + <id>Bootstrap.v3.Datetimepicker</id> + <version>4.0.0</version> + <title>Bootstrap 3 Datetimepicker</title> + <authors>Eonasdan</authors> + <owners>Eonasdan</owners> + <projectUrl>https://github.com/Eonasdan/bootstrap-datetimepicker</projectUrl> + <requireLicenseAcceptance>false</requireLicenseAcceptance> + <description>A date/time picker component designed to work with Bootstrap 3 and Momentjs. + +For usage, installation and demos see Project Site on GitHub + +For CSS version install Bootstrap.v3.Datetimepicker.CSS</description> + <releaseNotes> + Check the change log on Github at https://github.com/Eonasdan/bootstrap-datetimepicker/wiki/Change-Log + + IMPORANT! The Nuget packages will be depreciated in an upcoming release. Moving forward, Asp.Net/Nuget will NOT be delivering content packages like this one and you will need to use bower. See https://github.com/Eonasdan/bootstrap-datetimepicker/issues/1128 for more + </releaseNotes> + <tags>bootstrap date time picker datetimepicker datepicker jquery</tags> + <dependencies> + <dependency id="bootstrap.Less" version="3.3.0" /> + <dependency id="Moment.js" version="2.9.0" /> + </dependencies> + </metadata> + <files> + <file src="..\..\src\js\bootstrap-datetimepicker.js" target="content\Scripts" /> + <file src="..\..\build\js\bootstrap-datetimepicker.min.js" target="content\Scripts" /> + <file src="..\..\src\less\_bootstrap-datetimepicker.less" target="content\Content\" /> + <file src="..\..\src\less\bootstrap-datetimepicker-build.less" target="content\Content\" /> + <file src="install.ps1" target="tools\" /> + </files> +</package> \ No newline at end of file diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/NuGet.exe b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/NuGet.exe new file mode 100644 index 0000000000000000000000000000000000000000..c41a0d0debd870f8df2754f07a9f29c2d89a3d27 GIT binary patch literal 1662976 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§aghoAul?L0X>d$YAi*B*}Ui| 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≀u3%ll>HC17`Qjrp#2UXAU^9R4NKu~g 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%0Ac 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%0DrL)V%eZ8Le!)%3tCGfmdsQCB3>>Xm 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	liI`dCHeT!%<7;}X+9xBJ*iwwM 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 EFFYo8OaK4? literal 0 HcmV?d00001 diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/install.ps1 b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/install.ps1 new file mode 100644 index 0000000..3b0e753 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/install.ps1 @@ -0,0 +1,2 @@ +# install.ps1 +$DTE.ItemOperations.Navigate("https://github.com/Eonasdan/bootstrap-datetimepicker/issues/1128", $DTE.vsNavigateOptions.vsNavigateOptionsNewWindow) diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/src/sass/_bootstrap-datetimepicker.scss b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/sass/_bootstrap-datetimepicker.scss new file mode 100644 index 0000000..0b722ba --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/sass/_bootstrap-datetimepicker.scss @@ -0,0 +1,344 @@ +/*! + * Datetimepicker for Bootstrap 3 + * ! version : 4.7.14 + * https://github.com/Eonasdan/bootstrap-datetimepicker/ + */ +$bs-datetimepicker-timepicker-font-size: 1.2em !default; +$bs-datetimepicker-active-bg: $btn-primary-bg !default; +$bs-datetimepicker-active-color: $btn-primary-color !default; +$bs-datetimepicker-border-radius: $border-radius-base !default; +$bs-datetimepicker-btn-hover-bg: $gray-lighter !default; +$bs-datetimepicker-disabled-color: $gray-light !default; +$bs-datetimepicker-alternate-color: $gray-light !default; +$bs-datetimepicker-secondary-border-color: #ccc !default; +$bs-datetimepicker-secondary-border-color-rgba: rgba(0, 0, 0, 0.2) !default; +$bs-datetimepicker-primary-border-color: white !default; +$bs-datetimepicker-text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25) !default; + +.bootstrap-datetimepicker-widget { + list-style: none; + + &.dropdown-menu { + margin: 2px 0; + padding: 4px; + width: 19em; + + &.timepicker-sbs { + @media (min-width: $screen-sm-min) { + width: 38em; + } + + @media (min-width: $screen-md-min) { + width: 38em; + } + + @media (min-width: $screen-lg-min) { + width: 38em; + } + } + + &:before, &:after { + content: ''; + display: inline-block; + position: absolute; + } + + &.bottom { + &:before { + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid $bs-datetimepicker-secondary-border-color; + border-bottom-color: $bs-datetimepicker-secondary-border-color-rgba; + top: -7px; + left: 7px; + } + + &:after { + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid $bs-datetimepicker-primary-border-color; + top: -6px; + left: 8px; + } + } + + &.top { + &:before { + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-top: 7px solid $bs-datetimepicker-secondary-border-color; + border-top-color: $bs-datetimepicker-secondary-border-color-rgba; + bottom: -7px; + left: 6px; + } + + &:after { + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-top: 6px solid $bs-datetimepicker-primary-border-color; + bottom: -6px; + left: 7px; + } + } + + &.pull-right { + &:before { + left: auto; + right: 6px; + } + + &:after { + left: auto; + right: 7px; + } + } + } + + .list-unstyled { + margin: 0; + } + + a[data-action] { + padding: 6px 0; + } + + a[data-action]:active { + box-shadow: none; + } + + .timepicker-hour, .timepicker-minute, .timepicker-second { + width: 54px; + font-weight: bold; + font-size: $bs-datetimepicker-timepicker-font-size; + margin: 0; + } + + button[data-action] { + padding: 6px; + } + + .btn[data-action="incrementHours"]::after { + @extend .sr-only; + content: "Increment Hours"; + } + + .btn[data-action="incrementMinutes"]::after { + @extend .sr-only; + content: "Increment Minutes"; + } + + .btn[data-action="decrementHours"]::after { + @extend .sr-only; + content: "Decrement Hours"; + } + + .btn[data-action="decrementMinutes"]::after { + @extend .sr-only; + content: "Decrement Minutes"; + } + + .btn[data-action="showHours"]::after { + @extend .sr-only; + content: "Show Hours"; + } + + .btn[data-action="showMinutes"]::after { + @extend .sr-only; + content: "Show Minutes"; + } + + .btn[data-action="togglePeriod"]::after { + @extend .sr-only; + content: "Toggle AM/PM"; + } + + .btn[data-action="clear"]::after { + @extend .sr-only; + content: "Clear the picker"; + } + + .btn[data-action="today"]::after { + @extend .sr-only; + content: "Set the date to today"; + } + + .picker-switch { + text-align: center; + + &::after { + @extend .sr-only; + content: "Toggle Date and Time Screens"; + } + + td { + padding: 0; + margin: 0; + height: auto; + width: auto; + line-height: inherit; + + span { + line-height: 2.5; + height: 2.5em; + width: 100%; + } + } + } + + table { + width: 100%; + margin: 0; + + + & td, + & th { + text-align: center; + border-radius: $bs-datetimepicker-border-radius; + } + + & th { + height: 20px; + line-height: 20px; + width: 20px; + + &.picker-switch { + width: 145px; + } + + &.disabled, + &.disabled:hover { + background: none; + color: $bs-datetimepicker-disabled-color; + cursor: not-allowed; + } + + &.prev::after { + @extend .sr-only; + content: "Previous Month"; + } + + &.next::after { + @extend .sr-only; + content: "Next Month"; + } + } + + & thead tr:first-child th { + cursor: pointer; + + &:hover { + background: $bs-datetimepicker-btn-hover-bg; + } + } + + & td { + height: 54px; + line-height: 54px; + width: 54px; + + &.cw { + font-size: .8em; + height: 20px; + line-height: 20px; + color: $bs-datetimepicker-alternate-color; + } + + &.day { + height: 20px; + line-height: 20px; + width: 20px; + } + + &.day:hover, + &.hour:hover, + &.minute:hover, + &.second:hover { + background: $bs-datetimepicker-btn-hover-bg; + cursor: pointer; + } + + &.old, + &.new { + color: $bs-datetimepicker-alternate-color; + } + + &.today { + position: relative; + + &:before { + content: ''; + display: inline-block; + border: solid transparent; + border-width: 0 0 7px 7px; + border-bottom-color: $bs-datetimepicker-active-bg; + border-top-color: $bs-datetimepicker-secondary-border-color-rgba; + position: absolute; + bottom: 4px; + right: 4px; + } + } + + &.active, + &.active:hover { + background-color: $bs-datetimepicker-active-bg; + color: $bs-datetimepicker-active-color; + text-shadow: $bs-datetimepicker-text-shadow; + } + + &.active.today:before { + border-bottom-color: #fff; + } + + &.disabled, + &.disabled:hover { + background: none; + color: $bs-datetimepicker-disabled-color; + cursor: not-allowed; + } + + span { + display: inline-block; + width: 54px; + height: 54px; + line-height: 54px; + margin: 2px 1.5px; + cursor: pointer; + border-radius: $bs-datetimepicker-border-radius; + + &:hover { + background: $bs-datetimepicker-btn-hover-bg; + } + + &.active { + background-color: $bs-datetimepicker-active-bg; + color: $bs-datetimepicker-active-color; + text-shadow: $bs-datetimepicker-text-shadow; + } + + &.old { + color: $bs-datetimepicker-alternate-color; + } + + &.disabled, + &.disabled:hover { + background: none; + color: $bs-datetimepicker-disabled-color; + cursor: not-allowed; + } + } + } + } + + &.usetwentyfour { + td.hour { + height: 27px; + line-height: 27px; + } + } +} + +.input-group.date { + & .input-group-addon { + cursor: pointer; + } +} diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/src/sass/bootstrap-datetimepicker-build.scss b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/sass/bootstrap-datetimepicker-build.scss new file mode 100644 index 0000000..d578615 --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/sass/bootstrap-datetimepicker-build.scss @@ -0,0 +1,16 @@ +// Import bootstrap variables including default color palette and fonts +//@import "../../node_modules/bootstrap/less/variables.less"; + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + border: 0; +} + +// Import datepicker component +@import "_bootstrap-datetimepicker"; diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/tasks/bump_version.js b/public/bower_components/eonasdan-bootstrap-datetimepicker/tasks/bump_version.js new file mode 100644 index 0000000..76552ca --- /dev/null +++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/tasks/bump_version.js @@ -0,0 +1,88 @@ +module.exports = function (grunt) { + grunt.registerTask('bump_version', function (version) { + if (!version || version.split('.').length !== 3) { + grunt.fail.fatal('malformed version. Use\n\n grunt bump_version:1.2.3'); + } + + grunt.config('string-replace.bootstrap-datetimepicker-js', { + files: {'src/js/bootstrap-datetimepicker.js': 'src/js/bootstrap-datetimepicker.js'}, + options: { + replacements: [ + { + pattern: /\/*! version : .*/, + replacement: '! version : ' + version + } + ] + } + }); + + grunt.config('string-replace.bootstrap-datetimepicker-css', { + files: { 'src/less/_bootstrap-datetimepicker.less': 'src/less/_bootstrap-datetimepicker.less' }, + options: { + replacements: [ + { + pattern: / * version : .*/, + replacement: ' version : ' + version + } + ] + } + }); + + grunt.config('string-replace.package-json', { + files: {'package.json': 'package.json'}, + options: { + replacements: [ + { + pattern: /"version": .*/, + replacement: '"version": "' + version + '"' + } + ] + } + }); + + grunt.config('string-replace.bower-json', { + files: {'bower.json': 'bower.json'}, + options: { + replacements: [ + { + pattern: /"version": .*/, + replacement: '"version": "' + version + '",' + } + ] + } + }); + + grunt.config('string-replace.component-json', { + files: {'component.json': 'component.json'}, + options: { + replacements: [ + { + pattern: /"version": .*/, + replacement: '"version": "' + version + '",' + } + ] + } + }); + + grunt.config('string-replace.composer-json', { + files: {'composer.json': 'composer.json'}, + options: { + replacements: [ + { + pattern: /"version": .*/, + replacement: '"version": "' + version + '",' + } + ] + } + }); + + grunt.task.run([ + 'string-replace:bootstrap-datetimepicker-js', + 'string-replace:bootstrap-datetimepicker-css', + 'string-replace:package-json', + 'string-replace:bower-json', + 'string-replace:component-json', + 'string-replace:composer-json' + ]); + }); +}; diff --git a/public/bower_components/jquery/.bower.json b/public/bower_components/jquery/.bower.json new file mode 100644 index 0000000..3e75c5c --- /dev/null +++ b/public/bower_components/jquery/.bower.json @@ -0,0 +1,25 @@ +{ + "name": "jquery", + "main": "dist/jquery.js", + "license": "MIT", + "ignore": [ + "package.json" + ], + "keywords": [ + "jquery", + "javascript", + "browser", + "library" + ], + "homepage": "https://github.com/jquery/jquery-dist", + "version": "3.3.1", + "_release": "3.3.1", + "_resolution": { + "type": "version", + "tag": "3.3.1", + "commit": "9e8ec3d10fad04748176144f108d7355662ae75e" + }, + "_source": "https://github.com/jquery/jquery-dist.git", + "_target": ">=1.8.3", + "_originalSource": "jquery" +} \ No newline at end of file diff --git a/public/bower_components/jquery/AUTHORS.txt b/public/bower_components/jquery/AUTHORS.txt new file mode 100644 index 0000000..4bb5da1 --- /dev/null +++ b/public/bower_components/jquery/AUTHORS.txt @@ -0,0 +1,313 @@ +Authors ordered by first contribution. + +John Resig <jeresig@gmail.com> +Gilles van den Hoven <gilles0181@gmail.com> +Michael Geary <mike@geary.com> +Stefan Petre <stefan.petre@gmail.com> +Yehuda Katz <wycats@gmail.com> +Corey Jewett <cj@syntheticplayground.com> +Klaus Hartl <klaus.hartl@gmail.com> +Franck Marcia <franck.marcia@gmail.com> +Jörn Zaefferer <joern.zaefferer@gmail.com> +Paul Bakaus <paul.bakaus@gmail.com> +Brandon Aaron <brandon.aaron@gmail.com> +Mike Alsup <malsup@gmail.com> +Dave Methvin <dave.methvin@gmail.com> +Ed Engelhardt <edengelhardt@gmail.com> +Sean Catchpole <littlecooldude@gmail.com> +Paul Mclanahan <pmclanahan@gmail.com> +David Serduke <davidserduke@gmail.com> +Richard D. Worth <rdworth@gmail.com> +Scott González <scott.gonzalez@gmail.com> +Ariel Flesler <aflesler@gmail.com> +Jon Evans <jon@springyweb.com> +TJ Holowaychuk <tj@vision-media.ca> +Michael Bensoussan <mickey@seesmic.com> +Robert Katić <robert.katic@gmail.com> +Louis-Rémi Babé <lrbabe@gmail.com> +Earle Castledine <mrspeaker@gmail.com> +Damian Janowski <damian.janowski@gmail.com> +Rich Dougherty <rich@rd.gen.nz> +Kim Dalsgaard <kim@kimdalsgaard.com> +Andrea Giammarchi <andrea.giammarchi@gmail.com> +Mark Gibson <jollytoad@gmail.com> +Karl Swedberg <kswedberg@gmail.com> +Justin Meyer <justinbmeyer@gmail.com> +Ben Alman <cowboy@rj3.net> +James Padolsey <cla@padolsey.net> +David Petersen <public@petersendidit.com> +Batiste Bieler <batiste.bieler@gmail.com> +Alexander Farkas <info@corrupt-system.de> +Rick Waldron <waldron.rick@gmail.com> +Filipe Fortes <filipe@fortes.com> +Neeraj Singh <neerajdotname@gmail.com> +Paul Irish <paul.irish@gmail.com> +Iraê Carvalho <irae@irae.pro.br> +Matt Curry <matt@pseudocoder.com> +Michael Monteleone <michael@michaelmonteleone.net> +Noah Sloan <noah.sloan@gmail.com> +Tom Viner <github@viner.tv> +Douglas Neiner <doug@dougneiner.com> +Adam J. Sontag <ajpiano@ajpiano.com> +Dave Reed <dareed@microsoft.com> +Ralph Whitbeck <ralph.whitbeck@gmail.com> +Carl Fürstenberg <azatoth@gmail.com> +Jacob Wright <jacwright@gmail.com> +J. Ryan Stinnett <jryans@gmail.com> +unknown <Igen005@.upcorp.ad.uprr.com> +temp01 <temp01irc@gmail.com> +Heungsub Lee <h@subl.ee> +Colin Snover <github.com@zetafleet.com> +Ryan W Tenney <ryan@10e.us> +Pinhook <contact@pinhooklabs.com> +Ron Otten <r.j.g.otten@gmail.com> +Jephte Clain <Jephte.Clain@univ-reunion.fr> +Anton Matzneller <obhvsbypqghgc@gmail.com> +Alex Sexton <AlexSexton@gmail.com> +Dan Heberden <danheberden@gmail.com> +Henri Wiechers <hwiechers@gmail.com> +Russell Holbrook <russell.holbrook@patch.com> +Julian Aubourg <aubourg.julian@gmail.com> +Gianni Alessandro Chiappetta <gianni@runlevel6.org> +Scott Jehl <scottjehl@gmail.com> +James Burke <jrburke@gmail.com> +Jonas Pfenniger <jonas@pfenniger.name> +Xavi Ramirez <xavi.rmz@gmail.com> +Jared Grippe <jared@deadlyicon.com> +Sylvester Keil <sylvester@keil.or.at> +Brandon Sterne <bsterne@mozilla.com> +Mathias Bynens <mathias@qiwi.be> +Timmy Willison <4timmywil@gmail.com> +Corey Frang <gnarf37@gmail.com> +Digitalxero <digitalxero> +Anton Kovalyov <anton@kovalyov.net> +David Murdoch <david@davidmurdoch.com> +Josh Varner <josh.varner@gmail.com> +Charles McNulty <cmcnulty@kznf.com> +Jordan Boesch <jboesch26@gmail.com> +Jess Thrysoee <jess@thrysoee.dk> +Michael Murray <m@murz.net> +Lee Carpenter <elcarpie@gmail.com> +Alexis Abril <me@alexisabril.com> +Rob Morgan <robbym@gmail.com> +John Firebaugh <john_firebaugh@bigfix.com> +Sam Bisbee <sam@sbisbee.com> +Gilmore Davidson <gilmoreorless@gmail.com> +Brian Brennan <me@brianlovesthings.com> +Xavier Montillet <xavierm02.net@gmail.com> +Daniel Pihlstrom <sciolist.se@gmail.com> +Sahab Yazdani <sahab.yazdani+github@gmail.com> +avaly <github-com@agachi.name> +Scott Hughes <hi@scott-hughes.me> +Mike Sherov <mike.sherov@gmail.com> +Greg Hazel <ghazel@gmail.com> +Schalk Neethling <schalk@ossreleasefeed.com> +Denis Knauf <Denis.Knauf@gmail.com> +Timo Tijhof <krinklemail@gmail.com> +Steen Nielsen <swinedk@gmail.com> +Anton Ryzhov <anton@ryzhov.me> +Shi Chuan <shichuanr@gmail.com> +Berker Peksag <berker.peksag@gmail.com> +Toby Brain <tobyb@freshview.com> +Matt Mueller <mattmuelle@gmail.com> +Justin <drakefjustin@gmail.com> +Daniel Herman <daniel.c.herman@gmail.com> +Oleg Gaidarenko <markelog@gmail.com> +Richard Gibson <richard.gibson@gmail.com> +Rafaël Blais Masson <rafbmasson@gmail.com> +cmc3cn <59194618@qq.com> +Joe Presbrey <presbrey@gmail.com> +Sindre Sorhus <sindresorhus@gmail.com> +Arne de Bree <arne@bukkie.nl> +Vladislav Zarakovsky <vlad.zar@gmail.com> +Andrew E Monat <amonat@gmail.com> +Oskari <admin@o-programs.com> +Joao Henrique de Andrade Bruni <joaohbruni@yahoo.com.br> +tsinha <tsinha@Anthonys-MacBook-Pro.local> +Matt Farmer <matt@frmr.me> +Trey Hunner <treyhunner@gmail.com> +Jason Moon <jmoon@socialcast.com> +Jeffery To <jeffery.to@gmail.com> +Kris Borchers <kris.borchers@gmail.com> +Vladimir Zhuravlev <private.face@gmail.com> +Jacob Thornton <jacobthornton@gmail.com> +Chad Killingsworth <chadkillingsworth@missouristate.edu> +Nowres Rafid <nowres.rafed@gmail.com> +David Benjamin <davidben@mit.edu> +Uri Gilad <antishok@gmail.com> +Chris Faulkner <thefaulkner@gmail.com> +Elijah Manor <elijah.manor@gmail.com> +Daniel Chatfield <chatfielddaniel@gmail.com> +Nikita Govorov <nikita.govorov@gmail.com> +Wesley Walser <waw325@gmail.com> +Mike Pennisi <mike@mikepennisi.com> +Markus Staab <markus.staab@redaxo.de> +Dave Riddle <david@joyvuu.com> +Callum Macrae <callum@lynxphp.com> +Benjamin Truyman <bentruyman@gmail.com> +James Huston <james@jameshuston.net> +Erick Ruiz de Chávez <erickrdch@gmail.com> +David Bonner <dbonner@cogolabs.com> +Akintayo Akinwunmi <aakinwunmi@judge.com> +MORGAN <morgan@morgangraphics.com> +Ismail Khair <ismail.khair@gmail.com> +Carl Danley <carldanley@gmail.com> +Mike Petrovich <michael.c.petrovich@gmail.com> +Greg Lavallee <greglavallee@wapolabs.com> +Daniel Gálvez <dgalvez@editablething.com> +Sai Lung Wong <sai.wong@huffingtonpost.com> +Tom H Fuertes <TomFuertes@gmail.com> +Roland Eckl <eckl.roland@googlemail.com> +Jay Merrifield <fracmak@gmail.com> +Allen J Schmidt Jr <cobrasoft@gmail.com> +Jonathan Sampson <jjdsampson@gmail.com> +Marcel Greter <marcel.greter@ocbnet.ch> +Matthias Jäggli <matthias.jaeggli@gmail.com> +David Fox <dfoxinator@gmail.com> +Yiming He <yiminghe@gmail.com> +Devin Cooper <cooper.semantics@gmail.com> +Paul Ramos <paul.b.ramos@gmail.com> +Rod Vagg <rod@vagg.org> +Bennett Sorbo <bsorbo@gmail.com> +Sebastian Burkhard <sebi.burkhard@gmail.com> +Zachary Adam Kaplan <razic@viralkitty.com> +nanto_vi <nanto@moon.email.ne.jp> +nanto <nanto@moon.email.ne.jp> +Danil Somsikov <danilasomsikov@gmail.com> +Ryunosuke SATO <tricknotes.rs@gmail.com> +Jean Boussier <jean.boussier@gmail.com> +Adam Coulombe <me@adam.co> +Andrew Plummer <plummer.andrew@gmail.com> +Mark Raddatz <mraddatz@gmail.com> +Isaac Z. Schlueter <i@izs.me> +Karl Sieburg <ksieburg@yahoo.com> +Pascal Borreli <pascal@borreli.com> +Nguyen Phuc Lam <ruado1987@gmail.com> +Dmitry Gusev <dmitry.gusev@gmail.com> +MichaÅ‚ Gołębiowski-Owczarek <m.goleb@gmail.com> +Li Xudong <istonelee@gmail.com> +Steven Benner <admin@stevenbenner.com> +Tom H Fuertes <tomfuertes@gmail.com> +Renato Oliveira dos Santos <ros3@cin.ufpe.br> +ros3cin <ros3@cin.ufpe.br> +Jason Bedard <jason+jquery@jbedard.ca> +Kyle Robinson Young <kyle@dontkry.com> +Chris Talkington <chris@talkingtontech.com> +Eddie Monge <eddie@eddiemonge.com> +Terry Jones <terry@jon.es> +Jason Merino <jasonmerino@gmail.com> +Jeremy Dunck <jdunck@gmail.com> +Chris Price <price.c@gmail.com> +Guy Bedford <guybedford@gmail.com> +Amey Sakhadeo <me@ameyms.com> +Mike Sidorov <mikes.ekb@gmail.com> +Anthony Ryan <anthonyryan1@gmail.com> +Dominik D. Geyer <dominik.geyer@gmail.com> +George Kats <katsgeorgeek@gmail.com> +Lihan Li <frankieteardrop@gmail.com> +Ronny Springer <springer.ronny@gmail.com> +Chris Antaki <ChrisAntaki@gmail.com> +Marian Sollmann <marian.sollmann@cargomedia.ch> +njhamann <njhamann@gmail.com> +Ilya Kantor <iliakan@gmail.com> +David Hong <d.hong@me.com> +John Paul <john@johnkpaul.com> +Jakob Stoeck <jakob@pokermania.de> +Christopher Jones <chris@cjqed.com> +Forbes Lindesay <forbes@lindesay.co.uk> +S. Andrew Sheppard <andrew@wq.io> +Leonardo Balter <leonardo.balter@gmail.com> +Roman Reiß <me@silverwind.io> +Benjy Cui <benjytrys@gmail.com> +Rodrigo Rosenfeld Rosas <rr.rosas@gmail.com> +John Hoven <hovenj@gmail.com> +Philip Jägenstedt <philip@foolip.org> +Christian Kosmowski <ksmwsk@gmail.com> +Liang Peng <poppinlp@gmail.com> +TJ VanToll <tj.vantoll@gmail.com> +Senya Pugach <upisfree@outlook.com> +Aurelio De Rosa <aurelioderosa@gmail.com> +Nazar Mokrynskyi <nazar@mokrynskyi.com> +Amit Merchant <bullredeyes@gmail.com> +Jason Bedard <jason+github@jbedard.ca> +Arthur Verschaeve <contact@arthurverschaeve.be> +Dan Hart <danhart@notonthehighstreet.com> +Bin Xin <rhyzix@gmail.com> +David Corbacho <davidcorbacho@gmail.com> +Veaceslav Grimalschi <grimalschi@yandex.ru> +Daniel Husar <dano.husar@gmail.com> +Frederic Hemberger <mail@frederic-hemberger.de> +Ben Toews <mastahyeti@gmail.com> +Aditya Raghavan <araghavan3@gmail.com> +Victor Homyakov <vkhomyackov@gmail.com> +Shivaji Varma <contact@shivajivarma.com> +Nicolas HENRY <icewil@gmail.com> +Anne-Gaelle Colom <coloma@westminster.ac.uk> +George Mauer <gmauer@gmail.com> +Leonardo Braga <leonardo.braga@gmail.com> +Stephen Edgar <stephen@netweb.com.au> +Thomas Tortorini <thomastortorini@gmail.com> +Winston Howes <winstonhowes@gmail.com> +Jon Hester <jon.d.hester@gmail.com> +Alexander O'Mara <me@alexomara.com> +Bastian Buchholz <buchholz.bastian@googlemail.com> +Arthur Stolyar <nekr.fabula@gmail.com> +Calvin Metcalf <calvin.metcalf@gmail.com> +Mu Haibao <mhbseal@163.com> +Richard McDaniel <rm0026@uah.edu> +Chris Rebert <github@rebertia.com> +Gabriel Schulhof <gabriel.schulhof@intel.com> +Gilad Peleg <giladp007@gmail.com> +Martin Naumann <martin@geekonaut.de> +Marek Lewandowski <m.lewandowski@cksource.com> +Bruno PeÌrel <brunoperel@gmail.com> +Reed Loden <reed@reedloden.com> +Daniel Nill <daniellnill@gmail.com> +Yongwoo Jeon <yongwoo.jeon@navercorp.com> +Sean Henderson <seanh.za@gmail.com> +Richard Kraaijenhagen <stdin+git@riichard.com> +Connor Atherton <c.liam.atherton@gmail.com> +Gary Ye <garysye@gmail.com> +Christian Grete <webmaster@christiangrete.com> +Liza Ramo <liza.h.ramo@gmail.com> +Julian Alexander Murillo <julian.alexander.murillo@gmail.com> +Joelle Fleurantin <joasqueeniebee@gmail.com> +Jae Sung Park <alberto.park@gmail.com> +Jun Sun <klsforever@gmail.com> +Josh Soref <apache@soref.com> +Henry Wong <henryw4k@gmail.com> +Jon Dufresne <jon.dufresne@gmail.com> +Martijn W. van der Lee <martijn@vanderlee.com> +Devin Wilson <dwilson6.github@gmail.com> +Steve Mao <maochenyan@gmail.com> +Zack Hall <zackhall@outlook.com> +Bernhard M. Wiedemann <jquerybmw@lsmod.de> +Todor Prikumov <tono_pr@abv.bg> +Jha Naman <createnaman@gmail.com> +William Robinet <william.robinet@conostix.com> +Alexander Lisianoi <all3fox@gmail.com> +Vitaliy Terziev <vitaliyterziev@gmail.com> +Joe Trumbull <trumbull.j@gmail.com> +Alexander K <xpyro@ya.ru> +Damian Senn <jquery@topaxi.codes> +Ralin Chimev <ralin.chimev@gmail.com> +Felipe Sateler <fsateler@gmail.com> +Christophe Tafani-Dereeper <christophetd@hotmail.fr> +Manoj Kumar <nithmanoj@gmail.com> +David Broder-Rodgers <broder93@gmail.com> +Alex Louden <alex@louden.com> +Alex Padilla <alexonezero@outlook.com> +å—æ¼‚ä¸€å’ <shiy007@qq.com> +karan-96 <karanbatra96@gmail.com> +Boom Lee <teabyii@gmail.com> +Andreas Solleder <asol@num42.de> +CDAGaming <cstack2011@yahoo.com> +Pierre Spring <pierre@nelm.io> +Shashanka Nataraj <shashankan.10@gmail.com> +Erik Lax <erik@datahack.se> +Matan Kotler-Berkowitz <205matan@gmail.com> +Jordan Beland <jordan.beland@gmail.com> +Henry Zhu <hi@henryzoo.com> +Saptak Sengupta <saptak013@gmail.com> +Nilton Cesar <niltoncms@gmail.com> +basil.belokon <basil.belokon@gmail.com> diff --git a/public/bower_components/jquery/LICENSE.txt b/public/bower_components/jquery/LICENSE.txt new file mode 100644 index 0000000..e4e5e00 --- /dev/null +++ b/public/bower_components/jquery/LICENSE.txt @@ -0,0 +1,36 @@ +Copyright JS Foundation and other contributors, https://js.foundation/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/jquery + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. diff --git a/public/bower_components/jquery/README.md b/public/bower_components/jquery/README.md new file mode 100644 index 0000000..83e7b93 --- /dev/null +++ b/public/bower_components/jquery/README.md @@ -0,0 +1,67 @@ +# jQuery + +> jQuery is a fast, small, and feature-rich JavaScript library. + +For information on how to get started and how to use jQuery, please see [jQuery's documentation](http://api.jquery.com/). +For source files and issues, please visit the [jQuery repo](https://github.com/jquery/jquery). + +If upgrading, please see the [blog post for 3.3.1](https://blog.jquery.com/2017/03/20/jquery-3.3.1-now-available/). This includes notable differences from the previous version and a more readable changelog. + +## Including jQuery + +Below are some of the most common ways to include jQuery. + +### Browser + +#### Script tag + +```html +<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script> +``` + +#### Babel + +[Babel](http://babeljs.io/) is a next generation JavaScript compiler. One of the features is the ability to use ES6/ES2015 modules now, even though browsers do not yet support this feature natively. + +```js +import $ from "jquery"; +``` + +#### Browserify/Webpack + +There are several ways to use [Browserify](http://browserify.org/) and [Webpack](https://webpack.github.io/). For more information on using these tools, please refer to the corresponding project's documention. In the script, including jQuery will usually look like this... + +```js +var $ = require("jquery"); +``` + +#### AMD (Asynchronous Module Definition) + +AMD is a module format built for the browser. For more information, we recommend [require.js' documentation](http://requirejs.org/docs/whyamd.html). + +```js +define(["jquery"], function($) { + +}); +``` + +### Node + +To include jQuery in [Node](nodejs.org), first install with npm. + +```sh +npm install jquery +``` + +For jQuery to work in Node, a window with a document is required. Since no such window exists natively in Node, one can be mocked by tools such as [jsdom](https://github.com/tmpvar/jsdom). This can be useful for testing purposes. + +```js +require("jsdom").env("", function(err, window) { + if (err) { + console.error(err); + return; + } + + var $ = require("jquery")(window); +}); +``` diff --git a/public/bower_components/jquery/bower.json b/public/bower_components/jquery/bower.json new file mode 100644 index 0000000..95798d5 --- /dev/null +++ b/public/bower_components/jquery/bower.json @@ -0,0 +1,14 @@ +{ + "name": "jquery", + "main": "dist/jquery.js", + "license": "MIT", + "ignore": [ + "package.json" + ], + "keywords": [ + "jquery", + "javascript", + "browser", + "library" + ] +} \ No newline at end of file diff --git a/public/bower_components/jquery/dist/core.js b/public/bower_components/jquery/dist/core.js new file mode 100644 index 0000000..3a1c0cc --- /dev/null +++ b/public/bower_components/jquery/dist/core.js @@ -0,0 +1,399 @@ +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + +define( [ + "./var/arr", + "./var/document", + "./var/getProto", + "./var/slice", + "./var/concat", + "./var/push", + "./var/indexOf", + "./var/class2type", + "./var/toString", + "./var/hasOwn", + "./var/fnToString", + "./var/ObjectFunctionString", + "./var/support", + "./var/isFunction", + "./var/isWindow", + "./core/DOMEval", + "./core/toType" +], function( arr, document, getProto, slice, concat, push, indexOf, + class2type, toString, hasOwn, fnToString, ObjectFunctionString, + support, isFunction, isWindow, DOMEval, toType ) { + +"use strict"; + +var + version = "3.3.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + + if ( copyIsArray ) { + copyIsArray = false; + clone = src && Array.isArray( src ) ? src : []; + + } else { + clone = src && jQuery.isPlainObject( src ) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + + /* eslint-disable no-unused-vars */ + // See https://github.com/eslint/eslint/issues/6125 + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + DOMEval( code ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} + +return jQuery; +} ); diff --git a/public/bower_components/jquery/dist/jquery.js b/public/bower_components/jquery/dist/jquery.js new file mode 100644 index 0000000..9b5206b --- /dev/null +++ b/public/bower_components/jquery/dist/jquery.js @@ -0,0 +1,10364 @@ +/*! + * jQuery JavaScript Library v3.3.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2018-01-20T17:24Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var document = window.document; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML <object> elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + return typeof obj === "function" && typeof obj.nodeType !== "number"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + + + + var preservedScriptAttributes = { + type: true, + src: true, + noModule: true + }; + + function DOMEval( code, doc, node ) { + doc = doc || document; + + var i, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + if ( node[ i ] ) { + script[ i ] = node[ i ]; + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.3.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + + if ( copyIsArray ) { + copyIsArray = false; + clone = src && Array.isArray( src ) ? src : []; + + } else { + clone = src && jQuery.isPlainObject( src ) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + + /* eslint-disable no-unused-vars */ + // See https://github.com/eslint/eslint/issues/6125 + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + DOMEval( code ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.3 + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2016-08-08 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + disabledAncestor = addCombinator( + function( elem ) { + return elem.disabled === true && ("form" in elem || "label" in elem); + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !compilerCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + + if ( nodeType !== 1 ) { + newContext = context; + newSelector = selector; + + // qSA looks outside Element context, which is not what we want + // Thanks to Andrew Dupont for this workaround technique + // Support: IE <=8 + // Exclude object elements + } else if ( context.nodeName.toLowerCase() !== "object" ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + disabledAncestor( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( preferredDoc !== document && + (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( el ) { + el.className = "i"; + return !el.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( el ) { + el.appendChild( document.createComment("") ); + return !el.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID filter and find + if ( support.getById ) { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( (elem = elems[i++]) ) { + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( el ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" + + "<select id='" + expando + "-\r\\' msallowcapture=''>" + + "<option selected=''></option></select>"; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "<a href='' disabled='disabled'></a>" + + "<select disabled='disabled'><option/></select>"; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll(":enabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll(":disabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + !compilerCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( (oldCache = uniqueCache[ key ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( el ) { + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( el ) { + el.innerHTML = "<a href='#'></a>"; + return el.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( el ) { + el.innerHTML = "<input/>"; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( el ) { + return el.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +}; +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( nodeName( elem, "iframe" ) ) { + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + jQuery.contains( elem.ownerDocument, elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + +var swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE <=9 only + option: [ 1, "<select multiple='multiple'>", "</select>" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting <tbody> or other required elements. + thead: [ 1, "<table>", "</table>" ], + col: [ 2, "<table><colgroup>", "</colgroup></table>" ], + tr: [ 2, "<table><tbody>", "</tbody></table>" ], + td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], + + _default: [ 0, "", "" ] +}; + +// Support: IE <=9 only +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, contains, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = "<textarea>x</textarea>"; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); +var documentElement = document.documentElement; + + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 only +// See #13393 for more info +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + // Make a writable jQuery.Event from the native event object + var event = jQuery.event.fix( nativeEvent ); + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or 2) have namespace(s) + // a subset or equal to those in the bound event (both can have no namespace). + if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG <use> instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + this.focus(); + return false; + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( this.type === "checkbox" && this.click && nodeName( this, "input" ) ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + /* eslint-disable max-len */ + + // See https://github.com/eslint/eslint/issues/3229 + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + + /* eslint-enable */ + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /<script|<style|<link/i, + + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), doc, node ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1></$2>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = jQuery.contains( elem.ownerDocument, elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + div.style.position = "absolute"; + scrollboxSizeVal = div.offsetWidth === 36 || "absolute"; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }, + + cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style; + +// Return a css property mapped to a potentially vendor prefixed property +function vendorPropName( name ) { + + // Shortcut for names that are not vendor prefixed + if ( name in emptyStyle ) { + return name; + } + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a property mapped along what jQuery.cssProps suggests or to +// a vendor prefixed property. +function finalPropName( name ) { + var ret = jQuery.cssProps[ name ]; + if ( !ret ) { + ret = jQuery.cssProps[ name ] = vendorPropName( name ) || name; + } + return ret; +} + +function setPositiveNumber( elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + ) ); + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + val = curCSS( elem, dimension, styles ), + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox; + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + // Check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = valueIsBorderBox && + ( support.boxSizingReliable() || val === elem.style[ dimension ] ); + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + if ( val === "auto" || + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) { + + val = elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ]; + + // offsetWidth/offsetHeight provide border-box values + valueIsBorderBox = true; + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + if ( type === "number" ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra && boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ); + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && support.scrollboxSize() === styles.position ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && + ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || + jQuery.cssHooks[ tween.prop ] ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +support.focusin = "onfocusin" in window; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = Date.now(); + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + 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" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ]; + } + } + match = responseHeaders[ key.toLowerCase() ]; + } + return match == null ? null : match; + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + + +jQuery._evalUrl = function( url ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + "throws": true + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain requests + if ( s.crossDomain ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( "<script>" ).prop( { + charset: s.scriptCharset, + src: s.url + } ).on( + "load error", + callback = function( evt ) { + script.remove(); + callback = null; + if ( evt ) { + complete( evt.type === "error" ? 404 : 200, evt.type ); + } + } + ); + + // Use native DOM manipulation to avoid our domManip AJAX trickery + document.head.appendChild( script[ 0 ] ); + }, + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +var oldCallbacks = [], + rjsonp = /(=)\?(?=&|$)|\?\?/; + +// Default jsonp settings +jQuery.ajaxSetup( { + jsonp: "callback", + jsonpCallback: function() { + var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) ); + this[ callback ] = true; + return callback; + } +} ); + +// Detect, normalize options and install callbacks for jsonp requests +jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { + + var callbackName, overwritten, responseContainer, + jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? + "url" : + typeof s.data === "string" && + ( s.contentType || "" ) + .indexOf( "application/x-www-form-urlencoded" ) === 0 && + rjsonp.test( s.data ) && "data" + ); + + // Handle iff the expected data type is "jsonp" or we have a parameter to set + if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { + + // Get callback name, remembering preexisting value associated with it + callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ? + s.jsonpCallback() : + s.jsonpCallback; + + // Insert callback into url or form data + if ( jsonProp ) { + s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); + } else if ( s.jsonp !== false ) { + s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; + } + + // Use data converter to retrieve json after script execution + s.converters[ "script json" ] = function() { + if ( !responseContainer ) { + jQuery.error( callbackName + " was not called" ); + } + return responseContainer[ 0 ]; + }; + + // Force json dataType + s.dataTypes[ 0 ] = "json"; + + // Install callback + overwritten = window[ callbackName ]; + window[ callbackName ] = function() { + responseContainer = arguments; + }; + + // Clean-up function (fires after converters) + jqXHR.always( function() { + + // If previous value didn't exist - remove it + if ( overwritten === undefined ) { + jQuery( window ).removeProp( callbackName ); + + // Otherwise restore preexisting value + } else { + window[ callbackName ] = overwritten; + } + + // Save back as free + if ( s[ callbackName ] ) { + + // Make sure that re-using the options doesn't screw things around + s.jsonpCallback = originalSettings.jsonpCallback; + + // Save the callback name for future use + oldCallbacks.push( callbackName ); + } + + // Call if it was a function and we have a response + if ( responseContainer && isFunction( overwritten ) ) { + overwritten( responseContainer[ 0 ] ); + } + + responseContainer = overwritten = undefined; + } ); + + // Delegate to script + return "script"; + } +} ); + + + + +// Support: Safari 8 only +// In Safari 8 documents created via document.implementation.createHTMLDocument +// collapse sibling forms: the second one becomes a child of the first one. +// Because of that, this security measure has to be disabled in Safari 8. +// https://bugs.webkit.org/show_bug.cgi?id=137337 +support.createHTMLDocument = ( function() { + var body = document.implementation.createHTMLDocument( "" ).body; + body.innerHTML = "<form></form><form></form>"; + return body.childNodes.length === 2; +} )(); + + +// Argument "data" should be string of html +// context (optional): If specified, the fragment will be created in this context, +// defaults to document +// keepScripts (optional): If true, will include scripts passed in the html string +jQuery.parseHTML = function( data, context, keepScripts ) { + if ( typeof data !== "string" ) { + return []; + } + if ( typeof context === "boolean" ) { + keepScripts = context; + context = false; + } + + var base, parsed, scripts; + + if ( !context ) { + + // Stop scripts or inline event handlers from being executed immediately + // by using document.implementation + if ( support.createHTMLDocument ) { + context = document.implementation.createHTMLDocument( "" ); + + // Set the base href for the created document + // so any parsed elements with URLs + // are based on the document's URL (gh-2965) + base = context.createElement( "base" ); + base.href = document.location.href; + context.head.appendChild( base ); + } else { + context = document; + } + } + + parsed = rsingleTag.exec( data ); + scripts = !keepScripts && []; + + // Single tag + if ( parsed ) { + return [ context.createElement( parsed[ 1 ] ) ]; + } + + parsed = buildFragment( [ data ], context, scripts ); + + if ( scripts && scripts.length ) { + jQuery( scripts ).remove(); + } + + return jQuery.merge( [], parsed.childNodes ); +}; + + +/** + * Load a url into a page + */ +jQuery.fn.load = function( url, params, callback ) { + var selector, type, response, + self = this, + off = url.indexOf( " " ); + + if ( off > -1 ) { + selector = stripAndCollapse( url.slice( off ) ); + url = url.slice( 0, off ); + } + + // If it's a function + if ( isFunction( params ) ) { + + // We assume that it's the callback + callback = params; + params = undefined; + + // Otherwise, build a param string + } else if ( params && typeof params === "object" ) { + type = "POST"; + } + + // If we have elements to modify, make the request + if ( self.length > 0 ) { + jQuery.ajax( { + url: url, + + // If "type" variable is undefined, then "GET" method will be used. + // Make value of this field explicit since + // user can override it through ajaxSetup method + type: type || "GET", + dataType: "html", + data: params + } ).done( function( responseText ) { + + // Save response for use in complete callback + response = arguments; + + self.html( selector ? + + // If a selector was specified, locate the right elements in a dummy div + // Exclude scripts to avoid IE 'Permission Denied' errors + jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) : + + // Otherwise use the full result + responseText ); + + // If the request succeeds, this function gets "data", "status", "jqXHR" + // but they are ignored because response was set above. + // If it fails, this function gets "jqXHR", "status", "error" + } ).always( callback && function( jqXHR, status ) { + self.each( function() { + callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] ); + } ); + } ); + } + + return this; +}; + + + + +// Attach a bunch of functions for handling common AJAX events +jQuery.each( [ + "ajaxStart", + "ajaxStop", + "ajaxComplete", + "ajaxError", + "ajaxSuccess", + "ajaxSend" +], function( i, type ) { + jQuery.fn[ type ] = function( fn ) { + return this.on( type, fn ); + }; +} ); + + + + +jQuery.expr.pseudos.animated = function( elem ) { + return jQuery.grep( jQuery.timers, function( fn ) { + return elem === fn.elem; + } ).length; +}; + + + + +jQuery.offset = { + setOffset: function( elem, options, i ) { + var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, + position = jQuery.css( elem, "position" ), + curElem = jQuery( elem ), + props = {}; + + // Set position first, in-case top/left are set even on static elem + if ( position === "static" ) { + elem.style.position = "relative"; + } + + curOffset = curElem.offset(); + curCSSTop = jQuery.css( elem, "top" ); + curCSSLeft = jQuery.css( elem, "left" ); + calculatePosition = ( position === "absolute" || position === "fixed" ) && + ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1; + + // Need to be able to calculate position if either + // top or left is auto and position is either absolute or fixed + if ( calculatePosition ) { + curPosition = curElem.position(); + curTop = curPosition.top; + curLeft = curPosition.left; + + } else { + curTop = parseFloat( curCSSTop ) || 0; + curLeft = parseFloat( curCSSLeft ) || 0; + } + + if ( isFunction( options ) ) { + + // Use jQuery.extend here to allow modification of coordinates argument (gh-1848) + options = options.call( elem, i, jQuery.extend( {}, curOffset ) ); + } + + if ( options.top != null ) { + props.top = ( options.top - curOffset.top ) + curTop; + } + if ( options.left != null ) { + props.left = ( options.left - curOffset.left ) + curLeft; + } + + if ( "using" in options ) { + options.using.call( elem, props ); + + } else { + curElem.css( props ); + } + } +}; + +jQuery.fn.extend( { + + // offset() relates an element's border box to the document origin + offset: function( options ) { + + // Preserve chaining for setter + if ( arguments.length ) { + return options === undefined ? + this : + this.each( function( i ) { + jQuery.offset.setOffset( this, options, i ); + } ); + } + + var rect, win, + elem = this[ 0 ]; + + if ( !elem ) { + return; + } + + // Return zeros for disconnected and hidden (display: none) elements (gh-2310) + // Support: IE <=11 only + // Running getBoundingClientRect on a + // disconnected node in IE throws an error + if ( !elem.getClientRects().length ) { + return { top: 0, left: 0 }; + } + + // Get document-relative position by adding viewport scroll to viewport-relative gBCR + rect = elem.getBoundingClientRect(); + win = elem.ownerDocument.defaultView; + return { + top: rect.top + win.pageYOffset, + left: rect.left + win.pageXOffset + }; + }, + + // position() relates an element's margin box to its offset parent's padding box + // This corresponds to the behavior of CSS absolute positioning + position: function() { + if ( !this[ 0 ] ) { + return; + } + + var offsetParent, offset, doc, + elem = this[ 0 ], + parentOffset = { top: 0, left: 0 }; + + // position:fixed elements are offset from the viewport, which itself always has zero offset + if ( jQuery.css( elem, "position" ) === "fixed" ) { + + // Assume position:fixed implies availability of getBoundingClientRect + offset = elem.getBoundingClientRect(); + + } else { + offset = this.offset(); + + // Account for the *real* offset parent, which can be the document or its root element + // when a statically positioned element is identified + doc = elem.ownerDocument; + offsetParent = elem.offsetParent || doc.documentElement; + while ( offsetParent && + ( offsetParent === doc.body || offsetParent === doc.documentElement ) && + jQuery.css( offsetParent, "position" ) === "static" ) { + + offsetParent = offsetParent.parentNode; + } + if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) { + + // Incorporate borders into its offset, since they are outside its content origin + parentOffset = jQuery( offsetParent ).offset(); + parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true ); + parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true ); + } + } + + // Subtract parent offsets and element margins + return { + top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), + left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true ) + }; + }, + + // This method will return documentElement in the following cases: + // 1) For the element inside the iframe without offsetParent, this method will return + // documentElement of the parent window + // 2) For the hidden or detached element + // 3) For body or html element, i.e. in case of the html node - it will return itself + // + // but those exceptions were never presented as a real life use-cases + // and might be considered as more preferable results. + // + // This logic, however, is not guaranteed and can change at any point in the future + offsetParent: function() { + return this.map( function() { + var offsetParent = this.offsetParent; + + while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) { + offsetParent = offsetParent.offsetParent; + } + + return offsetParent || documentElement; + } ); + } +} ); + +// Create scrollLeft and scrollTop methods +jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { + var top = "pageYOffset" === prop; + + jQuery.fn[ method ] = function( val ) { + return access( this, function( elem, method, val ) { + + // Coalesce documents and windows + var win; + if ( isWindow( elem ) ) { + win = elem; + } else if ( elem.nodeType === 9 ) { + win = elem.defaultView; + } + + if ( val === undefined ) { + return win ? win[ prop ] : elem[ method ]; + } + + if ( win ) { + win.scrollTo( + !top ? val : win.pageXOffset, + top ? val : win.pageYOffset + ); + + } else { + elem[ method ] = val; + } + }, method, val, arguments.length ); + }; +} ); + +// Support: Safari <=7 - 9.1, Chrome <=37 - 49 +// Add the top/left cssHooks using jQuery.fn.position +// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 +// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347 +// getComputedStyle returns percent when specified for top/left/bottom/right; +// rather than make the css module depend on the offset module, just check for it here +jQuery.each( [ "top", "left" ], function( i, prop ) { + jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, + function( elem, computed ) { + if ( computed ) { + computed = curCSS( elem, prop ); + + // If curCSS returns percentage, fallback to offset + return rnumnonpx.test( computed ) ? + jQuery( elem ).position()[ prop ] + "px" : + computed; + } + } + ); +} ); + + +// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods +jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { + jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, + function( defaultExtra, funcName ) { + + // Margin is only for outerHeight, outerWidth + jQuery.fn[ funcName ] = function( margin, value ) { + var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), + extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); + + return access( this, function( elem, type, value ) { + var doc; + + if ( isWindow( elem ) ) { + + // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729) + return funcName.indexOf( "outer" ) === 0 ? + elem[ "inner" + name ] : + elem.document.documentElement[ "client" + name ]; + } + + // Get document width or height + if ( elem.nodeType === 9 ) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], + // whichever is greatest + return Math.max( + elem.body[ "scroll" + name ], doc[ "scroll" + name ], + elem.body[ "offset" + name ], doc[ "offset" + name ], + doc[ "client" + name ] + ); + } + + return value === undefined ? + + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css( elem, type, extra ) : + + // Set width or height on the element + jQuery.style( elem, type, value, extra ); + }, type, chainable ? margin : undefined, chainable ); + }; + } ); +} ); + + +jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup contextmenu" ).split( " " ), + function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; +} ); + +jQuery.fn.extend( { + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +} ); + + + + +jQuery.fn.extend( { + + bind: function( types, data, fn ) { + return this.on( types, null, data, fn ); + }, + unbind: function( types, fn ) { + return this.off( types, null, fn ); + }, + + delegate: function( selector, types, data, fn ) { + return this.on( types, selector, data, fn ); + }, + undelegate: function( selector, types, fn ) { + + // ( namespace ) or ( selector, types [, fn] ) + return arguments.length === 1 ? + this.off( selector, "**" ) : + this.off( types, selector || "**", fn ); + } +} ); + +// Bind a function to a context, optionally partially applying any +// arguments. +// jQuery.proxy is deprecated to promote standards (specifically Function#bind) +// However, it is not slated for removal any time soon +jQuery.proxy = function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; +}; + +jQuery.holdReady = function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } +}; +jQuery.isArray = Array.isArray; +jQuery.parseJSON = JSON.parse; +jQuery.nodeName = nodeName; +jQuery.isFunction = isFunction; +jQuery.isWindow = isWindow; +jQuery.camelCase = camelCase; +jQuery.type = toType; + +jQuery.now = Date.now; + +jQuery.isNumeric = function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = jQuery.type( obj ); + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); +}; + + + + +// Register as a named AMD module, since jQuery can be concatenated with other +// files that may use define, but not via a proper concatenation script that +// understands anonymous AMD modules. A named AMD is safest and most robust +// way to register. Lowercase jquery is used because AMD module names are +// derived from file names, and jQuery is normally delivered in a lowercase +// file name. Do this after creating the global so that if an AMD module wants +// to call noConflict to hide this version of jQuery, it will work. + +// Note that for maximum portability, libraries that are not jQuery should +// declare themselves as anonymous modules, and avoid setting a global if an +// AMD loader is present. jQuery is a special case. For more information, see +// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon + +if ( typeof define === "function" && define.amd ) { + define( "jquery", [], function() { + return jQuery; + } ); +} + + + + +var + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$; + +jQuery.noConflict = function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; +}; + +// Expose jQuery and $ identifiers, even in AMD +// (#7102#comment:10, https://github.com/jquery/jquery/pull/557) +// and CommonJS for browser emulators (#13566) +if ( !noGlobal ) { + window.jQuery = window.$ = jQuery; +} + + + + +return jQuery; +} ); diff --git a/public/bower_components/jquery/dist/jquery.min.js b/public/bower_components/jquery/dist/jquery.min.js new file mode 100644 index 0000000..4d9b3a2 --- /dev/null +++ b/public/bower_components/jquery/dist/jquery.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:s,sort:n.sort,splice:n.splice},w.extend=w.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||g(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)n=a[t],a!==(r=e[t])&&(l&&r&&(w.isPlainObject(r)||(i=Array.isArray(r)))?(i?(i=!1,o=n&&Array.isArray(n)?n:[]):o=n&&w.isPlainObject(n)?n:{},a[t]=w.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},w.extend({expando:"jQuery"+("3.3.1"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==c.call(e))&&(!(t=i(e))||"function"==typeof(n=f.call(t,"constructor")&&t.constructor)&&p.call(n)===d)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e){m(e)},each:function(e,t){var n,r=0;if(C(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(C(Object(e))?w.merge(n,"string"==typeof e?[e]:e):s.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:u.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r,i=[],o=0,a=e.length,s=!n;o<a;o++)(r=!t(e[o],o))!==s&&i.push(e[o]);return i},map:function(e,t,n){var r,i,o=0,s=[];if(C(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&s.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&s.push(i);return a.apply([],s)},guid:1,support:h}),"function"==typeof Symbol&&(w.fn[Symbol.iterator]=n[Symbol.iterator]),w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function C(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!g(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},P="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",I="\\["+M+"*("+R+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+R+"))|)"+M+"*\\]",W=":("+R+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+I+")*)|.*)\\)|)",$=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),F=new RegExp("^"+M+"*,"+M+"*"),_=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(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&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="<a id='"+b+"'></a><select id='"+b+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,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(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===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]||oe.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]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(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(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?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===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!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!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.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:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:he(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:he(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=r.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=fe(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=pe(t);function ye(){}ye.prototype=r.filters=r.pseudos,r.setFilters=new ye,a=oe.tokenize=function(e,t){var n,i,o,a,s,u,l,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=r.preFilter;while(s){n&&!(i=F.exec(s))||(i&&(s=s.slice(i[0].length)||s),u.push(o=[])),n=!1,(i=_.exec(s))&&(n=i.shift(),o.push({value:n,type:i[0].replace(B," ")}),s=s.slice(n.length));for(a in r.filter)!(i=V[a].exec(s))||l[a]&&!(i=l[a](i))||(n=i.shift(),o.push({value:n,type:a,matches:i}),s=s.slice(n.length));if(!n)break}return t?s.length:s?oe.error(e):k(e,u).slice(0)};function ve(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function me(e,t,n){var r=t.dir,i=t.next,o=i||r,a=n&&"parentNode"===o,s=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||a)return e(t,n,i);return!1}:function(t,n,u){var l,c,f,p=[T,s];if(u){while(t=t[r])if((1===t.nodeType||a)&&e(t,n,u))return!0}else while(t=t[r])if(1===t.nodeType||a)if(f=t[b]||(t[b]={}),c=f[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[o])&&l[0]===T&&l[1]===s)return p[2]=l[2];if(c[o]=p,p[2]=e(t,n,u))return!0}return!1}}function xe(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r<i;r++)oe(e,t[r],n);return n}function we(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Te(e,t,n,r,i,o){return r&&!r[b]&&(r=Te(r)),i&&!i[b]&&(i=Te(i,o)),se(function(o,a,s,u){var l,c,f,p=[],d=[],h=a.length,g=o||be(t||"*",s.nodeType?[s]:s,[]),y=!e||!o&&t?g:we(g,p,e,s,u),v=n?i||(o?e:h||r)?[]:a:y;if(n&&n(y,v,s,u),r){l=we(v,d),r(l,[],s,u),c=l.length;while(c--)(f=l[c])&&(v[d[c]]=!(y[d[c]]=f))}if(o){if(i||e){if(i){l=[],c=v.length;while(c--)(f=v[c])&&l.push(y[c]=f);i(null,v=[],l,u)}c=v.length;while(c--)(f=v[c])&&(l=i?O(o,f):p[c])>-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u<o;u++)if(n=r.relative[e[u].type])p=[me(xe(p),n)];else{if((n=r.filter[e[u].type].apply(null,e[u].matches))[b]){for(i=++u;i<o;i++)if(r.relative[e[i].type])break;return Te(u>1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u<i&&Ce(e.slice(u,i)),i<o&&Ce(e=e.slice(i)),i<o&&ve(e))}p.push(n)}return xe(p)}function Ee(e,t){var n=t.length>0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t<r;t++)if(w.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)w.find(e,i[t],n);return r>1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.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 w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(w.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&w(e);if(!D.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s<o.length)!1===o[s].apply(n[0],n[1])&&e.stopOnFalse&&(s=o.length,n=!1)}e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},l={add:function(){return o&&(n&&!t&&(s=o.length-1,a.push(n)),function t(n){w.each(n,function(n,r){g(r)?e.unique&&l.has(r)||o.push(r):r&&r.length&&"string"!==x(r)&&t(r)})}(arguments),n&&!t&&u()),this},remove:function(){return w.each(arguments,function(e,t){var n;while((n=w.inArray(t,o,n))>-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t<o)){if((e=r.apply(s,u))===n.promise())throw new TypeError("Thenable self-resolution");l=e&&("object"==typeof e||"function"==typeof e)&&e.then,g(l)?i?l.call(e,a(o,n,I,i),a(o,n,W,i)):(o++,l.call(e,a(o,n,I,i),a(o,n,W,i),a(o,n,I,n.notifyWith))):(r!==I&&(s=void 0,u=[e]),(i||n.resolveWith)(s,u))}},c=i?l:function(){try{l()}catch(e){w.Deferred.exceptionHook&&w.Deferred.exceptionHook(e,c.stackTrace),t+1>=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},X=/^-ms-/,U=/-([a-z])/g;function V(e,t){return t.toUpperCase()}function G(e){return e.replace(X,"ms-").replace(U,V)}var Y=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Q(){this.expando=w.expando+Q.uid++}Q.uid=1,Q.prototype={cache:function(e){var t=e[this.expando];return t||(t={},Y(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[G(t)]=n;else for(r in t)i[G(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][G(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(G):(t=G(t))in r?[t]:t.match(M)||[]).length;while(n--)delete r[t[n]]}(void 0===t||w.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!w.isEmptyObject(t)}};var J=new Q,K=new Q,Z=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,ee=/[A-Z]/g;function te(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Z.test(e)?JSON.parse(e):e)}function ne(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(ee,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=te(n)}catch(e){}K.set(e,t,n)}else n=void 0;return n}w.extend({hasData:function(e){return K.hasData(e)||J.hasData(e)},data:function(e,t,n){return K.access(e,t,n)},removeData:function(e,t){K.remove(e,t)},_data:function(e,t,n){return J.access(e,t,n)},_removeData:function(e,t){J.remove(e,t)}}),w.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=K.get(o),1===o.nodeType&&!J.get(o,"hasDataAttrs"))){n=a.length;while(n--)a[n]&&0===(r=a[n].name).indexOf("data-")&&(r=G(r.slice(5)),ne(o,r,i[r]));J.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){K.set(this,e)}):z(this,function(t){var n;if(o&&void 0===t){if(void 0!==(n=K.get(o,e)))return n;if(void 0!==(n=ne(o,e)))return n}else this.each(function(){K.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?w.queue(this[0],e):void 0===t?this:this.each(function(){var n=w.queue(this,e,t);w._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&w.dequeue(this,e)})},dequeue:function(e){return this.each(function(){w.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=w.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=J.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var re=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ie=new RegExp("^(?:([+-])=|)("+re+")([a-z%]*)$","i"),oe=["Top","Right","Bottom","Left"],ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&w.contains(e.ownerDocument,e)&&"none"===w.css(e,"display")},se=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i};function ue(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return w.css(e,t,"")},u=s(),l=n&&n[3]||(w.cssNumber[t]?"":"px"),c=(w.cssNumber[t]||"px"!==l&&+u)&&ie.exec(w.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)w.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,w.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var le={};function ce(e){var t,n=e.ownerDocument,r=e.nodeName,i=le[r];return i||(t=n.body.appendChild(n.createElement(r)),i=w.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),le[r]=i,i)}function fe(e,t){for(var n,r,i=[],o=0,a=e.length;o<a;o++)(r=e[o]).style&&(n=r.style.display,t?("none"===n&&(i[o]=J.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&ae(r)&&(i[o]=ce(r))):"none"!==n&&(i[o]="none",J.set(r,"display",n)));for(o=0;o<a;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}w.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?w(this).show():w(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)J.set(e[n],"globalEval",!t||J.get(t[n],"globalEval"))}var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===x(o))w.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+w.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;w.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&w.inArray(o,r)>-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="<textarea>x</textarea>",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n<arguments.length;n++)u[n]=arguments[n];if(t.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,t)){s=w.event.handlers.call(this,t,l),n=0;while((o=s[n++])&&!t.isPropagationStopped()){t.currentTarget=o.elem,r=0;while((a=o.handlers[r++])&&!t.isImmediatePropagationStopped())t.rnamespace&&!t.rnamespace.test(a.namespace)||(t.handleObj=a,t.data=a.data,void 0!==(i=((w.event.special[a.origType]||{}).handle||a.handler).apply(o.elem,u))&&!1===(t.result=i)&&(t.preventDefault(),t.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,t),t.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&e.button>=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?w(i,this).index(l)>-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(e,t){Object.defineProperty(w.Event.prototype,e,{enumerable:!0,configurable:!0,get:g(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[w.expando]?e:new w.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==Se()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===Se()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&N(this,"input"))return this.click(),!1},_default:function(e){return N(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},w.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},w.Event=function(e,t){if(!(this instanceof w.Event))return new w.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ee:ke,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&w.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[w.expando]=!0},w.Event.prototype={constructor:w.Event,isDefaultPrevented:ke,isPropagationStopped:ke,isImmediatePropagationStopped:ke,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ee,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ee,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ee,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},w.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&we.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Te.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},w.event.addProp),w.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){w.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return i&&(i===r||w.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),w.fn.extend({on:function(e,t,n,r){return De(this,e,t,n,r)},one:function(e,t,n,r){return De(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,w(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=ke),this.each(function(){w.event.remove(this,e,n,t)})}});var Ne=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/<script|<style|<link/i,je=/checked\s*(?:[^=]|=\s*.checked.)/i,qe=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Le(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n<r;n++)w.event.add(t,i,l[i][n])}K.hasData(e)&&(s=K.access(e),u=w.extend({},s),K.set(t,u))}}function Me(e,t){var n=t.nodeName.toLowerCase();"input"===n&&pe.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function Re(e,t,n,r){t=a.apply([],t);var i,o,s,u,l,c,f=0,p=e.length,d=p-1,y=t[0],v=g(y);if(v||p>1&&"string"==typeof y&&!h.checkClone&&je.test(y))return e.each(function(i){var o=e.eq(i);v&&(t[0]=y.call(this,i,o.html())),Re(o,t,n,r)});if(p&&(i=xe(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=w.map(ye(i,"script"),He)).length;f<p;f++)l=i,f!==d&&(l=w.clone(l,!0,!0),u&&w.merge(s,ye(l,"script"))),n.call(e[f],l,f);if(u)for(c=s[s.length-1].ownerDocument,w.map(s,Oe),f=0;f<u;f++)l=s[f],he.test(l.type||"")&&!J.access(l,"globalEval")&&w.contains(c,l)&&(l.src&&"module"!==(l.type||"").toLowerCase()?w._evalUrl&&w._evalUrl(l.src):m(l.textContent.replace(qe,""),c,l))}return e}function Ie(e,t,n){for(var r,i=t?w.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||w.cleanData(ye(r)),r.parentNode&&(n&&w.contains(r.ownerDocument,r)&&ve(ye(r,"script")),r.parentNode.removeChild(r));return e}w.extend({htmlPrefilter:function(e){return e.replace(Ne,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r<i;r++)Me(o[r],a[r]);if(t)if(n)for(o=o||ye(e),a=a||ye(s),r=0,i=o.length;r<i;r++)Pe(o[r],a[r]);else Pe(e,s);return(a=ye(s,"script")).length>0&&ve(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return z(this,function(e){return void 0===e?w.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 Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(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&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(w.cleanData(ye(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return Re(this,arguments,function(t){var n=this.parentNode;w.inArray(this,e)<0&&(w.cleanData(ye(this)),n&&n.replaceChild(t,this))},e)}}),w.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){w.fn[e]=function(e){for(var n,r=[],i=w(e),o=i.length-1,a=0;a<=o;a++)n=a===o?this:this.clone(!0),w(i[a])[t](n),s.apply(r,n.get());return this.pushStack(r)}});var We=new RegExp("^("+re+")(?!px)[a-z%]+$","i"),$e=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},Be=new RegExp(oe.join("|"),"i");!function(){function t(){if(c){l.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",c.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",be.appendChild(l).appendChild(c);var t=e.getComputedStyle(c);i="1%"!==t.top,u=12===n(t.marginLeft),c.style.right="60%",s=36===n(t.right),o=36===n(t.width),c.style.position="absolute",a=36===c.offsetWidth||"absolute",be.removeChild(l),c=null}}function n(e){return Math.round(parseFloat(e))}var i,o,a,s,u,l=r.createElement("div"),c=r.createElement("div");c.style&&(c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",h.clearCloneStyle="content-box"===c.style.backgroundClip,w.extend(h,{boxSizingReliable:function(){return t(),o},pixelBoxStyles:function(){return t(),s},pixelPosition:function(){return t(),i},reliableMarginLeft:function(){return t(),u},scrollboxSize:function(){return t(),a}}))}();function Fe(e,t,n){var r,i,o,a,s=e.style;return(n=n||$e(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||w.contains(e.ownerDocument,e)||(a=w.style(e,t)),!h.pixelBoxStyles()&&We.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function _e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}var ze=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ue={position:"absolute",visibility:"hidden",display:"block"},Ve={letterSpacing:"0",fontWeight:"400"},Ge=["Webkit","Moz","ms"],Ye=r.createElement("div").style;function Qe(e){if(e in Ye)return e;var t=e[0].toUpperCase()+e.slice(1),n=Ge.length;while(n--)if((e=Ge[n]+t)in Ye)return e}function Je(e){var t=w.cssProps[e];return t||(t=w.cssProps[e]=Qe(e)||e),t}function Ke(e,t,n){var r=ie.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ze(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=w.css(e,n+oe[a],!0,i)),r?("content"===n&&(u-=w.css(e,"padding"+oe[a],!0,i)),"margin"!==n&&(u-=w.css(e,"border"+oe[a]+"Width",!0,i))):(u+=w.css(e,"padding"+oe[a],!0,i),"padding"!==n?u+=w.css(e,"border"+oe[a]+"Width",!0,i):s+=w.css(e,"border"+oe[a]+"Width",!0,i));return!r&&o>=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=$e(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(We.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=G(t),u=Xe.test(t),l=e.style;if(u||(t=Je(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=G(t);return Xe.test(t)||(t=Je(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ve&&(i=Ve[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ue,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=$e(e),a="border-box"===w.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(e,n,s)}}}),w.cssHooks.marginLeft=_e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=$e(e),i=t.length;a<i;a++)o[t[a]]=w.css(e,t[a],!1,r);return o}return void 0!==n?w.style(e,t,n):w.css(e,t)},e,t,arguments.length>1)}});function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}w.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=w.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):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.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=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=tt.prototype.init,w.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,w.fx.interval),w.fx.tick())}function st(){return e.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ct(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),y=J.get(e,"fxshow");n.queue||(null==(a=w._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,w.queue(e,"fx").length||a.empty.fire()})}));for(r in t)if(i=t[r],it.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!y||void 0===y[r])continue;g=!0}d[r]=y&&y[r]||w.style(e,r)}if((u=!w.isEmptyObject(t))||!w.isEmptyObject(d)){f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=y&&y.display)&&(l=J.get(e,"display")),"none"===(c=w.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=w.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===w.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1;for(r in d)u||(y?"hidden"in y&&(g=y.hidden):y=J.access(e,"fxshow",{display:l}),o&&(y.hidden=!g),g&&fe([e],!0),p.done(function(){g||fe([e]),J.remove(e,"fxshow");for(r in d)w.style(e,r,d[r])})),u=lt(g?y[r]:0,r,p),r in y||(y[r]=u.start,g&&(u.end=u.start,u.start=0))}}function ft(e,t){var n,r,i,o,a;for(n in e)if(r=G(n),i=t[r],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=w.cssHooks[r])&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function pt(e,t,n){var r,i,o=0,a=pt.prefilters.length,s=w.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=nt||st(),n=Math.max(0,l.startTime+l.duration-t),r=1-(n/l.duration||0),o=0,a=l.tweens.length;o<a;o++)l.tweens[o].run(r);return s.notifyWith(e,[l,r,n]),r<1&&a?n:(a||s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:w.extend({},t),opts:w.extend(!0,{specialEasing:{},easing:w.easing._default},n),originalProperties:t,originalOptions:n,startTime:nt||st(),duration:n.duration,tweens:[],createTween:function(t,n){var r=w.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(ft(c,l.opts.specialEasing);o<a;o++)if(r=pt.prefilters[o].call(l,e,c,l.opts))return g(r.stop)&&(w._queueHooks(l.elem,l.opts.queue).stop=r.stop.bind(r)),r;return w.map(c,lt,l),g(l.opts.start)&&l.opts.start.call(e,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),w.fx.timer(w.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l}w.Animation=w.extend(pt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return ue(n.elem,e,ie.exec(t),n),n}]},tweener:function(e,t){g(e)?(t=e,e=["*"]):e=e.match(M);for(var n,r=0,i=e.length;r<i;r++)n=e[r],pt.tweeners[n]=pt.tweeners[n]||[],pt.tweeners[n].unshift(t)},prefilters:[ct],prefilter:function(e,t){t?pt.prefilters.unshift(e):pt.prefilters.push(e)}}),w.speed=function(e,t,n){var r=e&&"object"==typeof e?w.extend({},e):{complete:n||!n&&t||g(e)&&e,duration:e,easing:n&&t||t&&!g(t)&&t};return w.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in w.fx.speeds?r.duration=w.fx.speeds[r.duration]:r.duration=w.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){g(r.old)&&r.old.call(this),r.queue&&w.dequeue(this,r.queue)},r},w.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=w.isEmptyObject(e),o=w.speed(t,n,r),a=function(){var t=pt(this,w.extend({},e),o);(i||J.get(this,"finish"))&&t.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&!1!==e&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=w.timers,a=J.get(this);if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&ot.test(i)&&r(a[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||w.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=J.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=w.timers,a=r?r.length:0;for(n.finish=!0,w.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),w.each(["toggle","show","hide"],function(e,t){var n=w.fn[t];w.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ut(t,!0),e,r,i)}}),w.each({slideDown:ut("show"),slideUp:ut("hide"),slideToggle:ut("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){w.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),w.timers=[],w.fx.tick=function(){var e,t=0,n=w.timers;for(nt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||w.fx.stop(),nt=void 0},w.fx.timer=function(e){w.timers.push(e),w.fx.start()},w.fx.interval=13,w.fx.start=function(){rt||(rt=!0,at())},w.fx.stop=function(){rt=null},w.fx.speeds={slow:600,fast:200,_default:400},w.fn.delay=function(t,n){return t=w.fx?w.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e=r.createElement("input"),t=r.createElement("select").appendChild(r.createElement("option"));e.type="checkbox",h.checkOn=""!==e.value,h.optSelected=t.selected,(e=r.createElement("input")).value="t",e.type="radio",h.radioValue="t"===e.value}();var dt,ht=w.expr.attrHandle;w.fn.extend({attr:function(e,t){return z(this,w.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&N(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(M);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||w.find.attr;ht[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ht[a],ht[a]=i,i=null!=n(e,t,r)?a:null,ht[a]=o),i}});var gt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return z(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.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)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function vt(e){return(e.match(M)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e?e.match(M)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=xt(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+vt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!N(n.parentNode,"optgroup"))){if(t=w(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=w.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=w.inArray(w.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var wt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,v=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!wt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),d=w.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!y(i)){for(l=d.delegateType||m,wt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(i.ownerDocument||r)&&v.push(u.defaultView||u.parentWindow||e)}a=0;while((s=v[a++])&&!t.isPropagationStopped())h=s,t.type=a>1?l:d.bindType||m,(p=(J.get(s,"events")||{})[t.type]&&J.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&Y(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(v.pop(),n)||!Y(i)||c&&g(i[m])&&!y(i)&&((u=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,Tt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,Tt),w.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Ct=e.location,Et=Date.now(),kt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,Dt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||St.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}});var qt=/%20/g,Lt=/#.*$/,Ht=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Bt=r.createElement("a");Bt.href=Ct.href;function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(g(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function _t(e,t,n,r){var i={},o=e===Wt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}function Xt(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}function Ut(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Pt.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,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":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,w.ajaxSettings),t):zt(w.ajaxSettings,e)},ajaxPrefilter:Ft(It),ajaxTransport:Ft(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=w.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?w(g):w.event,v=w.Deferred(),m=w.Callbacks("once memory"),x=h.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s){s={};while(t=Ot.exec(a))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(v.promise(E),h.url=((t||h.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(M)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Bt.protocol+"//"+Bt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),_t(It,h,n,E),c)return E;(f=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Lt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(w.lastModified[o]&&E.setRequestHeader("If-Modified-Since",w.lastModified[o]),w.etag[o]&&E.setRequestHeader("If-None-Match",w.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=_t(Wt,h,n,E)){if(E.readyState=1,f&&y.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,b,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=Xt(h,E,r)),b=Ut(h,b,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(w.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,l=!(d=b.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,E]):v.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&y.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(y.trigger("ajaxComplete",[E,h]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Vt={0:200,1223:204},Gt=w.ajaxSettings.xhr();h.cors=!!Gt&&"withCredentials"in Gt,h.ajax=Gt=!!Gt,w.ajaxTransport(function(t){var n,r;if(h.cors||Gt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.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 w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=w("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&o("error"===e.type?404:200,e.type)}),r.head.appendChild(t[0])},abort:function(){n&&n()}}}});var Yt=[],Qt=/(=)\?(?=&|$)|\?\?/;w.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Yt.pop()||w.expando+"_"+Et++;return this[e]=!0,e}}),w.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,a,s=!1!==t.jsonp&&(Qt.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Qt.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=g(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Qt,"$1"+i):!1!==t.jsonp&&(t.url+=(kt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||w.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always(function(){void 0===o?w(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,Yt.push(i)),a&&g(o)&&o(a[0]),a=o=void 0}),"script"}),h.createHTMLDocument=function(){var e=r.implementation.createHTMLDocument("").body;return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),w.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var i,o,a;return t||(h.createHTMLDocument?((i=(t=r.implementation.createHTMLDocument("")).createElement("base")).href=r.location.href,t.head.appendChild(i)):t=r),o=A.exec(e),a=!n&&[],o?[t.createElement(o[1])]:(o=xe([e],t,a),a&&a.length&&w(a).remove(),w.merge([],o.childNodes))},w.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=vt(e.slice(s)),e=e.slice(0,s)),g(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&w.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?w("<div>").append(w.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},w.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){w.fn[t]=function(e){return this.on(t,e)}}),w.expr.pseudos.animated=function(e){return w.grep(w.timers,function(t){return e===t.elem}).length},w.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l,c=w.css(e,"position"),f=w(e),p={};"static"===c&&(e.style.position="relative"),s=f.offset(),o=w.css(e,"top"),u=w.css(e,"left"),(l=("absolute"===c||"fixed"===c)&&(o+u).indexOf("auto")>-1)?(a=(r=f.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),g(t)&&(t=t.call(e,n,w.extend({},s))),null!=t.top&&(p.top=t.top-s.top+a),null!=t.left&&(p.left=t.left-s.left+i),"using"in t?t.using.call(e,p):f.css(p)}},w.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){w.offset.setOffset(this,e,t)});var t,n,r=this[0];if(r)return r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===w.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===w.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=w(e).offset()).top+=w.css(e,"borderTopWidth",!0),i.left+=w.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-w.css(r,"marginTop",!0),left:t.left-i.left-w.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===w.css(e,"position"))e=e.offsetParent;return e||be})}}),w.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;w.fn[e]=function(r){return z(this,function(e,r,i){var o;if(y(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i},e,r,arguments.length)}}),w.each(["top","left"],function(e,t){w.cssHooks[t]=_e(h.pixelPosition,function(e,n){if(n)return n=Fe(e,t),We.test(n)?w(e).position()[t]+"px":n})}),w.each({Height:"height",Width:"width"},function(e,t){w.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){w.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),s=n||(!0===i||!0===o?"margin":"border");return z(this,function(t,n,i){var o;return y(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?w.css(t,n,s):w.style(t,n,i,s)},t,a?i:void 0,a)}})}),w.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){w.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),w.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),w.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),w.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),g(e))return r=o.call(arguments,2),i=function(){return e.apply(t||this,r.concat(o.call(arguments)))},i.guid=e.guid=e.guid||w.guid++,i},w.holdReady=function(e){e?w.readyWait++:w.ready(!0)},w.isArray=Array.isArray,w.parseJSON=JSON.parse,w.nodeName=N,w.isFunction=g,w.isWindow=y,w.camelCase=G,w.type=x,w.now=Date.now,w.isNumeric=function(e){var t=w.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return w});var Jt=e.jQuery,Kt=e.$;return w.noConflict=function(t){return e.$===w&&(e.$=Kt),t&&e.jQuery===w&&(e.jQuery=Jt),w},t||(e.jQuery=e.$=w),w}); diff --git a/public/bower_components/jquery/dist/jquery.min.map b/public/bower_components/jquery/dist/jquery.min.map new file mode 100644 index 0000000..294ee96 --- /dev/null +++ b/public/bower_components/jquery/dist/jquery.min.map @@ -0,0 +1 @@ +{"version":3,"sources":["jquery.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","arr","getProto","Object","getPrototypeOf","slice","concat","push","indexOf","class2type","toString","hasOwn","hasOwnProperty","fnToString","ObjectFunctionString","call","support","isFunction","obj","nodeType","isWindow","preservedScriptAttributes","type","src","noModule","DOMEval","code","doc","node","i","script","createElement","text","head","appendChild","parentNode","removeChild","toType","version","jQuery","selector","context","fn","init","rtrim","prototype","jquery","constructor","length","toArray","get","num","pushStack","elems","ret","merge","prevObject","each","callback","map","elem","apply","arguments","first","eq","last","len","j","end","sort","splice","extend","options","name","copy","copyIsArray","clone","target","deep","isPlainObject","Array","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","proto","Ctor","isEmptyObject","globalEval","isArrayLike","trim","makeArray","results","inArray","second","grep","invert","callbackInverse","matches","callbackExpect","arg","value","guid","Symbol","iterator","split","toLowerCase","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","Date","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","sortOrder","a","b","pop","push_native","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","unloadHandler","disabledAncestor","addCombinator","disabled","dir","next","childNodes","e","els","seed","m","nid","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","nodeName","getAttribute","setAttribute","toSelector","join","testContext","querySelectorAll","qsaError","removeAttribute","keys","cache","key","cacheLength","shift","markFunction","assert","el","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","documentElement","hasCompare","subWindow","defaultView","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","filter","attrId","find","getAttributeNode","tag","tmp","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","attr","val","specified","escape","sel","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","simple","forward","ofType","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","args","setFilters","idx","matched","not","matcher","unmatched","has","innerText","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","tokens","soFar","preFilters","cached","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","rsingleTag","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","targets","l","closest","index","prevAll","add","addBack","sibling","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","createOptions","object","flag","Callbacks","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","master","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","readyWait","wait","completed","removeEventListener","readyState","doScroll","access","chainable","emptyGet","raw","bulk","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","getData","JSON","parse","dataAttr","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isHiddenWithinTree","style","display","css","swap","old","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","getDefaultDisplay","body","showHide","show","values","hide","toggle","rcheckableType","rtagName","rscriptType","wrapMap","option","thead","col","tr","td","_default","optgroup","tbody","tfoot","colgroup","caption","th","getAll","setGlobalEval","refElements","rhtml","buildFragment","scripts","selection","ignored","wrap","fragment","createDocumentFragment","nodes","htmlPrefilter","createTextNode","div","checkClone","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","safeActiveElement","err","on","types","one","origFn","event","off","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","fix","handlerQueue","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","preventDefault","stopPropagation","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","Event","enumerable","originalEvent","writable","load","noBubble","trigger","blur","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","now","isSimulated","stopImmediatePropagation","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rxhtmlTag","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","pdataOld","pdataCur","udataOld","udataCur","fixInput","domManip","collection","hasScripts","iNoClone","valueIsFunction","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rnumnonpx","getStyles","opener","getComputedStyle","rboxStyle","computeStyleTests","container","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","right","pixelBoxStylesVal","boxSizingReliableVal","width","position","scrollboxSizeVal","offsetWidth","measure","round","parseFloat","backgroundClip","clearCloneStyle","boxSizingReliable","pixelBoxStyles","pixelPosition","reliableMarginLeft","scrollboxSize","curCSS","computed","minWidth","maxWidth","getPropertyValue","addGetHookIf","conditionFn","hookFn","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","cssPrefixes","emptyStyle","vendorPropName","capName","finalPropName","cssProps","setPositiveNumber","subtract","max","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","ceil","getWidthOrHeight","valueIsBorderBox","cssHooks","opacity","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","origName","isCustomProp","setProperty","isFinite","getClientRects","getBoundingClientRect","left","margin","padding","border","prefix","suffix","expand","expanded","parts","Tween","easing","propHooks","run","percent","eased","duration","pos","step","fx","scrollTop","scrollLeft","linear","p","swing","cos","PI","fxNow","inProgress","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","interval","tick","createFxNow","genFx","includeWidth","height","createTween","animation","Animation","tweeners","defaultPrefilter","opts","oldfire","propTween","restoreDisplay","isBox","anim","dataShow","unqueued","overflow","overflowX","overflowY","propFilter","specialEasing","properties","stopped","prefilters","currentTime","startTime","tweens","originalProperties","originalOptions","gotoEnd","bind","complete","timer","*","tweener","prefilter","speed","opt","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","removeProp","propFix","tabindex","parseInt","for","class","stripAndCollapse","getClass","classesToArray","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","isValidValue","classNames","hasClass","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","isTrigger","parentWindow","simulate","triggerHandler","attaches","nonce","rquery","parseXML","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rlocalProtocol","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","ajaxHandleResponses","responses","ct","finalDataType","firstDataType","mimeType","getResponseHeader","converters","ajaxConvert","response","isSuccess","conv2","current","conv","responseFields","dataFilter","throws","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","overrideMimeType","status","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","success","send","nativeStatusText","modified","getJSON","getScript","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","visible","offsetHeight","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","text script","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","rect","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","hover","fnOver","fnOut","unbind","delegate","undelegate","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","define","amd","_jQuery","_$","$","noConflict"],"mappings":"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","file":"jquery.min.js"} \ No newline at end of file diff --git a/public/bower_components/jquery/dist/jquery.slim.js b/public/bower_components/jquery/dist/jquery.slim.js new file mode 100644 index 0000000..5dae0ed --- /dev/null +++ b/public/bower_components/jquery/dist/jquery.slim.js @@ -0,0 +1,8269 @@ +/*! + * jQuery JavaScript Library v3.3.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2018-01-20T17:24Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var document = window.document; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML <object> elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + return typeof obj === "function" && typeof obj.nodeType !== "number"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + + + + var preservedScriptAttributes = { + type: true, + src: true, + noModule: true + }; + + function DOMEval( code, doc, node ) { + doc = doc || document; + + var i, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + if ( node[ i ] ) { + script[ i ] = node[ i ]; + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.3.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + + if ( copyIsArray ) { + copyIsArray = false; + clone = src && Array.isArray( src ) ? src : []; + + } else { + clone = src && jQuery.isPlainObject( src ) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + + /* eslint-disable no-unused-vars */ + // See https://github.com/eslint/eslint/issues/6125 + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + DOMEval( code ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.3 + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2016-08-08 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + disabledAncestor = addCombinator( + function( elem ) { + return elem.disabled === true && ("form" in elem || "label" in elem); + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !compilerCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + + if ( nodeType !== 1 ) { + newContext = context; + newSelector = selector; + + // qSA looks outside Element context, which is not what we want + // Thanks to Andrew Dupont for this workaround technique + // Support: IE <=8 + // Exclude object elements + } else if ( context.nodeName.toLowerCase() !== "object" ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + disabledAncestor( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( preferredDoc !== document && + (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( el ) { + el.className = "i"; + return !el.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( el ) { + el.appendChild( document.createComment("") ); + return !el.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID filter and find + if ( support.getById ) { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( (elem = elems[i++]) ) { + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( el ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" + + "<select id='" + expando + "-\r\\' msallowcapture=''>" + + "<option selected=''></option></select>"; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "<a href='' disabled='disabled'></a>" + + "<select disabled='disabled'><option/></select>"; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll(":enabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll(":disabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + !compilerCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( (oldCache = uniqueCache[ key ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( el ) { + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( el ) { + el.innerHTML = "<a href='#'></a>"; + return el.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( el ) { + el.innerHTML = "<input/>"; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( el ) { + return el.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +}; +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( nodeName( elem, "iframe" ) ) { + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + jQuery.contains( elem.ownerDocument, elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + +var swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE <=9 only + option: [ 1, "<select multiple='multiple'>", "</select>" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting <tbody> or other required elements. + thead: [ 1, "<table>", "</table>" ], + col: [ 2, "<table><colgroup>", "</colgroup></table>" ], + tr: [ 2, "<table><tbody>", "</tbody></table>" ], + td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], + + _default: [ 0, "", "" ] +}; + +// Support: IE <=9 only +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, contains, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = "<textarea>x</textarea>"; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); +var documentElement = document.documentElement; + + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 only +// See #13393 for more info +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + // Make a writable jQuery.Event from the native event object + var event = jQuery.event.fix( nativeEvent ); + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or 2) have namespace(s) + // a subset or equal to those in the bound event (both can have no namespace). + if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG <use> instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + this.focus(); + return false; + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( this.type === "checkbox" && this.click && nodeName( this, "input" ) ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + /* eslint-disable max-len */ + + // See https://github.com/eslint/eslint/issues/3229 + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + + /* eslint-enable */ + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /<script|<style|<link/i, + + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), doc, node ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1></$2>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = jQuery.contains( elem.ownerDocument, elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + div.style.position = "absolute"; + scrollboxSizeVal = div.offsetWidth === 36 || "absolute"; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }, + + cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style; + +// Return a css property mapped to a potentially vendor prefixed property +function vendorPropName( name ) { + + // Shortcut for names that are not vendor prefixed + if ( name in emptyStyle ) { + return name; + } + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a property mapped along what jQuery.cssProps suggests or to +// a vendor prefixed property. +function finalPropName( name ) { + var ret = jQuery.cssProps[ name ]; + if ( !ret ) { + ret = jQuery.cssProps[ name ] = vendorPropName( name ) || name; + } + return ret; +} + +function setPositiveNumber( elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + ) ); + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + val = curCSS( elem, dimension, styles ), + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox; + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + // Check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = valueIsBorderBox && + ( support.boxSizingReliable() || val === elem.style[ dimension ] ); + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + if ( val === "auto" || + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) { + + val = elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ]; + + // offsetWidth/offsetHeight provide border-box values + valueIsBorderBox = true; + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + if ( type === "number" ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra && boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ); + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && support.scrollboxSize() === styles.position ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +support.focusin = "onfocusin" in window; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +// Support: Safari 8 only +// In Safari 8 documents created via document.implementation.createHTMLDocument +// collapse sibling forms: the second one becomes a child of the first one. +// Because of that, this security measure has to be disabled in Safari 8. +// https://bugs.webkit.org/show_bug.cgi?id=137337 +support.createHTMLDocument = ( function() { + var body = document.implementation.createHTMLDocument( "" ).body; + body.innerHTML = "<form></form><form></form>"; + return body.childNodes.length === 2; +} )(); + + +// Argument "data" should be string of html +// context (optional): If specified, the fragment will be created in this context, +// defaults to document +// keepScripts (optional): If true, will include scripts passed in the html string +jQuery.parseHTML = function( data, context, keepScripts ) { + if ( typeof data !== "string" ) { + return []; + } + if ( typeof context === "boolean" ) { + keepScripts = context; + context = false; + } + + var base, parsed, scripts; + + if ( !context ) { + + // Stop scripts or inline event handlers from being executed immediately + // by using document.implementation + if ( support.createHTMLDocument ) { + context = document.implementation.createHTMLDocument( "" ); + + // Set the base href for the created document + // so any parsed elements with URLs + // are based on the document's URL (gh-2965) + base = context.createElement( "base" ); + base.href = document.location.href; + context.head.appendChild( base ); + } else { + context = document; + } + } + + parsed = rsingleTag.exec( data ); + scripts = !keepScripts && []; + + // Single tag + if ( parsed ) { + return [ context.createElement( parsed[ 1 ] ) ]; + } + + parsed = buildFragment( [ data ], context, scripts ); + + if ( scripts && scripts.length ) { + jQuery( scripts ).remove(); + } + + return jQuery.merge( [], parsed.childNodes ); +}; + + +jQuery.offset = { + setOffset: function( elem, options, i ) { + var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, + position = jQuery.css( elem, "position" ), + curElem = jQuery( elem ), + props = {}; + + // Set position first, in-case top/left are set even on static elem + if ( position === "static" ) { + elem.style.position = "relative"; + } + + curOffset = curElem.offset(); + curCSSTop = jQuery.css( elem, "top" ); + curCSSLeft = jQuery.css( elem, "left" ); + calculatePosition = ( position === "absolute" || position === "fixed" ) && + ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1; + + // Need to be able to calculate position if either + // top or left is auto and position is either absolute or fixed + if ( calculatePosition ) { + curPosition = curElem.position(); + curTop = curPosition.top; + curLeft = curPosition.left; + + } else { + curTop = parseFloat( curCSSTop ) || 0; + curLeft = parseFloat( curCSSLeft ) || 0; + } + + if ( isFunction( options ) ) { + + // Use jQuery.extend here to allow modification of coordinates argument (gh-1848) + options = options.call( elem, i, jQuery.extend( {}, curOffset ) ); + } + + if ( options.top != null ) { + props.top = ( options.top - curOffset.top ) + curTop; + } + if ( options.left != null ) { + props.left = ( options.left - curOffset.left ) + curLeft; + } + + if ( "using" in options ) { + options.using.call( elem, props ); + + } else { + curElem.css( props ); + } + } +}; + +jQuery.fn.extend( { + + // offset() relates an element's border box to the document origin + offset: function( options ) { + + // Preserve chaining for setter + if ( arguments.length ) { + return options === undefined ? + this : + this.each( function( i ) { + jQuery.offset.setOffset( this, options, i ); + } ); + } + + var rect, win, + elem = this[ 0 ]; + + if ( !elem ) { + return; + } + + // Return zeros for disconnected and hidden (display: none) elements (gh-2310) + // Support: IE <=11 only + // Running getBoundingClientRect on a + // disconnected node in IE throws an error + if ( !elem.getClientRects().length ) { + return { top: 0, left: 0 }; + } + + // Get document-relative position by adding viewport scroll to viewport-relative gBCR + rect = elem.getBoundingClientRect(); + win = elem.ownerDocument.defaultView; + return { + top: rect.top + win.pageYOffset, + left: rect.left + win.pageXOffset + }; + }, + + // position() relates an element's margin box to its offset parent's padding box + // This corresponds to the behavior of CSS absolute positioning + position: function() { + if ( !this[ 0 ] ) { + return; + } + + var offsetParent, offset, doc, + elem = this[ 0 ], + parentOffset = { top: 0, left: 0 }; + + // position:fixed elements are offset from the viewport, which itself always has zero offset + if ( jQuery.css( elem, "position" ) === "fixed" ) { + + // Assume position:fixed implies availability of getBoundingClientRect + offset = elem.getBoundingClientRect(); + + } else { + offset = this.offset(); + + // Account for the *real* offset parent, which can be the document or its root element + // when a statically positioned element is identified + doc = elem.ownerDocument; + offsetParent = elem.offsetParent || doc.documentElement; + while ( offsetParent && + ( offsetParent === doc.body || offsetParent === doc.documentElement ) && + jQuery.css( offsetParent, "position" ) === "static" ) { + + offsetParent = offsetParent.parentNode; + } + if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) { + + // Incorporate borders into its offset, since they are outside its content origin + parentOffset = jQuery( offsetParent ).offset(); + parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true ); + parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true ); + } + } + + // Subtract parent offsets and element margins + return { + top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), + left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true ) + }; + }, + + // This method will return documentElement in the following cases: + // 1) For the element inside the iframe without offsetParent, this method will return + // documentElement of the parent window + // 2) For the hidden or detached element + // 3) For body or html element, i.e. in case of the html node - it will return itself + // + // but those exceptions were never presented as a real life use-cases + // and might be considered as more preferable results. + // + // This logic, however, is not guaranteed and can change at any point in the future + offsetParent: function() { + return this.map( function() { + var offsetParent = this.offsetParent; + + while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) { + offsetParent = offsetParent.offsetParent; + } + + return offsetParent || documentElement; + } ); + } +} ); + +// Create scrollLeft and scrollTop methods +jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { + var top = "pageYOffset" === prop; + + jQuery.fn[ method ] = function( val ) { + return access( this, function( elem, method, val ) { + + // Coalesce documents and windows + var win; + if ( isWindow( elem ) ) { + win = elem; + } else if ( elem.nodeType === 9 ) { + win = elem.defaultView; + } + + if ( val === undefined ) { + return win ? win[ prop ] : elem[ method ]; + } + + if ( win ) { + win.scrollTo( + !top ? val : win.pageXOffset, + top ? val : win.pageYOffset + ); + + } else { + elem[ method ] = val; + } + }, method, val, arguments.length ); + }; +} ); + +// Support: Safari <=7 - 9.1, Chrome <=37 - 49 +// Add the top/left cssHooks using jQuery.fn.position +// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 +// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347 +// getComputedStyle returns percent when specified for top/left/bottom/right; +// rather than make the css module depend on the offset module, just check for it here +jQuery.each( [ "top", "left" ], function( i, prop ) { + jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, + function( elem, computed ) { + if ( computed ) { + computed = curCSS( elem, prop ); + + // If curCSS returns percentage, fallback to offset + return rnumnonpx.test( computed ) ? + jQuery( elem ).position()[ prop ] + "px" : + computed; + } + } + ); +} ); + + +// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods +jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { + jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, + function( defaultExtra, funcName ) { + + // Margin is only for outerHeight, outerWidth + jQuery.fn[ funcName ] = function( margin, value ) { + var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), + extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); + + return access( this, function( elem, type, value ) { + var doc; + + if ( isWindow( elem ) ) { + + // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729) + return funcName.indexOf( "outer" ) === 0 ? + elem[ "inner" + name ] : + elem.document.documentElement[ "client" + name ]; + } + + // Get document width or height + if ( elem.nodeType === 9 ) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], + // whichever is greatest + return Math.max( + elem.body[ "scroll" + name ], doc[ "scroll" + name ], + elem.body[ "offset" + name ], doc[ "offset" + name ], + doc[ "client" + name ] + ); + } + + return value === undefined ? + + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css( elem, type, extra ) : + + // Set width or height on the element + jQuery.style( elem, type, value, extra ); + }, type, chainable ? margin : undefined, chainable ); + }; + } ); +} ); + + +jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup contextmenu" ).split( " " ), + function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; +} ); + +jQuery.fn.extend( { + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +} ); + + + + +jQuery.fn.extend( { + + bind: function( types, data, fn ) { + return this.on( types, null, data, fn ); + }, + unbind: function( types, fn ) { + return this.off( types, null, fn ); + }, + + delegate: function( selector, types, data, fn ) { + return this.on( types, selector, data, fn ); + }, + undelegate: function( selector, types, fn ) { + + // ( namespace ) or ( selector, types [, fn] ) + return arguments.length === 1 ? + this.off( selector, "**" ) : + this.off( types, selector || "**", fn ); + } +} ); + +// Bind a function to a context, optionally partially applying any +// arguments. +// jQuery.proxy is deprecated to promote standards (specifically Function#bind) +// However, it is not slated for removal any time soon +jQuery.proxy = function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; +}; + +jQuery.holdReady = function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } +}; +jQuery.isArray = Array.isArray; +jQuery.parseJSON = JSON.parse; +jQuery.nodeName = nodeName; +jQuery.isFunction = isFunction; +jQuery.isWindow = isWindow; +jQuery.camelCase = camelCase; +jQuery.type = toType; + +jQuery.now = Date.now; + +jQuery.isNumeric = function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = jQuery.type( obj ); + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); +}; + + + + +// Register as a named AMD module, since jQuery can be concatenated with other +// files that may use define, but not via a proper concatenation script that +// understands anonymous AMD modules. A named AMD is safest and most robust +// way to register. Lowercase jquery is used because AMD module names are +// derived from file names, and jQuery is normally delivered in a lowercase +// file name. Do this after creating the global so that if an AMD module wants +// to call noConflict to hide this version of jQuery, it will work. + +// Note that for maximum portability, libraries that are not jQuery should +// declare themselves as anonymous modules, and avoid setting a global if an +// AMD loader is present. jQuery is a special case. For more information, see +// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon + +if ( typeof define === "function" && define.amd ) { + define( "jquery", [], function() { + return jQuery; + } ); +} + + + + +var + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$; + +jQuery.noConflict = function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; +}; + +// Expose jQuery and $ identifiers, even in AMD +// (#7102#comment:10, https://github.com/jquery/jquery/pull/557) +// and CommonJS for browser emulators (#13566) +if ( !noGlobal ) { + window.jQuery = window.$ = jQuery; +} + + + + +return jQuery; +} ); diff --git a/public/bower_components/jquery/dist/jquery.slim.min.js b/public/bower_components/jquery/dist/jquery.slim.min.js new file mode 100644 index 0000000..f4ca9b2 --- /dev/null +++ b/public/bower_components/jquery/dist/jquery.slim.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.3.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,u=n.push,s=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,d=f.toString,p=d.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},v=function e(t){return null!=t&&t===t.window},y={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in y)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function b(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var x="3.3.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector",w=function(e,t){return new w.fn.init(e,t)},C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:x,constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:n.sort,splice:n.splice},w.extend=w.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},u=1,s=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[u]||{},u++),"object"==typeof a||g(a)||(a={}),u===s&&(a=this,u--);u<s;u++)if(null!=(e=arguments[u]))for(t in e)n=a[t],a!==(r=e[t])&&(l&&r&&(w.isPlainObject(r)||(i=Array.isArray(r)))?(i?(i=!1,o=n&&Array.isArray(n)?n:[]):o=n&&w.isPlainObject(n)?n:{},a[t]=w.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},w.extend({expando:"jQuery"+(x+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==c.call(e))&&(!(t=i(e))||"function"==typeof(n=f.call(t,"constructor")&&t.constructor)&&d.call(n)===p)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e){m(e)},each:function(e,t){var n,r=0;if(T(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(T(Object(e))?w.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:s.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r,i=[],o=0,a=e.length,u=!n;o<a;o++)(r=!t(e[o],o))!==u&&i.push(e[o]);return i},map:function(e,t,n){var r,i,o=0,u=[];if(T(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&u.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&u.push(i);return a.apply([],u)},guid:1,support:h}),"function"==typeof Symbol&&(w.fn[Symbol.iterator]=n[Symbol.iterator]),w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function T(e){var t=!!e&&"length"in e&&e.length,n=b(e);return!g(e)&&!v(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,u,s,l,c,f,d,p,h,g,v,y,m,b,x="sizzle"+1*new Date,w=e.document,C=0,T=0,E=ae(),N=ae(),k=ae(),A=function(e,t){return e===t&&(f=!0),0},D={}.hasOwnProperty,S=[],L=S.pop,j=S.push,q=S.push,O=S.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},H="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",I="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",B="\\["+I+"*("+R+")(?:"+I+"*([*^$|!~]?=)"+I+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+R+"))|)"+I+"*\\]",M=":("+R+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+B+")*)|.*)\\)|)",W=new RegExp(I+"+","g"),$=new RegExp("^"+I+"+|((?:^|[^\\\\])(?:\\\\.)*)"+I+"+$","g"),F=new RegExp("^"+I+"*,"+I+"*"),z=new RegExp("^"+I+"*([>+~]|"+I+")"+I+"*"),_=new RegExp("="+I+"*([^\\]'\"]*?)"+I+"*\\]","g"),U=new RegExp(M),V=new RegExp("^"+R+"$"),X={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+B),PSEUDO:new RegExp("^"+M),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+I+"*(even|odd|(([+-]|)(\\d*)n|)"+I+"*(?:([+-]|)"+I+"*(\\d+)|))"+I+"*\\)|)","i"),bool:new RegExp("^(?:"+H+")$","i"),needsContext:new RegExp("^"+I+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+I+"*((?:-\\d)?\\d*)"+I+"*\\)|)(?=[^-]|$)","i")},Q=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,G=/^[^{]+\{\s*\[native \w/,K=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,J=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+I+"?|("+I+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){d()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{q.apply(S=O.call(w.childNodes),w.childNodes),S[w.childNodes.length].nodeType}catch(e){q={apply:S.length?function(e,t){j.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,u,l,c,f,h,y,m=t&&t.ownerDocument,C=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==C&&9!==C&&11!==C)return r;if(!i&&((t?t.ownerDocument||t:w)!==p&&d(t),t=t||p,g)){if(11!==C&&(f=K.exec(e)))if(o=f[1]){if(9===C){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&b(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return q.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return q.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!k[e+" "]&&(!v||!v.test(e))){if(1!==C)m=t,y=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=x),u=(h=a(e)).length;while(u--)h[u]="#"+c+" "+ye(h[u]);y=h.join(","),m=J.test(e)&&ge(t.parentNode)||t}if(y)try{return q.apply(r,m.querySelectorAll(y)),r}catch(e){}finally{c===x&&t.removeAttribute("id")}}}return s(e.replace($,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function ue(e){return e[x]=!0,e}function se(e){var t=p.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function de(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pe(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&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return ue(function(t){return t=+t,ue(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},d=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==p&&9===a.nodeType&&a.documentElement?(p=a,h=p.documentElement,g=!o(p),w!==p&&(i=p.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=se(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=se(function(e){return e.appendChild(p.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=G.test(p.getElementsByClassName),n.getById=se(function(e){return h.appendChild(e).id=x,!p.getElementsByName||!p.getElementsByName(x).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},y=[],v=[],(n.qsa=G.test(p.querySelectorAll))&&(se(function(e){h.appendChild(e).innerHTML="<a id='"+x+"'></a><select id='"+x+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+I+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+I+"*(?:value|"+H+")"),e.querySelectorAll("[id~="+x+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+x+"+*").length||v.push(".#.+[+~]")}),se(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=p.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+I+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(n.matchesSelector=G.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&se(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),y.push("!=",M)}),v=v.length&&new RegExp(v.join("|")),y=y.length&&new RegExp(y.join("|")),t=G.test(h.compareDocumentPosition),b=t||G.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},A=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===p||e.ownerDocument===w&&b(w,e)?-1:t===p||t.ownerDocument===w&&b(w,t)?1:c?P(c,e)-P(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],u=[t];if(!i||!o)return e===p?-1:t===p?1:i?-1:o?1:c?P(c,e)-P(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)u.unshift(n);while(a[r]===u[r])r++;return r?ce(a[r],u[r]):a[r]===w?-1:u[r]===w?1:0},p):p},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&d(e),t=t.replace(_,"='$1']"),n.matchesSelector&&g&&!k[t+" "]&&(!y||!y.test(t))&&(!v||!v.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,p,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==p&&d(e),b(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==p&&d(e);var i=r.attrHandle[t.toLowerCase()],o=i&&D.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(A),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:ue,match:X,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(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===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]||oe.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]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return X.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&U.test(n)&&(t=a(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(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+I+")"+e+"("+I+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace(W," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),u="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,s){var l,c,f,d,p,h,g=o!==a?"nextSibling":"previousSibling",v=t.parentNode,y=u&&t.nodeName.toLowerCase(),m=!s&&!u,b=!1;if(v){if(o){while(g){d=t;while(d=d[g])if(u?d.nodeName.toLowerCase()===y:1===d.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?v.firstChild:v.lastChild],a&&m){b=(p=(l=(c=(f=(d=v)[x]||(d[x]={}))[d.uniqueID]||(f[d.uniqueID]={}))[e]||[])[0]===C&&l[1])&&l[2],d=p&&v.childNodes[p];while(d=++p&&d&&d[g]||(b=p=0)||h.pop())if(1===d.nodeType&&++b&&d===t){c[e]=[C,p,b];break}}else if(m&&(b=p=(l=(c=(f=(d=t)[x]||(d[x]={}))[d.uniqueID]||(f[d.uniqueID]={}))[e]||[])[0]===C&&l[1]),!1===b)while(d=++p&&d&&d[g]||(b=p=0)||h.pop())if((u?d.nodeName.toLowerCase()===y:1===d.nodeType)&&++b&&(m&&((c=(f=d[x]||(d[x]={}))[d.uniqueID]||(f[d.uniqueID]={}))[e]=[C,b]),d===t))break;return(b-=i)===r||b%r==0&&b/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[x]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?ue(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=P(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:ue(function(e){var t=[],n=[],r=u(e.replace($,"$1"));return r[x]?ue(function(e,t,n,i){var o,a=r(e,null,i,[]),u=e.length;while(u--)(o=a[u])&&(e[u]=!(t[u]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:ue(function(e){return function(t){return oe(e,t).length>0}}),contains:ue(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:ue(function(e){return V.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?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===h},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:pe(!1),disabled:pe(!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!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return Q.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:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:he(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:he(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=r.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=fe(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=de(t);function ve(){}ve.prototype=r.filters=r.pseudos,r.setFilters=new ve,a=oe.tokenize=function(e,t){var n,i,o,a,u,s,l,c=N[e+" "];if(c)return t?0:c.slice(0);u=e,s=[],l=r.preFilter;while(u){n&&!(i=F.exec(u))||(i&&(u=u.slice(i[0].length)||u),s.push(o=[])),n=!1,(i=z.exec(u))&&(n=i.shift(),o.push({value:n,type:i[0].replace($," ")}),u=u.slice(n.length));for(a in r.filter)!(i=X[a].exec(u))||l[a]&&!(i=l[a](i))||(n=i.shift(),o.push({value:n,type:a,matches:i}),u=u.slice(n.length));if(!n)break}return t?u.length:u?oe.error(e):N(e,s).slice(0)};function ye(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function me(e,t,n){var r=t.dir,i=t.next,o=i||r,a=n&&"parentNode"===o,u=T++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||a)return e(t,n,i);return!1}:function(t,n,s){var l,c,f,d=[C,u];if(s){while(t=t[r])if((1===t.nodeType||a)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||a)if(f=t[x]||(t[x]={}),c=f[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[o])&&l[0]===C&&l[1]===u)return d[2]=l[2];if(c[o]=d,d[2]=e(t,n,s))return!0}return!1}}function be(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xe(e,t,n){for(var r=0,i=t.length;r<i;r++)oe(e,t[r],n);return n}function we(e,t,n,r,i){for(var o,a=[],u=0,s=e.length,l=null!=t;u<s;u++)(o=e[u])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(u)));return a}function Ce(e,t,n,r,i,o){return r&&!r[x]&&(r=Ce(r)),i&&!i[x]&&(i=Ce(i,o)),ue(function(o,a,u,s){var l,c,f,d=[],p=[],h=a.length,g=o||xe(t||"*",u.nodeType?[u]:u,[]),v=!e||!o&&t?g:we(g,d,e,u,s),y=n?i||(o?e:h||r)?[]:a:v;if(n&&n(v,y,u,s),r){l=we(y,p),r(l,[],u,s),c=l.length;while(c--)(f=l[c])&&(y[p[c]]=!(v[p[c]]=f))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(f=y[c])&&l.push(v[c]=f);i(null,y=[],l,s)}c=y.length;while(c--)(f=y[c])&&(l=i?P(o,f):d[c])>-1&&(o[l]=!(a[l]=f))}}else y=we(y===a?y.splice(h,y.length):y),i?i(null,a,y,s):q.apply(a,y)})}function Te(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],u=a||r.relative[" "],s=a?1:0,c=me(function(e){return e===t},u,!0),f=me(function(e){return P(t,e)>-1},u,!0),d=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];s<o;s++)if(n=r.relative[e[s].type])d=[me(be(d),n)];else{if((n=r.filter[e[s].type].apply(null,e[s].matches))[x]){for(i=++s;i<o;i++)if(r.relative[e[i].type])break;return Ce(s>1&&be(d),s>1&&ye(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),n,s<i&&Te(e.slice(s,i)),i<o&&Te(e=e.slice(i)),i<o&&ye(e))}d.push(n)}return be(d)}function Ee(e,t){var n=t.length>0,i=e.length>0,o=function(o,a,u,s,c){var f,h,v,y=0,m="0",b=o&&[],x=[],w=l,T=o||i&&r.find.TAG("*",c),E=C+=null==w?1:Math.random()||.1,N=T.length;for(c&&(l=a===p||a||c);m!==N&&null!=(f=T[m]);m++){if(i&&f){h=0,a||f.ownerDocument===p||(d(f),u=!g);while(v=e[h++])if(v(f,a||p,u)){s.push(f);break}c&&(C=E)}n&&((f=!v&&f)&&y--,o&&b.push(f))}if(y+=m,n&&m!==y){h=0;while(v=t[h++])v(b,x,a,u);if(o){if(y>0)while(m--)b[m]||x[m]||(x[m]=L.call(s));x=we(x)}q.apply(s,x),c&&!o&&x.length>0&&y+t.length>1&&oe.uniqueSort(s)}return c&&(C=E,l=w),b};return n?ue(o):o}return u=oe.compile=function(e,t){var n,r=[],i=[],o=k[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Te(t[n]))[x]?r.push(o):i.push(o);(o=k(e,Ee(i,r))).selector=e}return o},s=oe.select=function(e,t,n,i){var o,s,l,c,f,d="function"==typeof e&&e,p=!i&&a(e=d.selector||e);if(n=n||[],1===p.length){if((s=p[0]=p[0].slice(0)).length>2&&"ID"===(l=s[0]).type&&9===t.nodeType&&g&&r.relative[s[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;d&&(t=t.parentNode),e=e.slice(s.shift().value.length)}o=X.needsContext.test(e)?0:s.length;while(o--){if(l=s[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),J.test(s[0].type)&&ge(t.parentNode)||t))){if(s.splice(o,1),!(e=i.length&&ye(s)))return q.apply(n,i),n;break}}}return(d||u(e,p))(i,t,!g,n,!t||J.test(e)&&ge(t.parentNode)||t),n},n.sortStable=x.split("").sort(A).join("")===x,n.detectDuplicates=!!f,d(),n.sortDetached=se(function(e){return 1&e.compareDocumentPosition(p.createElement("fieldset"))}),se(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&se(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),se(function(e){return null==e.getAttribute("disabled")})||le(H,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var N=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},k=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},A=w.expr.match.needsContext;function D(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var S=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function L(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return s.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t<r;t++)if(w.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)w.find(e,i[t],n);return r>1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(L(this,e||[],!1))},not:function(e){return this.pushStack(L(this,e||[],!0))},is:function(e){return!!L(this,"string"==typeof e&&A.test(e)?w(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:q.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 w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),S.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,j=w(r);var O=/^(?:parents|prev(?:Until|All))/,P={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(w.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&w(e);if(!A.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?s.call(w(e),this[0]):s.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function H(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return N(e,"parentNode")},parentsUntil:function(e,t,n){return N(e,"parentNode",n)},next:function(e){return H(e,"nextSibling")},prev:function(e){return H(e,"previousSibling")},nextAll:function(e){return N(e,"nextSibling")},prevAll:function(e){return N(e,"previousSibling")},nextUntil:function(e,t,n){return N(e,"nextSibling",n)},prevUntil:function(e,t,n){return N(e,"previousSibling",n)},siblings:function(e){return k((e.parentNode||{}).firstChild,e)},children:function(e){return k(e.firstChild)},contents:function(e){return D(e,"iframe")?e.contentDocument:(D(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(P[e]||w.uniqueSort(i),O.test(e)&&i.reverse()),this.pushStack(i)}});var I=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(I)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],u=-1,s=function(){for(i=i||e.once,r=t=!0;a.length;u=-1){n=a.shift();while(++u<o.length)!1===o[u].apply(n[0],n[1])&&e.stopOnFalse&&(u=o.length,n=!1)}e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},l={add:function(){return o&&(n&&!t&&(u=o.length-1,a.push(n)),function t(n){w.each(n,function(n,r){g(r)?e.unique&&l.has(r)||o.push(r):r&&r.length&&"string"!==b(r)&&t(r)})}(arguments),n&&!t&&s()),this},remove:function(){return w.each(arguments,function(e,t){var n;while((n=w.inArray(t,o,n))>-1)o.splice(n,1),n<=u&&u--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||s()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function B(e){return e}function M(e){throw e}function W(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var u=this,s=arguments,l=function(){var e,l;if(!(t<o)){if((e=r.apply(u,s))===n.promise())throw new TypeError("Thenable self-resolution");l=e&&("object"==typeof e||"function"==typeof e)&&e.then,g(l)?i?l.call(e,a(o,n,B,i),a(o,n,M,i)):(o++,l.call(e,a(o,n,B,i),a(o,n,M,i),a(o,n,B,n.notifyWith))):(r!==B&&(u=void 0,s=[e]),(i||n.resolveWith)(u,s))}},c=i?l:function(){try{l()}catch(e){w.Deferred.exceptionHook&&w.Deferred.exceptionHook(e,c.stackTrace),t+1>=o&&(r!==M&&(u=void 0,s=[e]),n.rejectWith(u,s))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:B,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:B)),n[2][3].add(a(0,e,g(r)?r:M))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],u=t[5];i[t[1]]=a.add,u&&a.add(function(){r=u},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),u=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&(W(e,a.done(u(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)W(i[n],u(n),a.reject);return a.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&$.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function z(){r.removeEventListener("DOMContentLoaded",z),e.removeEventListener("load",z),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",z),e.addEventListener("load",z));var _=function(e,t,n,r,i,o,a){var u=0,s=e.length,l=null==n;if("object"===b(n)){i=!0;for(u in n)_(e,t,u,n[u],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;u<s;u++)t(e[u],n,a?r:r.call(e[u],u,t(e[u],n)));return i?e:l?t.call(e):s?t(e[0],n):o},U=/^-ms-/,V=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function Q(e){return e.replace(U,"ms-").replace(V,X)}var Y=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=w.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},Y(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[Q(t)]=n;else for(r in t)i[Q(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][Q(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(Q):(t=Q(t))in r?[t]:t.match(I)||[]).length;while(n--)delete r[t[n]]}(void 0===t||w.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!w.isEmptyObject(t)}};var K=new G,J=new G,Z=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,ee=/[A-Z]/g;function te(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Z.test(e)?JSON.parse(e):e)}function ne(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(ee,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=te(n)}catch(e){}J.set(e,t,n)}else n=void 0;return n}w.extend({hasData:function(e){return J.hasData(e)||K.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return K.access(e,t,n)},_removeData:function(e,t){K.remove(e,t)}}),w.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=J.get(o),1===o.nodeType&&!K.get(o,"hasDataAttrs"))){n=a.length;while(n--)a[n]&&0===(r=a[n].name).indexOf("data-")&&(r=Q(r.slice(5)),ne(o,r,i[r]));K.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){J.set(this,e)}):_(this,function(t){var n;if(o&&void 0===t){if(void 0!==(n=J.get(o,e)))return n;if(void 0!==(n=ne(o,e)))return n}else this.each(function(){J.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=K.get(e,t),n&&(!r||Array.isArray(n)?r=K.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return K.get(e,n)||K.access(e,n,{empty:w.Callbacks("once memory").add(function(){K.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?w.queue(this[0],e):void 0===t?this:this.each(function(){var n=w.queue(this,e,t);w._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&w.dequeue(this,e)})},dequeue:function(e){return this.each(function(){w.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=w.Deferred(),o=this,a=this.length,u=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=K.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(u));return u(),i.promise(t)}});var re=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ie=new RegExp("^(?:([+-])=|)("+re+")([a-z%]*)$","i"),oe=["Top","Right","Bottom","Left"],ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&w.contains(e.ownerDocument,e)&&"none"===w.css(e,"display")},ue=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i};function se(e,t,n,r){var i,o,a=20,u=r?function(){return r.cur()}:function(){return w.css(e,t,"")},s=u(),l=n&&n[3]||(w.cssNumber[t]?"":"px"),c=(w.cssNumber[t]||"px"!==l&&+s)&&ie.exec(w.css(e,t));if(c&&c[3]!==l){s/=2,l=l||c[3],c=+s||1;while(a--)w.style(e,t,c+l),(1-o)*(1-(o=u()/s||.5))<=0&&(a=0),c/=o;c*=2,w.style(e,t,c+l),n=n||[]}return n&&(c=+c||+s||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var le={};function ce(e){var t,n=e.ownerDocument,r=e.nodeName,i=le[r];return i||(t=n.body.appendChild(n.createElement(r)),i=w.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),le[r]=i,i)}function fe(e,t){for(var n,r,i=[],o=0,a=e.length;o<a;o++)(r=e[o]).style&&(n=r.style.display,t?("none"===n&&(i[o]=K.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&ae(r)&&(i[o]=ce(r))):"none"!==n&&(i[o]="none",K.set(r,"display",n)));for(o=0;o<a;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}w.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?w(this).show():w(this).hide()})}});var de=/^(?:checkbox|radio)$/i,pe=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&D(e,t)?w.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)K.set(e[n],"globalEval",!t||K.get(t[n],"globalEval"))}var me=/<|&#?\w+;/;function be(e,t,n,r,i){for(var o,a,u,s,l,c,f=t.createDocumentFragment(),d=[],p=0,h=e.length;p<h;p++)if((o=e[p])||0===o)if("object"===b(o))w.merge(d,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),u=(pe.exec(o)||["",""])[1].toLowerCase(),s=ge[u]||ge._default,a.innerHTML=s[1]+w.htmlPrefilter(o)+s[2],c=s[0];while(c--)a=a.lastChild;w.merge(d,a.childNodes),(a=f.firstChild).textContent=""}else d.push(t.createTextNode(o));f.textContent="",p=0;while(o=d[p++])if(r&&w.inArray(o,r)>-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="<textarea>x</textarea>",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var xe=r.documentElement,we=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function Ne(){return!1}function ke(){try{return r.activeElement}catch(e){}}function Ae(e,t,n,r,i,o){var a,u;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(u in t)Ae(e,u,n,r,t[u],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ne;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,u,s,l,c,f,d,p,h,g,v=K.get(e);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(xe,i),n.guid||(n.guid=w.guid++),(s=v.events)||(s=v.events={}),(a=v.handle)||(a=v.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(I)||[""]).length;while(l--)p=g=(u=Te.exec(t[l])||[])[1],h=(u[2]||"").split(".").sort(),p&&(f=w.event.special[p]||{},p=(i?f.delegateType:f.bindType)||p,f=w.event.special[p]||{},c=w.extend({type:p,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(d=s[p])||((d=s[p]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(p,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,c):d.push(c),w.event.global[p]=!0)}},remove:function(e,t,n,r,i){var o,a,u,s,l,c,f,d,p,h,g,v=K.hasData(e)&&K.get(e);if(v&&(s=v.events)){l=(t=(t||"").match(I)||[""]).length;while(l--)if(u=Te.exec(t[l])||[],p=g=u[1],h=(u[2]||"").split(".").sort(),p){f=w.event.special[p]||{},d=s[p=(r?f.delegateType:f.bindType)||p]||[],u=u[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=d.length;while(o--)c=d[o],!i&&g!==c.origType||n&&n.guid!==c.guid||u&&!u.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(d.splice(o,1),c.selector&&d.delegateCount--,f.remove&&f.remove.call(e,c));a&&!d.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||w.removeEvent(e,p,v.handle),delete s[p])}else for(p in s)w.event.remove(e,p+t[l],n,r,!0);w.isEmptyObject(s)&&K.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,u,s=new Array(arguments.length),l=(K.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(s[0]=t,n=1;n<arguments.length;n++)s[n]=arguments[n];if(t.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,t)){u=w.event.handlers.call(this,t,l),n=0;while((o=u[n++])&&!t.isPropagationStopped()){t.currentTarget=o.elem,r=0;while((a=o.handlers[r++])&&!t.isImmediatePropagationStopped())t.rnamespace&&!t.rnamespace.test(a.namespace)||(t.handleObj=a,t.data=a.data,void 0!==(i=((w.event.special[a.origType]||{}).handle||a.handler).apply(o.elem,s))&&!1===(t.result=i)&&(t.preventDefault(),t.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,t),t.result}},handlers:function(e,t){var n,r,i,o,a,u=[],s=t.delegateCount,l=e.target;if(s&&l.nodeType&&!("click"===e.type&&e.button>=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<s;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?w(i,this).index(l)>-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&u.push({elem:l,handlers:o})}return l=this,s<t.length&&u.push({elem:l,handlers:t.slice(s)}),u},addProp:function(e,t){Object.defineProperty(w.Event.prototype,e,{enumerable:!0,configurable:!0,get:g(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[w.expando]?e:new w.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==ke()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===ke()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&D(this,"input"))return this.click(),!1},_default:function(e){return D(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},w.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},w.Event=function(e,t){if(!(this instanceof w.Event))return new w.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ee:Ne,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&w.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[w.expando]=!0},w.Event.prototype={constructor:w.Event,isDefaultPrevented:Ne,isPropagationStopped:Ne,isImmediatePropagationStopped:Ne,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ee,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ee,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ee,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},w.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&we.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},w.event.addProp),w.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){w.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return i&&(i===r||w.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),w.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,w(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Ne),this.each(function(){w.event.remove(this,e,n,t)})}});var De=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Se=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,je=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function qe(e,t){return D(e,"table")&&D(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function Oe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Pe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function He(e,t){var n,r,i,o,a,u,s,l;if(1===t.nodeType){if(K.hasData(e)&&(o=K.access(e),a=K.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n<r;n++)w.event.add(t,i,l[i][n])}J.hasData(e)&&(u=J.access(e),s=w.extend({},u),J.set(t,s))}}function Ie(e,t){var n=t.nodeName.toLowerCase();"input"===n&&de.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function Re(e,t,n,r){t=a.apply([],t);var i,o,u,s,l,c,f=0,d=e.length,p=d-1,v=t[0],y=g(v);if(y||d>1&&"string"==typeof v&&!h.checkClone&&Le.test(v))return e.each(function(i){var o=e.eq(i);y&&(t[0]=v.call(this,i,o.html())),Re(o,t,n,r)});if(d&&(i=be(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(s=(u=w.map(ve(i,"script"),Oe)).length;f<d;f++)l=i,f!==p&&(l=w.clone(l,!0,!0),s&&w.merge(u,ve(l,"script"))),n.call(e[f],l,f);if(s)for(c=u[u.length-1].ownerDocument,w.map(u,Pe),f=0;f<s;f++)l=u[f],he.test(l.type||"")&&!K.access(l,"globalEval")&&w.contains(c,l)&&(l.src&&"module"!==(l.type||"").toLowerCase()?w._evalUrl&&w._evalUrl(l.src):m(l.textContent.replace(je,""),c,l))}return e}function Be(e,t,n){for(var r,i=t?w.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||w.cleanData(ve(r)),r.parentNode&&(n&&w.contains(r.ownerDocument,r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}w.extend({htmlPrefilter:function(e){return e.replace(De,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,u=e.cloneNode(!0),s=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ve(u),r=0,i=(o=ve(e)).length;r<i;r++)Ie(o[r],a[r]);if(t)if(n)for(o=o||ve(e),a=a||ve(u),r=0,i=o.length;r<i;r++)He(o[r],a[r]);else He(e,u);return(a=ve(u,"script")).length>0&&ye(a,!s&&ve(e,"script")),u},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[K.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[K.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Be(this,e,!0)},remove:function(e){return Be(this,e)},text:function(e){return _(this,function(e){return void 0===e?w.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 Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(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&&(w.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Se.test(e)&&!ge[(pe.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(w.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return Re(this,arguments,function(t){var n=this.parentNode;w.inArray(this,e)<0&&(w.cleanData(ve(this)),n&&n.replaceChild(t,this))},e)}}),w.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){w.fn[e]=function(e){for(var n,r=[],i=w(e),o=i.length-1,a=0;a<=o;a++)n=a===o?this:this.clone(!0),w(i[a])[t](n),u.apply(r,n.get());return this.pushStack(r)}});var Me=new RegExp("^("+re+")(?!px)[a-z%]+$","i"),We=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},$e=new RegExp(oe.join("|"),"i");!function(){function t(){if(c){l.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",c.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",xe.appendChild(l).appendChild(c);var t=e.getComputedStyle(c);i="1%"!==t.top,s=12===n(t.marginLeft),c.style.right="60%",u=36===n(t.right),o=36===n(t.width),c.style.position="absolute",a=36===c.offsetWidth||"absolute",xe.removeChild(l),c=null}}function n(e){return Math.round(parseFloat(e))}var i,o,a,u,s,l=r.createElement("div"),c=r.createElement("div");c.style&&(c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",h.clearCloneStyle="content-box"===c.style.backgroundClip,w.extend(h,{boxSizingReliable:function(){return t(),o},pixelBoxStyles:function(){return t(),u},pixelPosition:function(){return t(),i},reliableMarginLeft:function(){return t(),s},scrollboxSize:function(){return t(),a}}))}();function Fe(e,t,n){var r,i,o,a,u=e.style;return(n=n||We(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||w.contains(e.ownerDocument,e)||(a=w.style(e,t)),!h.pixelBoxStyles()&&Me.test(a)&&$e.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=n.width,u.width=r,u.minWidth=i,u.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}var _e=/^(none|table(?!-c[ea]).+)/,Ue=/^--/,Ve={position:"absolute",visibility:"hidden",display:"block"},Xe={letterSpacing:"0",fontWeight:"400"},Qe=["Webkit","Moz","ms"],Ye=r.createElement("div").style;function Ge(e){if(e in Ye)return e;var t=e[0].toUpperCase()+e.slice(1),n=Qe.length;while(n--)if((e=Qe[n]+t)in Ye)return e}function Ke(e){var t=w.cssProps[e];return t||(t=w.cssProps[e]=Ge(e)||e),t}function Je(e,t,n){var r=ie.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ze(e,t,n,r,i,o){var a="width"===t?1:0,u=0,s=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(s+=w.css(e,n+oe[a],!0,i)),r?("content"===n&&(s-=w.css(e,"padding"+oe[a],!0,i)),"margin"!==n&&(s-=w.css(e,"border"+oe[a]+"Width",!0,i))):(s+=w.css(e,"padding"+oe[a],!0,i),"padding"!==n?s+=w.css(e,"border"+oe[a]+"Width",!0,i):u+=w.css(e,"border"+oe[a]+"Width",!0,i));return!r&&o>=0&&(s+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-s-u-.5))),s}function et(e,t,n){var r=We(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(Me.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,u=Q(t),s=Ue.test(t),l=e.style;if(s||(t=Ke(u)),a=w.cssHooks[t]||w.cssHooks[u],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[u]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(s?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,u=Q(t);return Ue.test(t)||(t=Ke(u)),(a=w.cssHooks[t]||w.cssHooks[u])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Xe&&(i=Xe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!_e.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):ue(e,Ve,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=We(e),a="border-box"===w.css(e,"boxSizing",!1,o),u=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(u-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),u&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Je(e,n,u)}}}),w.cssHooks.marginLeft=ze(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Je)}),w.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=We(e),i=t.length;a<i;a++)o[t[a]]=w.css(e,t[a],!1,r);return o}return void 0!==n?w.style(e,t,n):w.css(e,t)},e,t,arguments.length>1)}}),w.fn.delay=function(t,n){return t=w.fx?w.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e=r.createElement("input"),t=r.createElement("select").appendChild(r.createElement("option"));e.type="checkbox",h.checkOn=""!==e.value,h.optSelected=t.selected,(e=r.createElement("input")).value="t",e.type="radio",h.radioValue="t"===e.value}();var tt,nt=w.expr.attrHandle;w.fn.extend({attr:function(e,t){return _(this,w.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?tt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&D(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(I);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),tt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=nt[t]||w.find.attr;nt[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=nt[a],nt[a]=i,i=null!=n(e,t,r)?a:null,nt[a]=o),i}});var rt=/^(?:input|select|textarea|button)$/i,it=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return _(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):rt.test(e.nodeName)||it.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.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)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function ot(e){return(e.match(I)||[]).join(" ")}function at(e){return e.getAttribute&&e.getAttribute("class")||""}function ut(e){return Array.isArray(e)?e:"string"==typeof e?e.match(I)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,u,s=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,at(this)))});if((t=ut(e)).length)while(n=this[s++])if(i=at(n),r=1===n.nodeType&&" "+ot(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(u=ot(r))&&n.setAttribute("class",u)}return this},removeClass:function(e){var t,n,r,i,o,a,u,s=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,at(this)))});if(!arguments.length)return this.attr("class","");if((t=ut(e)).length)while(n=this[s++])if(i=at(n),r=1===n.nodeType&&" "+ot(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(u=ot(r))&&n.setAttribute("class",u)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,at(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=ut(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=at(this))&&K.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":K.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+ot(at(n))+" ").indexOf(t)>-1)return!0;return!1}});var st=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(st,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:ot(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,u=a?null:[],s=a?o+1:i.length;for(r=o<0?s:a?o:0;r<s;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!D(n.parentNode,"optgroup"))){if(t=w(n).val(),a)return t;u.push(t)}return u},set:function(e,t){var n,r,i=e.options,o=w.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=w.inArray(w.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var lt=/^(?:focusinfocus|focusoutblur)$/,ct=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,u,s,l,c,d,p,h,y=[i||r],m=f.call(t,"type")?t.type:t,b=f.call(t,"namespace")?t.namespace.split("."):[];if(u=h=s=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!lt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(b=m.split(".")).shift(),b.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=b.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),p=w.event.special[m]||{},o||!p.trigger||!1!==p.trigger.apply(i,n))){if(!o&&!p.noBubble&&!v(i)){for(l=p.delegateType||m,lt.test(l+m)||(u=u.parentNode);u;u=u.parentNode)y.push(u),s=u;s===(i.ownerDocument||r)&&y.push(s.defaultView||s.parentWindow||e)}a=0;while((u=y[a++])&&!t.isPropagationStopped())h=u,t.type=a>1?l:p.bindType||m,(d=(K.get(u,"events")||{})[t.type]&&K.get(u,"handle"))&&d.apply(u,n),(d=c&&u[c])&&d.apply&&Y(u)&&(t.result=d.apply(u,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||p._default&&!1!==p._default.apply(y.pop(),n)||!Y(i)||c&&g(i[m])&&!v(i)&&((s=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,ct),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,ct),w.event.triggered=void 0,s&&(i[c]=s)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=K.access(r,t);i||r.addEventListener(e,n,!0),K.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=K.access(r,t)-1;i?K.access(r,t,i):(r.removeEventListener(e,n,!0),K.remove(r,t))}}});var ft=/\[\]$/,dt=/\r?\n/g,pt=/^(?:submit|button|image|reset|file)$/i,ht=/^(?:input|select|textarea|keygen)/i;function gt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||ft.test(e)?r(e,i):gt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==b(t))r(e,t);else for(i in t)gt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)gt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&ht.test(this.nodeName)&&!pt.test(e)&&(this.checked||!de.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(dt,"\r\n")}}):{name:t.name,value:n.replace(dt,"\r\n")}}).get()}}),w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},h.createHTMLDocument=function(){var e=r.implementation.createHTMLDocument("").body;return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),w.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var i,o,a;return t||(h.createHTMLDocument?((i=(t=r.implementation.createHTMLDocument("")).createElement("base")).href=r.location.href,t.head.appendChild(i)):t=r),o=S.exec(e),a=!n&&[],o?[t.createElement(o[1])]:(o=be([e],t,a),a&&a.length&&w(a).remove(),w.merge([],o.childNodes))},w.offset={setOffset:function(e,t,n){var r,i,o,a,u,s,l,c=w.css(e,"position"),f=w(e),d={};"static"===c&&(e.style.position="relative"),u=f.offset(),o=w.css(e,"top"),s=w.css(e,"left"),(l=("absolute"===c||"fixed"===c)&&(o+s).indexOf("auto")>-1)?(a=(r=f.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(s)||0),g(t)&&(t=t.call(e,n,w.extend({},u))),null!=t.top&&(d.top=t.top-u.top+a),null!=t.left&&(d.left=t.left-u.left+i),"using"in t?t.using.call(e,d):f.css(d)}},w.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){w.offset.setOffset(this,e,t)});var t,n,r=this[0];if(r)return r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===w.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===w.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=w(e).offset()).top+=w.css(e,"borderTopWidth",!0),i.left+=w.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-w.css(r,"marginTop",!0),left:t.left-i.left-w.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===w.css(e,"position"))e=e.offsetParent;return e||xe})}}),w.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;w.fn[e]=function(r){return _(this,function(e,r,i){var o;if(v(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i},e,r,arguments.length)}}),w.each(["top","left"],function(e,t){w.cssHooks[t]=ze(h.pixelPosition,function(e,n){if(n)return n=Fe(e,t),Me.test(n)?w(e).position()[t]+"px":n})}),w.each({Height:"height",Width:"width"},function(e,t){w.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){w.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),u=n||(!0===i||!0===o?"margin":"border");return _(this,function(t,n,i){var o;return v(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?w.css(t,n,u):w.style(t,n,i,u)},t,a?i:void 0,a)}})}),w.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){w.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),w.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),w.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),w.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),g(e))return r=o.call(arguments,2),i=function(){return e.apply(t||this,r.concat(o.call(arguments)))},i.guid=e.guid=e.guid||w.guid++,i},w.holdReady=function(e){e?w.readyWait++:w.ready(!0)},w.isArray=Array.isArray,w.parseJSON=JSON.parse,w.nodeName=D,w.isFunction=g,w.isWindow=v,w.camelCase=Q,w.type=b,w.now=Date.now,w.isNumeric=function(e){var t=w.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return w});var vt=e.jQuery,yt=e.$;return w.noConflict=function(t){return e.$===w&&(e.$=yt),t&&e.jQuery===w&&(e.jQuery=vt),w},t||(e.jQuery=e.$=w),w}); diff --git a/public/bower_components/jquery/dist/jquery.slim.min.map b/public/bower_components/jquery/dist/jquery.slim.min.map new file mode 100644 index 0000000..a529d88 --- /dev/null +++ b/public/bower_components/jquery/dist/jquery.slim.min.map @@ -0,0 +1 @@ +{"version":3,"sources":["jquery.slim.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","arr","getProto","Object","getPrototypeOf","slice","concat","push","indexOf","class2type","toString","hasOwn","hasOwnProperty","fnToString","ObjectFunctionString","call","support","isFunction","obj","nodeType","isWindow","preservedScriptAttributes","type","src","noModule","DOMEval","code","doc","node","i","script","createElement","text","head","appendChild","parentNode","removeChild","toType","version","jQuery","selector","context","fn","init","rtrim","prototype","jquery","constructor","length","toArray","get","num","pushStack","elems","ret","merge","prevObject","each","callback","map","elem","apply","arguments","first","eq","last","len","j","end","sort","splice","extend","options","name","copy","copyIsArray","clone","target","deep","isPlainObject","Array","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","proto","Ctor","isEmptyObject","globalEval","isArrayLike","trim","makeArray","results","inArray","second","grep","invert","callbackInverse","matches","callbackExpect","arg","value","guid","Symbol","iterator","split","toLowerCase","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","Date","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","sortOrder","a","b","pop","push_native","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","unloadHandler","disabledAncestor","addCombinator","disabled","dir","next","childNodes","e","els","seed","m","nid","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","nodeName","getAttribute","setAttribute","toSelector","join","testContext","querySelectorAll","qsaError","removeAttribute","keys","cache","key","cacheLength","shift","markFunction","assert","el","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","documentElement","hasCompare","subWindow","defaultView","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","filter","attrId","find","getAttributeNode","tag","tmp","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","attr","val","specified","escape","sel","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","simple","forward","ofType","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","args","setFilters","idx","matched","not","matcher","unmatched","has","innerText","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","tokens","soFar","preFilters","cached","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","rsingleTag","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","targets","l","closest","index","prevAll","add","addBack","sibling","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","createOptions","object","flag","Callbacks","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","master","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","readyWait","wait","completed","removeEventListener","readyState","doScroll","access","chainable","emptyGet","raw","bulk","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","getData","JSON","parse","dataAttr","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isHiddenWithinTree","style","display","css","swap","old","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","getDefaultDisplay","body","showHide","show","values","hide","toggle","rcheckableType","rtagName","rscriptType","wrapMap","option","thead","col","tr","td","_default","optgroup","tbody","tfoot","colgroup","caption","th","getAll","setGlobalEval","refElements","rhtml","buildFragment","scripts","selection","ignored","wrap","fragment","createDocumentFragment","nodes","htmlPrefilter","createTextNode","div","checkClone","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","safeActiveElement","err","on","types","one","origFn","event","off","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","fix","handlerQueue","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","preventDefault","stopPropagation","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","Event","enumerable","originalEvent","writable","load","noBubble","trigger","blur","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","now","isSimulated","stopImmediatePropagation","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rxhtmlTag","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","pdataOld","pdataCur","udataOld","udataCur","fixInput","domManip","collection","hasScripts","iNoClone","valueIsFunction","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rnumnonpx","getStyles","opener","getComputedStyle","rboxStyle","computeStyleTests","container","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","right","pixelBoxStylesVal","boxSizingReliableVal","width","position","scrollboxSizeVal","offsetWidth","measure","round","parseFloat","backgroundClip","clearCloneStyle","boxSizingReliable","pixelBoxStyles","pixelPosition","reliableMarginLeft","scrollboxSize","curCSS","computed","minWidth","maxWidth","getPropertyValue","addGetHookIf","conditionFn","hookFn","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","cssPrefixes","emptyStyle","vendorPropName","capName","finalPropName","cssProps","setPositiveNumber","subtract","max","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","ceil","getWidthOrHeight","valueIsBorderBox","cssHooks","opacity","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","origName","isCustomProp","setProperty","isFinite","getClientRects","getBoundingClientRect","left","margin","padding","border","prefix","suffix","expand","expanded","parts","delay","time","fx","speeds","timeout","clearTimeout","opt","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","removeProp","propFix","propHooks","tabindex","parseInt","for","class","stripAndCollapse","getClass","classesToArray","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","isValidValue","classNames","hasClass","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","isTrigger","parentWindow","simulate","triggerHandler","attaches","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","hidden","visible","offsetHeight","createHTMLDocument","implementation","keepScripts","parsed","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","rect","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollLeft","scrollTop","scrollTo","Height","Width","","defaultExtra","funcName","hover","fnOver","fnOut","bind","unbind","delegate","undelegate","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","define","amd","_jQuery","_$","$","noConflict"],"mappings":"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","file":"jquery.slim.min.js"} \ No newline at end of file diff --git a/public/bower_components/jquery/external/sizzle/LICENSE.txt b/public/bower_components/jquery/external/sizzle/LICENSE.txt new file mode 100644 index 0000000..dd7ce94 --- /dev/null +++ b/public/bower_components/jquery/external/sizzle/LICENSE.txt @@ -0,0 +1,36 @@ +Copyright jQuery Foundation and other contributors, https://jquery.org/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/sizzle + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. diff --git a/public/bower_components/jquery/external/sizzle/dist/sizzle.js b/public/bower_components/jquery/external/sizzle/dist/sizzle.js new file mode 100644 index 0000000..bfa0793 --- /dev/null +++ b/public/bower_components/jquery/external/sizzle/dist/sizzle.js @@ -0,0 +1,2272 @@ +/*! + * Sizzle CSS Selector Engine v2.3.3 + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2016-08-08 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + disabledAncestor = addCombinator( + function( elem ) { + return elem.disabled === true && ("form" in elem || "label" in elem); + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !compilerCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + + if ( nodeType !== 1 ) { + newContext = context; + newSelector = selector; + + // qSA looks outside Element context, which is not what we want + // Thanks to Andrew Dupont for this workaround technique + // Support: IE <=8 + // Exclude object elements + } else if ( context.nodeName.toLowerCase() !== "object" ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + disabledAncestor( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( preferredDoc !== document && + (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( el ) { + el.className = "i"; + return !el.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( el ) { + el.appendChild( document.createComment("") ); + return !el.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID filter and find + if ( support.getById ) { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( (elem = elems[i++]) ) { + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( el ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" + + "<select id='" + expando + "-\r\\' msallowcapture=''>" + + "<option selected=''></option></select>"; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "<a href='' disabled='disabled'></a>" + + "<select disabled='disabled'><option/></select>"; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll(":enabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll(":disabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + !compilerCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( (oldCache = uniqueCache[ key ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( el ) { + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( el ) { + el.innerHTML = "<a href='#'></a>"; + return el.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( el ) { + el.innerHTML = "<input/>"; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( el ) { + return el.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +// EXPOSE +var _sizzle = window.Sizzle; + +Sizzle.noConflict = function() { + if ( window.Sizzle === Sizzle ) { + window.Sizzle = _sizzle; + } + + return Sizzle; +}; + +if ( typeof define === "function" && define.amd ) { + define(function() { return Sizzle; }); +// Sizzle requires that there be a global window in Common-JS like environments +} else if ( typeof module !== "undefined" && module.exports ) { + module.exports = Sizzle; +} else { + window.Sizzle = Sizzle; +} +// EXPOSE + +})( window ); diff --git a/public/bower_components/jquery/external/sizzle/dist/sizzle.min.js b/public/bower_components/jquery/external/sizzle/dist/sizzle.min.js new file mode 100644 index 0000000..be03278 --- /dev/null +++ b/public/bower_components/jquery/external/sizzle/dist/sizzle.min.js @@ -0,0 +1,3 @@ +/*! Sizzle v2.3.3 | (c) jQuery Foundation, Inc. | jquery.org/license */ +!function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e);return!1}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}return!1}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null});var Aa=a.Sizzle;ga.noConflict=function(){return a.Sizzle===ga&&(a.Sizzle=Aa),ga},"function"==typeof define&&define.amd?define(function(){return ga}):"undefined"!=typeof module&&module.exports?module.exports=ga:a.Sizzle=ga}(window); +//# sourceMappingURL=sizzle.min.map \ No newline at end of file diff --git a/public/bower_components/jquery/external/sizzle/dist/sizzle.min.map b/public/bower_components/jquery/external/sizzle/dist/sizzle.min.map new file mode 100644 index 0000000..031c1b7 --- /dev/null +++ b/public/bower_components/jquery/external/sizzle/dist/sizzle.min.map @@ -0,0 +1 @@ +{"version":3,"sources":["sizzle.js"],"names":["window","i","support","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","document","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","matches","contains","expando","Date","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","sortOrder","a","b","hasOwn","hasOwnProperty","arr","pop","push_native","push","slice","indexOf","list","elem","len","length","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rtrim","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","toString","unloadHandler","disabledAncestor","addCombinator","disabled","dir","next","apply","call","childNodes","nodeType","e","target","els","j","Sizzle","selector","context","results","seed","m","nid","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","nodeName","toLowerCase","getAttribute","replace","setAttribute","toSelector","join","testContext","parentNode","querySelectorAll","qsaError","removeAttribute","keys","cache","key","value","cacheLength","shift","markFunction","fn","assert","el","createElement","removeChild","addHandle","attrs","handler","split","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","type","name","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","documentElement","node","hasCompare","subWindow","doc","defaultView","top","addEventListener","attachEvent","className","appendChild","createComment","getById","getElementsByName","filter","attrId","find","getAttributeNode","elems","tag","tmp","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","ret","attr","val","undefined","specified","escape","sel","error","msg","Error","uniqueSort","duplicates","detectDuplicates","sortStable","sort","splice","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">","first"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","last","simple","forward","ofType","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","args","setFilters","idx","matched","not","matcher","unmatched","has","text","innerText","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","eq","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","prototype","filters","parseOnly","tokens","soFar","preFilters","cached","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","map","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","concat","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","Math","random","token","compiled","defaultValue","_sizzle","noConflict","define","amd","module","exports"],"mappings":"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","file":"sizzle.min.js"} \ No newline at end of file diff --git a/public/bower_components/jquery/src/.eslintrc.json b/public/bower_components/jquery/src/.eslintrc.json new file mode 100644 index 0000000..3a4a3d2 --- /dev/null +++ b/public/bower_components/jquery/src/.eslintrc.json @@ -0,0 +1,5 @@ +{ + "root": true, + + "extends": "../.eslintrc-browser.json" +} diff --git a/public/bower_components/jquery/src/ajax.js b/public/bower_components/jquery/src/ajax.js new file mode 100644 index 0000000..aec2683 --- /dev/null +++ b/public/bower_components/jquery/src/ajax.js @@ -0,0 +1,856 @@ +define( [ + "./core", + "./var/document", + "./var/isFunction", + "./var/rnothtmlwhite", + "./ajax/var/location", + "./ajax/var/nonce", + "./ajax/var/rquery", + + "./core/init", + "./ajax/parseXML", + "./event/trigger", + "./deferred", + "./serialize" // jQuery.param +], function( jQuery, document, isFunction, rnothtmlwhite, location, nonce, rquery ) { + +"use strict"; + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + 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" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ]; + } + } + match = responseHeaders[ key.toLowerCase() ]; + } + return match == null ? null : match; + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + +return jQuery; +} ); diff --git a/public/bower_components/jquery/src/ajax/jsonp.js b/public/bower_components/jquery/src/ajax/jsonp.js new file mode 100644 index 0000000..28ae036 --- /dev/null +++ b/public/bower_components/jquery/src/ajax/jsonp.js @@ -0,0 +1,103 @@ +define( [ + "../core", + "../var/isFunction", + "./var/nonce", + "./var/rquery", + "../ajax" +], function( jQuery, isFunction, nonce, rquery ) { + +"use strict"; + +var oldCallbacks = [], + rjsonp = /(=)\?(?=&|$)|\?\?/; + +// Default jsonp settings +jQuery.ajaxSetup( { + jsonp: "callback", + jsonpCallback: function() { + var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) ); + this[ callback ] = true; + return callback; + } +} ); + +// Detect, normalize options and install callbacks for jsonp requests +jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { + + var callbackName, overwritten, responseContainer, + jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? + "url" : + typeof s.data === "string" && + ( s.contentType || "" ) + .indexOf( "application/x-www-form-urlencoded" ) === 0 && + rjsonp.test( s.data ) && "data" + ); + + // Handle iff the expected data type is "jsonp" or we have a parameter to set + if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { + + // Get callback name, remembering preexisting value associated with it + callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ? + s.jsonpCallback() : + s.jsonpCallback; + + // Insert callback into url or form data + if ( jsonProp ) { + s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); + } else if ( s.jsonp !== false ) { + s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; + } + + // Use data converter to retrieve json after script execution + s.converters[ "script json" ] = function() { + if ( !responseContainer ) { + jQuery.error( callbackName + " was not called" ); + } + return responseContainer[ 0 ]; + }; + + // Force json dataType + s.dataTypes[ 0 ] = "json"; + + // Install callback + overwritten = window[ callbackName ]; + window[ callbackName ] = function() { + responseContainer = arguments; + }; + + // Clean-up function (fires after converters) + jqXHR.always( function() { + + // If previous value didn't exist - remove it + if ( overwritten === undefined ) { + jQuery( window ).removeProp( callbackName ); + + // Otherwise restore preexisting value + } else { + window[ callbackName ] = overwritten; + } + + // Save back as free + if ( s[ callbackName ] ) { + + // Make sure that re-using the options doesn't screw things around + s.jsonpCallback = originalSettings.jsonpCallback; + + // Save the callback name for future use + oldCallbacks.push( callbackName ); + } + + // Call if it was a function and we have a response + if ( responseContainer && isFunction( overwritten ) ) { + overwritten( responseContainer[ 0 ] ); + } + + responseContainer = overwritten = undefined; + } ); + + // Delegate to script + return "script"; + } +} ); + +} ); diff --git a/public/bower_components/jquery/src/ajax/load.js b/public/bower_components/jquery/src/ajax/load.js new file mode 100644 index 0000000..defdb01 --- /dev/null +++ b/public/bower_components/jquery/src/ajax/load.js @@ -0,0 +1,77 @@ +define( [ + "../core", + "../core/stripAndCollapse", + "../var/isFunction", + "../core/parseHTML", + "../ajax", + "../traversing", + "../manipulation", + "../selector" +], function( jQuery, stripAndCollapse, isFunction ) { + +"use strict"; + +/** + * Load a url into a page + */ +jQuery.fn.load = function( url, params, callback ) { + var selector, type, response, + self = this, + off = url.indexOf( " " ); + + if ( off > -1 ) { + selector = stripAndCollapse( url.slice( off ) ); + url = url.slice( 0, off ); + } + + // If it's a function + if ( isFunction( params ) ) { + + // We assume that it's the callback + callback = params; + params = undefined; + + // Otherwise, build a param string + } else if ( params && typeof params === "object" ) { + type = "POST"; + } + + // If we have elements to modify, make the request + if ( self.length > 0 ) { + jQuery.ajax( { + url: url, + + // If "type" variable is undefined, then "GET" method will be used. + // Make value of this field explicit since + // user can override it through ajaxSetup method + type: type || "GET", + dataType: "html", + data: params + } ).done( function( responseText ) { + + // Save response for use in complete callback + response = arguments; + + self.html( selector ? + + // If a selector was specified, locate the right elements in a dummy div + // Exclude scripts to avoid IE 'Permission Denied' errors + jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) : + + // Otherwise use the full result + responseText ); + + // If the request succeeds, this function gets "data", "status", "jqXHR" + // but they are ignored because response was set above. + // If it fails, this function gets "jqXHR", "status", "error" + } ).always( callback && function( jqXHR, status ) { + self.each( function() { + callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] ); + } ); + } ); + } + + return this; +}; + +} ); diff --git a/public/bower_components/jquery/src/ajax/parseXML.js b/public/bower_components/jquery/src/ajax/parseXML.js new file mode 100644 index 0000000..acf7ab2 --- /dev/null +++ b/public/bower_components/jquery/src/ajax/parseXML.js @@ -0,0 +1,30 @@ +define( [ + "../core" +], function( jQuery ) { + +"use strict"; + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + +return jQuery.parseXML; + +} ); diff --git a/public/bower_components/jquery/src/ajax/script.js b/public/bower_components/jquery/src/ajax/script.js new file mode 100644 index 0000000..6e0d21e --- /dev/null +++ b/public/bower_components/jquery/src/ajax/script.js @@ -0,0 +1,77 @@ +define( [ + "../core", + "../var/document", + "../ajax" +], function( jQuery, document ) { + +"use strict"; + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain requests + if ( s.crossDomain ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( "<script>" ).prop( { + charset: s.scriptCharset, + src: s.url + } ).on( + "load error", + callback = function( evt ) { + script.remove(); + callback = null; + if ( evt ) { + complete( evt.type === "error" ? 404 : 200, evt.type ); + } + } + ); + + // Use native DOM manipulation to avoid our domManip AJAX trickery + document.head.appendChild( script[ 0 ] ); + }, + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + +} ); diff --git a/public/bower_components/jquery/src/ajax/var/location.js b/public/bower_components/jquery/src/ajax/var/location.js new file mode 100644 index 0000000..4171d18 --- /dev/null +++ b/public/bower_components/jquery/src/ajax/var/location.js @@ -0,0 +1,5 @@ +define( function() { + "use strict"; + + return window.location; +} ); diff --git a/public/bower_components/jquery/src/ajax/var/nonce.js b/public/bower_components/jquery/src/ajax/var/nonce.js new file mode 100644 index 0000000..33d0cff --- /dev/null +++ b/public/bower_components/jquery/src/ajax/var/nonce.js @@ -0,0 +1,5 @@ +define( function() { + "use strict"; + + return Date.now(); +} ); diff --git a/public/bower_components/jquery/src/ajax/var/rquery.js b/public/bower_components/jquery/src/ajax/var/rquery.js new file mode 100644 index 0000000..06fc374 --- /dev/null +++ b/public/bower_components/jquery/src/ajax/var/rquery.js @@ -0,0 +1,5 @@ +define( function() { + "use strict"; + + return ( /\?/ ); +} ); diff --git a/public/bower_components/jquery/src/ajax/xhr.js b/public/bower_components/jquery/src/ajax/xhr.js new file mode 100644 index 0000000..4a31171 --- /dev/null +++ b/public/bower_components/jquery/src/ajax/xhr.js @@ -0,0 +1,170 @@ +define( [ + "../core", + "../var/support", + "../ajax" +], function( jQuery, support ) { + +"use strict"; + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + +} ); diff --git a/public/bower_components/jquery/src/attributes.js b/public/bower_components/jquery/src/attributes.js new file mode 100644 index 0000000..2d801e5 --- /dev/null +++ b/public/bower_components/jquery/src/attributes.js @@ -0,0 +1,13 @@ +define( [ + "./core", + "./attributes/attr", + "./attributes/prop", + "./attributes/classes", + "./attributes/val" +], function( jQuery ) { + +"use strict"; + +// Return jQuery for attributes-only inclusion +return jQuery; +} ); diff --git a/public/bower_components/jquery/src/attributes/attr.js b/public/bower_components/jquery/src/attributes/attr.js new file mode 100644 index 0000000..6b5cbd2 --- /dev/null +++ b/public/bower_components/jquery/src/attributes/attr.js @@ -0,0 +1,141 @@ +define( [ + "../core", + "../core/access", + "../core/nodeName", + "./support", + "../var/rnothtmlwhite", + "../selector" +], function( jQuery, access, nodeName, support, rnothtmlwhite ) { + +"use strict"; + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + +} ); diff --git a/public/bower_components/jquery/src/attributes/classes.js b/public/bower_components/jquery/src/attributes/classes.js new file mode 100644 index 0000000..0c90a8d --- /dev/null +++ b/public/bower_components/jquery/src/attributes/classes.js @@ -0,0 +1,186 @@ +define( [ + "../core", + "../core/stripAndCollapse", + "../var/isFunction", + "../var/rnothtmlwhite", + "../data/var/dataPriv", + "../core/init" +], function( jQuery, stripAndCollapse, isFunction, rnothtmlwhite, dataPriv ) { + +"use strict"; + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + +} ); diff --git a/public/bower_components/jquery/src/attributes/prop.js b/public/bower_components/jquery/src/attributes/prop.js new file mode 100644 index 0000000..49ac244 --- /dev/null +++ b/public/bower_components/jquery/src/attributes/prop.js @@ -0,0 +1,143 @@ +define( [ + "../core", + "../core/access", + "./support", + "../selector" +], function( jQuery, access, support ) { + +"use strict"; + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + +} ); diff --git a/public/bower_components/jquery/src/attributes/support.js b/public/bower_components/jquery/src/attributes/support.js new file mode 100644 index 0000000..af60e96 --- /dev/null +++ b/public/bower_components/jquery/src/attributes/support.js @@ -0,0 +1,33 @@ +define( [ + "../var/document", + "../var/support" +], function( document, support ) { + +"use strict"; + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + +return support; + +} ); diff --git a/public/bower_components/jquery/src/attributes/val.js b/public/bower_components/jquery/src/attributes/val.js new file mode 100644 index 0000000..c719b34 --- /dev/null +++ b/public/bower_components/jquery/src/attributes/val.js @@ -0,0 +1,191 @@ +define( [ + "../core", + "../core/stripAndCollapse", + "./support", + "../core/nodeName", + "../var/isFunction", + + "../core/init" +], function( jQuery, stripAndCollapse, support, nodeName, isFunction ) { + +"use strict"; + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + +} ); diff --git a/public/bower_components/jquery/src/callbacks.js b/public/bower_components/jquery/src/callbacks.js new file mode 100644 index 0000000..6cf5403 --- /dev/null +++ b/public/bower_components/jquery/src/callbacks.js @@ -0,0 +1,236 @@ +define( [ + "./core", + "./core/toType", + "./var/isFunction", + "./var/rnothtmlwhite" +], function( jQuery, toType, isFunction, rnothtmlwhite ) { + +"use strict"; + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + +return jQuery; +} ); diff --git a/public/bower_components/jquery/src/core.js b/public/bower_components/jquery/src/core.js new file mode 100644 index 0000000..3a1c0cc --- /dev/null +++ b/public/bower_components/jquery/src/core.js @@ -0,0 +1,399 @@ +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + +define( [ + "./var/arr", + "./var/document", + "./var/getProto", + "./var/slice", + "./var/concat", + "./var/push", + "./var/indexOf", + "./var/class2type", + "./var/toString", + "./var/hasOwn", + "./var/fnToString", + "./var/ObjectFunctionString", + "./var/support", + "./var/isFunction", + "./var/isWindow", + "./core/DOMEval", + "./core/toType" +], function( arr, document, getProto, slice, concat, push, indexOf, + class2type, toString, hasOwn, fnToString, ObjectFunctionString, + support, isFunction, isWindow, DOMEval, toType ) { + +"use strict"; + +var + version = "3.3.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + + if ( copyIsArray ) { + copyIsArray = false; + clone = src && Array.isArray( src ) ? src : []; + + } else { + clone = src && jQuery.isPlainObject( src ) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + + /* eslint-disable no-unused-vars */ + // See https://github.com/eslint/eslint/issues/6125 + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + DOMEval( code ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} + +return jQuery; +} ); diff --git a/public/bower_components/jquery/src/core/DOMEval.js b/public/bower_components/jquery/src/core/DOMEval.js new file mode 100644 index 0000000..199ec95 --- /dev/null +++ b/public/bower_components/jquery/src/core/DOMEval.js @@ -0,0 +1,30 @@ +define( [ + "../var/document" +], function( document ) { + "use strict"; + + var preservedScriptAttributes = { + type: true, + src: true, + noModule: true + }; + + function DOMEval( code, doc, node ) { + doc = doc || document; + + var i, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + if ( node[ i ] ) { + script[ i ] = node[ i ]; + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + return DOMEval; +} ); diff --git a/public/bower_components/jquery/src/core/access.js b/public/bower_components/jquery/src/core/access.js new file mode 100644 index 0000000..842c4a4 --- /dev/null +++ b/public/bower_components/jquery/src/core/access.js @@ -0,0 +1,72 @@ +define( [ + "../core", + "../core/toType", + "../var/isFunction" +], function( jQuery, toType, isFunction ) { + +"use strict"; + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + +return access; + +} ); diff --git a/public/bower_components/jquery/src/core/camelCase.js b/public/bower_components/jquery/src/core/camelCase.js new file mode 100644 index 0000000..799fb37 --- /dev/null +++ b/public/bower_components/jquery/src/core/camelCase.js @@ -0,0 +1,23 @@ +define( [], function() { + +"use strict"; + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} + +return camelCase; + +} ); diff --git a/public/bower_components/jquery/src/core/init.js b/public/bower_components/jquery/src/core/init.js new file mode 100644 index 0000000..8865238 --- /dev/null +++ b/public/bower_components/jquery/src/core/init.js @@ -0,0 +1,129 @@ +// Initialize a jQuery object +define( [ + "../core", + "../var/document", + "../var/isFunction", + "./var/rsingleTag", + + "../traversing/findFilter" +], function( jQuery, document, isFunction, rsingleTag ) { + +"use strict"; + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + +return init; + +} ); diff --git a/public/bower_components/jquery/src/core/nodeName.js b/public/bower_components/jquery/src/core/nodeName.js new file mode 100644 index 0000000..8a5f5f0 --- /dev/null +++ b/public/bower_components/jquery/src/core/nodeName.js @@ -0,0 +1,13 @@ +define( function() { + +"use strict"; + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +}; + +return nodeName; + +} ); diff --git a/public/bower_components/jquery/src/core/parseHTML.js b/public/bower_components/jquery/src/core/parseHTML.js new file mode 100644 index 0000000..21ff6bf --- /dev/null +++ b/public/bower_components/jquery/src/core/parseHTML.js @@ -0,0 +1,65 @@ +define( [ + "../core", + "../var/document", + "./var/rsingleTag", + "../manipulation/buildFragment", + + // This is the only module that needs core/support + "./support" +], function( jQuery, document, rsingleTag, buildFragment, support ) { + +"use strict"; + +// Argument "data" should be string of html +// context (optional): If specified, the fragment will be created in this context, +// defaults to document +// keepScripts (optional): If true, will include scripts passed in the html string +jQuery.parseHTML = function( data, context, keepScripts ) { + if ( typeof data !== "string" ) { + return []; + } + if ( typeof context === "boolean" ) { + keepScripts = context; + context = false; + } + + var base, parsed, scripts; + + if ( !context ) { + + // Stop scripts or inline event handlers from being executed immediately + // by using document.implementation + if ( support.createHTMLDocument ) { + context = document.implementation.createHTMLDocument( "" ); + + // Set the base href for the created document + // so any parsed elements with URLs + // are based on the document's URL (gh-2965) + base = context.createElement( "base" ); + base.href = document.location.href; + context.head.appendChild( base ); + } else { + context = document; + } + } + + parsed = rsingleTag.exec( data ); + scripts = !keepScripts && []; + + // Single tag + if ( parsed ) { + return [ context.createElement( parsed[ 1 ] ) ]; + } + + parsed = buildFragment( [ data ], context, scripts ); + + if ( scripts && scripts.length ) { + jQuery( scripts ).remove(); + } + + return jQuery.merge( [], parsed.childNodes ); +}; + +return jQuery.parseHTML; + +} ); diff --git a/public/bower_components/jquery/src/core/ready-no-deferred.js b/public/bower_components/jquery/src/core/ready-no-deferred.js new file mode 100644 index 0000000..4428020 --- /dev/null +++ b/public/bower_components/jquery/src/core/ready-no-deferred.js @@ -0,0 +1,97 @@ +define( [ + "../core", + "../var/document", + "../var/isFunction" +], function( jQuery, document, isFunction ) { + +"use strict"; + +var readyCallbacks = [], + whenReady = function( fn ) { + readyCallbacks.push( fn ); + }, + executeReady = function( fn ) { + + // Prevent errors from freezing future callback execution (gh-1823) + // Not backwards-compatible as this does not execute sync + window.setTimeout( function() { + fn.call( document, jQuery ); + } ); + }; + +jQuery.fn.ready = function( fn ) { + whenReady( fn ); + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + whenReady = function( fn ) { + readyCallbacks.push( fn ); + + while ( readyCallbacks.length ) { + fn = readyCallbacks.shift(); + if ( isFunction( fn ) ) { + executeReady( fn ); + } + } + }; + + whenReady(); + } +} ); + +// Make jQuery.ready Promise consumable (gh-1778) +jQuery.ready.then = jQuery.fn.ready; + +/** + * The ready event handler and self cleanup method + */ +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE9-10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + +} ); diff --git a/public/bower_components/jquery/src/core/ready.js b/public/bower_components/jquery/src/core/ready.js new file mode 100644 index 0000000..794feee --- /dev/null +++ b/public/bower_components/jquery/src/core/ready.js @@ -0,0 +1,86 @@ +define( [ + "../core", + "../var/document", + "../core/readyException", + "../deferred" +], function( jQuery, document ) { + +"use strict"; + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + +} ); diff --git a/public/bower_components/jquery/src/core/readyException.js b/public/bower_components/jquery/src/core/readyException.js new file mode 100644 index 0000000..72bdd90 --- /dev/null +++ b/public/bower_components/jquery/src/core/readyException.js @@ -0,0 +1,13 @@ +define( [ + "../core" +], function( jQuery ) { + +"use strict"; + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + +} ); diff --git a/public/bower_components/jquery/src/core/stripAndCollapse.js b/public/bower_components/jquery/src/core/stripAndCollapse.js new file mode 100644 index 0000000..2b63820 --- /dev/null +++ b/public/bower_components/jquery/src/core/stripAndCollapse.js @@ -0,0 +1,14 @@ +define( [ + "../var/rnothtmlwhite" +], function( rnothtmlwhite ) { + "use strict"; + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + return stripAndCollapse; +} ); diff --git a/public/bower_components/jquery/src/core/support.js b/public/bower_components/jquery/src/core/support.js new file mode 100644 index 0000000..13ae02f --- /dev/null +++ b/public/bower_components/jquery/src/core/support.js @@ -0,0 +1,20 @@ +define( [ + "../var/document", + "../var/support" +], function( document, support ) { + +"use strict"; + +// Support: Safari 8 only +// In Safari 8 documents created via document.implementation.createHTMLDocument +// collapse sibling forms: the second one becomes a child of the first one. +// Because of that, this security measure has to be disabled in Safari 8. +// https://bugs.webkit.org/show_bug.cgi?id=137337 +support.createHTMLDocument = ( function() { + var body = document.implementation.createHTMLDocument( "" ).body; + body.innerHTML = "<form></form><form></form>"; + return body.childNodes.length === 2; +} )(); + +return support; +} ); diff --git a/public/bower_components/jquery/src/core/toType.js b/public/bower_components/jquery/src/core/toType.js new file mode 100644 index 0000000..c77ba95 --- /dev/null +++ b/public/bower_components/jquery/src/core/toType.js @@ -0,0 +1,20 @@ +define( [ + "../var/class2type", + "../var/toString" +], function( class2type, toString ) { + +"use strict"; + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} + +return toType; +} ); diff --git a/public/bower_components/jquery/src/core/var/rsingleTag.js b/public/bower_components/jquery/src/core/var/rsingleTag.js new file mode 100644 index 0000000..4d6e8a0 --- /dev/null +++ b/public/bower_components/jquery/src/core/var/rsingleTag.js @@ -0,0 +1,6 @@ +define( function() { + "use strict"; + + // Match a standalone tag + return ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); +} ); diff --git a/public/bower_components/jquery/src/css.js b/public/bower_components/jquery/src/css.js new file mode 100644 index 0000000..43e4274 --- /dev/null +++ b/public/bower_components/jquery/src/css.js @@ -0,0 +1,481 @@ +define( [ + "./core", + "./var/pnum", + "./core/access", + "./core/camelCase", + "./var/document", + "./var/rcssNum", + "./css/var/rnumnonpx", + "./css/var/cssExpand", + "./css/var/getStyles", + "./css/var/swap", + "./css/curCSS", + "./css/adjustCSS", + "./css/addGetHookIf", + "./css/support", + + "./core/init", + "./core/ready", + "./selector" // contains +], function( jQuery, pnum, access, camelCase, document, rcssNum, rnumnonpx, cssExpand, + getStyles, swap, curCSS, adjustCSS, addGetHookIf, support ) { + +"use strict"; + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }, + + cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style; + +// Return a css property mapped to a potentially vendor prefixed property +function vendorPropName( name ) { + + // Shortcut for names that are not vendor prefixed + if ( name in emptyStyle ) { + return name; + } + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a property mapped along what jQuery.cssProps suggests or to +// a vendor prefixed property. +function finalPropName( name ) { + var ret = jQuery.cssProps[ name ]; + if ( !ret ) { + ret = jQuery.cssProps[ name ] = vendorPropName( name ) || name; + } + return ret; +} + +function setPositiveNumber( elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + ) ); + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + val = curCSS( elem, dimension, styles ), + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox; + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + // Check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = valueIsBorderBox && + ( support.boxSizingReliable() || val === elem.style[ dimension ] ); + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + if ( val === "auto" || + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) { + + val = elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ]; + + // offsetWidth/offsetHeight provide border-box values + valueIsBorderBox = true; + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + if ( type === "number" ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra && boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ); + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && support.scrollboxSize() === styles.position ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + +return jQuery; +} ); diff --git a/public/bower_components/jquery/src/css/addGetHookIf.js b/public/bower_components/jquery/src/css/addGetHookIf.js new file mode 100644 index 0000000..e4bb49a --- /dev/null +++ b/public/bower_components/jquery/src/css/addGetHookIf.js @@ -0,0 +1,26 @@ +define( function() { + +"use strict"; + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + +return addGetHookIf; + +} ); diff --git a/public/bower_components/jquery/src/css/adjustCSS.js b/public/bower_components/jquery/src/css/adjustCSS.js new file mode 100644 index 0000000..626ec74 --- /dev/null +++ b/public/bower_components/jquery/src/css/adjustCSS.js @@ -0,0 +1,73 @@ +define( [ + "../core", + "../var/rcssNum" +], function( jQuery, rcssNum ) { + +"use strict"; + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + +return adjustCSS; +} ); diff --git a/public/bower_components/jquery/src/css/curCSS.js b/public/bower_components/jquery/src/css/curCSS.js new file mode 100644 index 0000000..aa1414d --- /dev/null +++ b/public/bower_components/jquery/src/css/curCSS.js @@ -0,0 +1,65 @@ +define( [ + "../core", + "./var/rboxStyle", + "./var/rnumnonpx", + "./var/getStyles", + "./support", + "../selector" // Get jQuery.contains +], function( jQuery, rboxStyle, rnumnonpx, getStyles, support ) { + +"use strict"; + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + +return curCSS; +} ); diff --git a/public/bower_components/jquery/src/css/hiddenVisibleSelectors.js b/public/bower_components/jquery/src/css/hiddenVisibleSelectors.js new file mode 100644 index 0000000..d7a9339 --- /dev/null +++ b/public/bower_components/jquery/src/css/hiddenVisibleSelectors.js @@ -0,0 +1,15 @@ +define( [ + "../core", + "../selector" +], function( jQuery ) { + +"use strict"; + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + +} ); diff --git a/public/bower_components/jquery/src/css/showHide.js b/public/bower_components/jquery/src/css/showHide.js new file mode 100644 index 0000000..3eeafef --- /dev/null +++ b/public/bower_components/jquery/src/css/showHide.js @@ -0,0 +1,105 @@ +define( [ + "../core", + "../data/var/dataPriv", + "../css/var/isHiddenWithinTree" +], function( jQuery, dataPriv, isHiddenWithinTree ) { + +"use strict"; + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); + +return showHide; +} ); diff --git a/public/bower_components/jquery/src/css/support.js b/public/bower_components/jquery/src/css/support.js new file mode 100644 index 0000000..dbb7ef7 --- /dev/null +++ b/public/bower_components/jquery/src/css/support.js @@ -0,0 +1,102 @@ +define( [ + "../core", + "../var/document", + "../var/documentElement", + "../var/support" +], function( jQuery, document, documentElement, support ) { + +"use strict"; + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + div.style.position = "absolute"; + scrollboxSizeVal = div.offsetWidth === 36 || "absolute"; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + } + } ); +} )(); + +return support; + +} ); diff --git a/public/bower_components/jquery/src/css/var/cssExpand.js b/public/bower_components/jquery/src/css/var/cssExpand.js new file mode 100644 index 0000000..dd2007c --- /dev/null +++ b/public/bower_components/jquery/src/css/var/cssExpand.js @@ -0,0 +1,5 @@ +define( function() { + "use strict"; + + return [ "Top", "Right", "Bottom", "Left" ]; +} ); diff --git a/public/bower_components/jquery/src/css/var/getStyles.js b/public/bower_components/jquery/src/css/var/getStyles.js new file mode 100644 index 0000000..0b893ac --- /dev/null +++ b/public/bower_components/jquery/src/css/var/getStyles.js @@ -0,0 +1,17 @@ +define( function() { + "use strict"; + + return function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; +} ); diff --git a/public/bower_components/jquery/src/css/var/isHiddenWithinTree.js b/public/bower_components/jquery/src/css/var/isHiddenWithinTree.js new file mode 100644 index 0000000..3cfb93e --- /dev/null +++ b/public/bower_components/jquery/src/css/var/isHiddenWithinTree.js @@ -0,0 +1,34 @@ +define( [ + "../../core", + "../../selector" + + // css is assumed +], function( jQuery ) { + "use strict"; + + // isHiddenWithinTree reports if an element has a non-"none" display style (inline and/or + // through the CSS cascade), which is useful in deciding whether or not to make it visible. + // It differs from the :hidden selector (jQuery.expr.pseudos.hidden) in two important ways: + // * A hidden ancestor does not force an element to be classified as hidden. + // * Being disconnected from the document does not force an element to be classified as hidden. + // These differences improve the behavior of .toggle() et al. when applied to elements that are + // detached or contained within hidden ancestors (gh-2404, gh-2863). + return function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + jQuery.contains( elem.ownerDocument, elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; +} ); diff --git a/public/bower_components/jquery/src/css/var/rboxStyle.js b/public/bower_components/jquery/src/css/var/rboxStyle.js new file mode 100644 index 0000000..902c010 --- /dev/null +++ b/public/bower_components/jquery/src/css/var/rboxStyle.js @@ -0,0 +1,7 @@ +define( [ + "./cssExpand" +], function( cssExpand ) { + "use strict"; + + return new RegExp( cssExpand.join( "|" ), "i" ); +} ); diff --git a/public/bower_components/jquery/src/css/var/rnumnonpx.js b/public/bower_components/jquery/src/css/var/rnumnonpx.js new file mode 100644 index 0000000..056cda7 --- /dev/null +++ b/public/bower_components/jquery/src/css/var/rnumnonpx.js @@ -0,0 +1,7 @@ +define( [ + "../../var/pnum" +], function( pnum ) { + "use strict"; + + return new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); +} ); diff --git a/public/bower_components/jquery/src/css/var/swap.js b/public/bower_components/jquery/src/css/var/swap.js new file mode 100644 index 0000000..1a9556b --- /dev/null +++ b/public/bower_components/jquery/src/css/var/swap.js @@ -0,0 +1,26 @@ +define( function() { + +"use strict"; + +// A method for quickly swapping in/out CSS properties to get correct calculations. +return function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + +} ); diff --git a/public/bower_components/jquery/src/data.js b/public/bower_components/jquery/src/data.js new file mode 100644 index 0000000..95c365a --- /dev/null +++ b/public/bower_components/jquery/src/data.js @@ -0,0 +1,180 @@ +define( [ + "./core", + "./core/access", + "./core/camelCase", + "./data/var/dataPriv", + "./data/var/dataUser" +], function( jQuery, access, camelCase, dataPriv, dataUser ) { + +"use strict"; + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + +return jQuery; +} ); diff --git a/public/bower_components/jquery/src/data/Data.js b/public/bower_components/jquery/src/data/Data.js new file mode 100644 index 0000000..31ff431 --- /dev/null +++ b/public/bower_components/jquery/src/data/Data.js @@ -0,0 +1,162 @@ +define( [ + "../core", + "../core/camelCase", + "../var/rnothtmlwhite", + "./var/acceptData" +], function( jQuery, camelCase, rnothtmlwhite, acceptData ) { + +"use strict"; + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; + +return Data; +} ); diff --git a/public/bower_components/jquery/src/data/var/acceptData.js b/public/bower_components/jquery/src/data/var/acceptData.js new file mode 100644 index 0000000..e00f753 --- /dev/null +++ b/public/bower_components/jquery/src/data/var/acceptData.js @@ -0,0 +1,19 @@ +define( function() { + +"use strict"; + +/** + * Determines whether an object can have data + */ +return function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + +} ); diff --git a/public/bower_components/jquery/src/data/var/dataPriv.js b/public/bower_components/jquery/src/data/var/dataPriv.js new file mode 100644 index 0000000..72713c8 --- /dev/null +++ b/public/bower_components/jquery/src/data/var/dataPriv.js @@ -0,0 +1,7 @@ +define( [ + "../Data" +], function( Data ) { + "use strict"; + + return new Data(); +} ); diff --git a/public/bower_components/jquery/src/data/var/dataUser.js b/public/bower_components/jquery/src/data/var/dataUser.js new file mode 100644 index 0000000..72713c8 --- /dev/null +++ b/public/bower_components/jquery/src/data/var/dataUser.js @@ -0,0 +1,7 @@ +define( [ + "../Data" +], function( Data ) { + "use strict"; + + return new Data(); +} ); diff --git a/public/bower_components/jquery/src/deferred.js b/public/bower_components/jquery/src/deferred.js new file mode 100644 index 0000000..0425d36 --- /dev/null +++ b/public/bower_components/jquery/src/deferred.js @@ -0,0 +1,399 @@ +define( [ + "./core", + "./var/isFunction", + "./var/slice", + "./callbacks" +], function( jQuery, isFunction, slice ) { + +"use strict"; + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + +return jQuery; +} ); diff --git a/public/bower_components/jquery/src/deferred/exceptionHook.js b/public/bower_components/jquery/src/deferred/exceptionHook.js new file mode 100644 index 0000000..6dbdc85 --- /dev/null +++ b/public/bower_components/jquery/src/deferred/exceptionHook.js @@ -0,0 +1,21 @@ +define( [ + "../core", + "../deferred" +], function( jQuery ) { + +"use strict"; + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + +} ); diff --git a/public/bower_components/jquery/src/deprecated.js b/public/bower_components/jquery/src/deprecated.js new file mode 100644 index 0000000..c11b0d3 --- /dev/null +++ b/public/bower_components/jquery/src/deprecated.js @@ -0,0 +1,98 @@ +define( [ + "./core", + "./core/nodeName", + "./core/camelCase", + "./core/toType", + "./var/isFunction", + "./var/isWindow", + "./var/slice", + + "./event/alias" +], function( jQuery, nodeName, camelCase, toType, isFunction, isWindow, slice ) { + +"use strict"; + +jQuery.fn.extend( { + + bind: function( types, data, fn ) { + return this.on( types, null, data, fn ); + }, + unbind: function( types, fn ) { + return this.off( types, null, fn ); + }, + + delegate: function( selector, types, data, fn ) { + return this.on( types, selector, data, fn ); + }, + undelegate: function( selector, types, fn ) { + + // ( namespace ) or ( selector, types [, fn] ) + return arguments.length === 1 ? + this.off( selector, "**" ) : + this.off( types, selector || "**", fn ); + } +} ); + +// Bind a function to a context, optionally partially applying any +// arguments. +// jQuery.proxy is deprecated to promote standards (specifically Function#bind) +// However, it is not slated for removal any time soon +jQuery.proxy = function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; +}; + +jQuery.holdReady = function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } +}; +jQuery.isArray = Array.isArray; +jQuery.parseJSON = JSON.parse; +jQuery.nodeName = nodeName; +jQuery.isFunction = isFunction; +jQuery.isWindow = isWindow; +jQuery.camelCase = camelCase; +jQuery.type = toType; + +jQuery.now = Date.now; + +jQuery.isNumeric = function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = jQuery.type( obj ); + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); +}; + +} ); diff --git a/public/bower_components/jquery/src/dimensions.js b/public/bower_components/jquery/src/dimensions.js new file mode 100644 index 0000000..2a2c039 --- /dev/null +++ b/public/bower_components/jquery/src/dimensions.js @@ -0,0 +1,57 @@ +define( [ + "./core", + "./core/access", + "./var/isWindow", + "./css" +], function( jQuery, access, isWindow ) { + +"use strict"; + +// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods +jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { + jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, + function( defaultExtra, funcName ) { + + // Margin is only for outerHeight, outerWidth + jQuery.fn[ funcName ] = function( margin, value ) { + var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), + extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); + + return access( this, function( elem, type, value ) { + var doc; + + if ( isWindow( elem ) ) { + + // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729) + return funcName.indexOf( "outer" ) === 0 ? + elem[ "inner" + name ] : + elem.document.documentElement[ "client" + name ]; + } + + // Get document width or height + if ( elem.nodeType === 9 ) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], + // whichever is greatest + return Math.max( + elem.body[ "scroll" + name ], doc[ "scroll" + name ], + elem.body[ "offset" + name ], doc[ "offset" + name ], + doc[ "client" + name ] + ); + } + + return value === undefined ? + + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css( elem, type, extra ) : + + // Set width or height on the element + jQuery.style( elem, type, value, extra ); + }, type, chainable ? margin : undefined, chainable ); + }; + } ); +} ); + +return jQuery; +} ); diff --git a/public/bower_components/jquery/src/effects.js b/public/bower_components/jquery/src/effects.js new file mode 100644 index 0000000..a778de1 --- /dev/null +++ b/public/bower_components/jquery/src/effects.js @@ -0,0 +1,702 @@ +define( [ + "./core", + "./core/camelCase", + "./var/document", + "./var/isFunction", + "./var/rcssNum", + "./var/rnothtmlwhite", + "./css/var/cssExpand", + "./css/var/isHiddenWithinTree", + "./css/var/swap", + "./css/adjustCSS", + "./data/var/dataPriv", + "./css/showHide", + + "./core/init", + "./queue", + "./deferred", + "./traversing", + "./manipulation", + "./css", + "./effects/Tween" +], function( jQuery, camelCase, document, isFunction, rcssNum, rnothtmlwhite, cssExpand, + isHiddenWithinTree, swap, adjustCSS, dataPriv, showHide ) { + +"use strict"; + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + +return jQuery; +} ); diff --git a/public/bower_components/jquery/src/effects/Tween.js b/public/bower_components/jquery/src/effects/Tween.js new file mode 100644 index 0000000..43eb8fa --- /dev/null +++ b/public/bower_components/jquery/src/effects/Tween.js @@ -0,0 +1,123 @@ +define( [ + "../core", + "../css" +], function( jQuery ) { + +"use strict"; + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && + ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || + jQuery.cssHooks[ tween.prop ] ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + +} ); diff --git a/public/bower_components/jquery/src/effects/animatedSelector.js b/public/bower_components/jquery/src/effects/animatedSelector.js new file mode 100644 index 0000000..24c1bfb --- /dev/null +++ b/public/bower_components/jquery/src/effects/animatedSelector.js @@ -0,0 +1,15 @@ +define( [ + "../core", + "../selector", + "../effects" +], function( jQuery ) { + +"use strict"; + +jQuery.expr.pseudos.animated = function( elem ) { + return jQuery.grep( jQuery.timers, function( fn ) { + return elem === fn.elem; + } ).length; +}; + +} ); diff --git a/public/bower_components/jquery/src/event.js b/public/bower_components/jquery/src/event.js new file mode 100644 index 0000000..6cbe774 --- /dev/null +++ b/public/bower_components/jquery/src/event.js @@ -0,0 +1,748 @@ +define( [ + "./core", + "./var/document", + "./var/documentElement", + "./var/isFunction", + "./var/rnothtmlwhite", + "./var/slice", + "./data/var/dataPriv", + "./core/nodeName", + + "./core/init", + "./selector" +], function( jQuery, document, documentElement, isFunction, rnothtmlwhite, + slice, dataPriv, nodeName ) { + +"use strict"; + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 only +// See #13393 for more info +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + // Make a writable jQuery.Event from the native event object + var event = jQuery.event.fix( nativeEvent ); + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or 2) have namespace(s) + // a subset or equal to those in the bound event (both can have no namespace). + if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG <use> instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + this.focus(); + return false; + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( this.type === "checkbox" && this.click && nodeName( this, "input" ) ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + +return jQuery; +} ); diff --git a/public/bower_components/jquery/src/event/ajax.js b/public/bower_components/jquery/src/event/ajax.js new file mode 100644 index 0000000..500b36c --- /dev/null +++ b/public/bower_components/jquery/src/event/ajax.js @@ -0,0 +1,22 @@ +define( [ + "../core", + "../event" +], function( jQuery ) { + +"use strict"; + +// Attach a bunch of functions for handling common AJAX events +jQuery.each( [ + "ajaxStart", + "ajaxStop", + "ajaxComplete", + "ajaxError", + "ajaxSuccess", + "ajaxSend" +], function( i, type ) { + jQuery.fn[ type ] = function( fn ) { + return this.on( type, fn ); + }; +} ); + +} ); diff --git a/public/bower_components/jquery/src/event/alias.js b/public/bower_components/jquery/src/event/alias.js new file mode 100644 index 0000000..863c94a --- /dev/null +++ b/public/bower_components/jquery/src/event/alias.js @@ -0,0 +1,29 @@ +define( [ + "../core", + + "../event", + "./trigger" +], function( jQuery ) { + +"use strict"; + +jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup contextmenu" ).split( " " ), + function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; +} ); + +jQuery.fn.extend( { + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +} ); + +} ); diff --git a/public/bower_components/jquery/src/event/focusin.js b/public/bower_components/jquery/src/event/focusin.js new file mode 100644 index 0000000..7faef29 --- /dev/null +++ b/public/bower_components/jquery/src/event/focusin.js @@ -0,0 +1,55 @@ +define( [ + "../core", + "../data/var/dataPriv", + "./support", + + "../event", + "./trigger" +], function( jQuery, dataPriv, support ) { + +"use strict"; + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} + +return jQuery; +} ); diff --git a/public/bower_components/jquery/src/event/support.js b/public/bower_components/jquery/src/event/support.js new file mode 100644 index 0000000..e3db9ad --- /dev/null +++ b/public/bower_components/jquery/src/event/support.js @@ -0,0 +1,11 @@ +define( [ + "../var/support" +], function( support ) { + +"use strict"; + +support.focusin = "onfocusin" in window; + +return support; + +} ); diff --git a/public/bower_components/jquery/src/event/trigger.js b/public/bower_components/jquery/src/event/trigger.js new file mode 100644 index 0000000..cf40b4f --- /dev/null +++ b/public/bower_components/jquery/src/event/trigger.js @@ -0,0 +1,199 @@ +define( [ + "../core", + "../var/document", + "../data/var/dataPriv", + "../data/var/acceptData", + "../var/hasOwn", + "../var/isFunction", + "../var/isWindow", + "../event" +], function( jQuery, document, dataPriv, acceptData, hasOwn, isFunction, isWindow ) { + +"use strict"; + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + +return jQuery; +} ); diff --git a/public/bower_components/jquery/src/exports/amd.js b/public/bower_components/jquery/src/exports/amd.js new file mode 100644 index 0000000..cbb1ef5 --- /dev/null +++ b/public/bower_components/jquery/src/exports/amd.js @@ -0,0 +1,26 @@ +define( [ + "../core" +], function( jQuery ) { + +"use strict"; + +// Register as a named AMD module, since jQuery can be concatenated with other +// files that may use define, but not via a proper concatenation script that +// understands anonymous AMD modules. A named AMD is safest and most robust +// way to register. Lowercase jquery is used because AMD module names are +// derived from file names, and jQuery is normally delivered in a lowercase +// file name. Do this after creating the global so that if an AMD module wants +// to call noConflict to hide this version of jQuery, it will work. + +// Note that for maximum portability, libraries that are not jQuery should +// declare themselves as anonymous modules, and avoid setting a global if an +// AMD loader is present. jQuery is a special case. For more information, see +// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon + +if ( typeof define === "function" && define.amd ) { + define( "jquery", [], function() { + return jQuery; + } ); +} + +} ); diff --git a/public/bower_components/jquery/src/exports/global.js b/public/bower_components/jquery/src/exports/global.js new file mode 100644 index 0000000..460b56e --- /dev/null +++ b/public/bower_components/jquery/src/exports/global.js @@ -0,0 +1,34 @@ +define( [ + "../core" +], function( jQuery, noGlobal ) { + +"use strict"; + +var + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$; + +jQuery.noConflict = function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; +}; + +// Expose jQuery and $ identifiers, even in AMD +// (#7102#comment:10, https://github.com/jquery/jquery/pull/557) +// and CommonJS for browser emulators (#13566) +if ( !noGlobal ) { + window.jQuery = window.$ = jQuery; +} + +} ); diff --git a/public/bower_components/jquery/src/jquery.js b/public/bower_components/jquery/src/jquery.js new file mode 100644 index 0000000..0e026a6 --- /dev/null +++ b/public/bower_components/jquery/src/jquery.js @@ -0,0 +1,40 @@ +define( [ + "./core", + "./selector", + "./traversing", + "./callbacks", + "./deferred", + "./deferred/exceptionHook", + "./core/ready", + "./data", + "./queue", + "./queue/delay", + "./attributes", + "./event", + "./event/focusin", + "./manipulation", + "./manipulation/_evalUrl", + "./wrap", + "./css", + "./css/hiddenVisibleSelectors", + "./serialize", + "./ajax", + "./ajax/xhr", + "./ajax/script", + "./ajax/jsonp", + "./ajax/load", + "./event/ajax", + "./effects", + "./effects/animatedSelector", + "./offset", + "./dimensions", + "./deprecated", + "./exports/amd", + "./exports/global" +], function( jQuery ) { + +"use strict"; + +return jQuery; + +} ); diff --git a/public/bower_components/jquery/src/manipulation.js b/public/bower_components/jquery/src/manipulation.js new file mode 100644 index 0000000..142e296 --- /dev/null +++ b/public/bower_components/jquery/src/manipulation.js @@ -0,0 +1,486 @@ +define( [ + "./core", + "./var/concat", + "./var/isFunction", + "./var/push", + "./core/access", + "./manipulation/var/rcheckableType", + "./manipulation/var/rtagName", + "./manipulation/var/rscriptType", + "./manipulation/wrapMap", + "./manipulation/getAll", + "./manipulation/setGlobalEval", + "./manipulation/buildFragment", + "./manipulation/support", + + "./data/var/dataPriv", + "./data/var/dataUser", + "./data/var/acceptData", + "./core/DOMEval", + "./core/nodeName", + + "./core/init", + "./traversing", + "./selector", + "./event" +], function( jQuery, concat, isFunction, push, access, + rcheckableType, rtagName, rscriptType, + wrapMap, getAll, setGlobalEval, buildFragment, support, + dataPriv, dataUser, acceptData, DOMEval, nodeName ) { + +"use strict"; + +var + + /* eslint-disable max-len */ + + // See https://github.com/eslint/eslint/issues/3229 + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + + /* eslint-enable */ + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /<script|<style|<link/i, + + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), doc, node ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1></$2>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = jQuery.contains( elem.ownerDocument, elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); + +return jQuery; +} ); diff --git a/public/bower_components/jquery/src/manipulation/_evalUrl.js b/public/bower_components/jquery/src/manipulation/_evalUrl.js new file mode 100644 index 0000000..f9ec702 --- /dev/null +++ b/public/bower_components/jquery/src/manipulation/_evalUrl.js @@ -0,0 +1,23 @@ +define( [ + "../ajax" +], function( jQuery ) { + +"use strict"; + +jQuery._evalUrl = function( url ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + "throws": true + } ); +}; + +return jQuery._evalUrl; + +} ); diff --git a/public/bower_components/jquery/src/manipulation/buildFragment.js b/public/bower_components/jquery/src/manipulation/buildFragment.js new file mode 100644 index 0000000..782de0c --- /dev/null +++ b/public/bower_components/jquery/src/manipulation/buildFragment.js @@ -0,0 +1,105 @@ +define( [ + "../core", + "../core/toType", + "./var/rtagName", + "./var/rscriptType", + "./wrapMap", + "./getAll", + "./setGlobalEval" +], function( jQuery, toType, rtagName, rscriptType, wrapMap, getAll, setGlobalEval ) { + +"use strict"; + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, contains, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + +return buildFragment; +} ); diff --git a/public/bower_components/jquery/src/manipulation/getAll.js b/public/bower_components/jquery/src/manipulation/getAll.js new file mode 100644 index 0000000..fede6c7 --- /dev/null +++ b/public/bower_components/jquery/src/manipulation/getAll.js @@ -0,0 +1,32 @@ +define( [ + "../core", + "../core/nodeName" +], function( jQuery, nodeName ) { + +"use strict"; + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + +return getAll; +} ); diff --git a/public/bower_components/jquery/src/manipulation/setGlobalEval.js b/public/bower_components/jquery/src/manipulation/setGlobalEval.js new file mode 100644 index 0000000..cf95240 --- /dev/null +++ b/public/bower_components/jquery/src/manipulation/setGlobalEval.js @@ -0,0 +1,22 @@ +define( [ + "../data/var/dataPriv" +], function( dataPriv ) { + +"use strict"; + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + +return setGlobalEval; +} ); diff --git a/public/bower_components/jquery/src/manipulation/support.js b/public/bower_components/jquery/src/manipulation/support.js new file mode 100644 index 0000000..4a5d9af --- /dev/null +++ b/public/bower_components/jquery/src/manipulation/support.js @@ -0,0 +1,35 @@ +define( [ + "../var/document", + "../var/support" +], function( document, support ) { + +"use strict"; + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = "<textarea>x</textarea>"; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); + +return support; + +} ); diff --git a/public/bower_components/jquery/src/manipulation/var/rcheckableType.js b/public/bower_components/jquery/src/manipulation/var/rcheckableType.js new file mode 100644 index 0000000..25bbcb4 --- /dev/null +++ b/public/bower_components/jquery/src/manipulation/var/rcheckableType.js @@ -0,0 +1,5 @@ +define( function() { + "use strict"; + + return ( /^(?:checkbox|radio)$/i ); +} ); diff --git a/public/bower_components/jquery/src/manipulation/var/rscriptType.js b/public/bower_components/jquery/src/manipulation/var/rscriptType.js new file mode 100644 index 0000000..cd1430a --- /dev/null +++ b/public/bower_components/jquery/src/manipulation/var/rscriptType.js @@ -0,0 +1,5 @@ +define( function() { + "use strict"; + + return ( /^$|^module$|\/(?:java|ecma)script/i ); +} ); diff --git a/public/bower_components/jquery/src/manipulation/var/rtagName.js b/public/bower_components/jquery/src/manipulation/var/rtagName.js new file mode 100644 index 0000000..d565dd3 --- /dev/null +++ b/public/bower_components/jquery/src/manipulation/var/rtagName.js @@ -0,0 +1,5 @@ +define( function() { + "use strict"; + + return ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i ); +} ); diff --git a/public/bower_components/jquery/src/manipulation/wrapMap.js b/public/bower_components/jquery/src/manipulation/wrapMap.js new file mode 100644 index 0000000..1f446f7 --- /dev/null +++ b/public/bower_components/jquery/src/manipulation/wrapMap.js @@ -0,0 +1,29 @@ +define( function() { + +"use strict"; + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE <=9 only + option: [ 1, "<select multiple='multiple'>", "</select>" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting <tbody> or other required elements. + thead: [ 1, "<table>", "</table>" ], + col: [ 2, "<table><colgroup>", "</colgroup></table>" ], + tr: [ 2, "<table><tbody>", "</tbody></table>" ], + td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], + + _default: [ 0, "", "" ] +}; + +// Support: IE <=9 only +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +return wrapMap; +} ); diff --git a/public/bower_components/jquery/src/offset.js b/public/bower_components/jquery/src/offset.js new file mode 100644 index 0000000..83b1c3a --- /dev/null +++ b/public/bower_components/jquery/src/offset.js @@ -0,0 +1,233 @@ +define( [ + "./core", + "./core/access", + "./var/document", + "./var/documentElement", + "./var/isFunction", + "./css/var/rnumnonpx", + "./css/curCSS", + "./css/addGetHookIf", + "./css/support", + "./var/isWindow", + "./core/init", + "./css", + "./selector" // contains +], function( jQuery, access, document, documentElement, isFunction, rnumnonpx, + curCSS, addGetHookIf, support, isWindow ) { + +"use strict"; + +jQuery.offset = { + setOffset: function( elem, options, i ) { + var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, + position = jQuery.css( elem, "position" ), + curElem = jQuery( elem ), + props = {}; + + // Set position first, in-case top/left are set even on static elem + if ( position === "static" ) { + elem.style.position = "relative"; + } + + curOffset = curElem.offset(); + curCSSTop = jQuery.css( elem, "top" ); + curCSSLeft = jQuery.css( elem, "left" ); + calculatePosition = ( position === "absolute" || position === "fixed" ) && + ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1; + + // Need to be able to calculate position if either + // top or left is auto and position is either absolute or fixed + if ( calculatePosition ) { + curPosition = curElem.position(); + curTop = curPosition.top; + curLeft = curPosition.left; + + } else { + curTop = parseFloat( curCSSTop ) || 0; + curLeft = parseFloat( curCSSLeft ) || 0; + } + + if ( isFunction( options ) ) { + + // Use jQuery.extend here to allow modification of coordinates argument (gh-1848) + options = options.call( elem, i, jQuery.extend( {}, curOffset ) ); + } + + if ( options.top != null ) { + props.top = ( options.top - curOffset.top ) + curTop; + } + if ( options.left != null ) { + props.left = ( options.left - curOffset.left ) + curLeft; + } + + if ( "using" in options ) { + options.using.call( elem, props ); + + } else { + curElem.css( props ); + } + } +}; + +jQuery.fn.extend( { + + // offset() relates an element's border box to the document origin + offset: function( options ) { + + // Preserve chaining for setter + if ( arguments.length ) { + return options === undefined ? + this : + this.each( function( i ) { + jQuery.offset.setOffset( this, options, i ); + } ); + } + + var rect, win, + elem = this[ 0 ]; + + if ( !elem ) { + return; + } + + // Return zeros for disconnected and hidden (display: none) elements (gh-2310) + // Support: IE <=11 only + // Running getBoundingClientRect on a + // disconnected node in IE throws an error + if ( !elem.getClientRects().length ) { + return { top: 0, left: 0 }; + } + + // Get document-relative position by adding viewport scroll to viewport-relative gBCR + rect = elem.getBoundingClientRect(); + win = elem.ownerDocument.defaultView; + return { + top: rect.top + win.pageYOffset, + left: rect.left + win.pageXOffset + }; + }, + + // position() relates an element's margin box to its offset parent's padding box + // This corresponds to the behavior of CSS absolute positioning + position: function() { + if ( !this[ 0 ] ) { + return; + } + + var offsetParent, offset, doc, + elem = this[ 0 ], + parentOffset = { top: 0, left: 0 }; + + // position:fixed elements are offset from the viewport, which itself always has zero offset + if ( jQuery.css( elem, "position" ) === "fixed" ) { + + // Assume position:fixed implies availability of getBoundingClientRect + offset = elem.getBoundingClientRect(); + + } else { + offset = this.offset(); + + // Account for the *real* offset parent, which can be the document or its root element + // when a statically positioned element is identified + doc = elem.ownerDocument; + offsetParent = elem.offsetParent || doc.documentElement; + while ( offsetParent && + ( offsetParent === doc.body || offsetParent === doc.documentElement ) && + jQuery.css( offsetParent, "position" ) === "static" ) { + + offsetParent = offsetParent.parentNode; + } + if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) { + + // Incorporate borders into its offset, since they are outside its content origin + parentOffset = jQuery( offsetParent ).offset(); + parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true ); + parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true ); + } + } + + // Subtract parent offsets and element margins + return { + top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), + left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true ) + }; + }, + + // This method will return documentElement in the following cases: + // 1) For the element inside the iframe without offsetParent, this method will return + // documentElement of the parent window + // 2) For the hidden or detached element + // 3) For body or html element, i.e. in case of the html node - it will return itself + // + // but those exceptions were never presented as a real life use-cases + // and might be considered as more preferable results. + // + // This logic, however, is not guaranteed and can change at any point in the future + offsetParent: function() { + return this.map( function() { + var offsetParent = this.offsetParent; + + while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) { + offsetParent = offsetParent.offsetParent; + } + + return offsetParent || documentElement; + } ); + } +} ); + +// Create scrollLeft and scrollTop methods +jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { + var top = "pageYOffset" === prop; + + jQuery.fn[ method ] = function( val ) { + return access( this, function( elem, method, val ) { + + // Coalesce documents and windows + var win; + if ( isWindow( elem ) ) { + win = elem; + } else if ( elem.nodeType === 9 ) { + win = elem.defaultView; + } + + if ( val === undefined ) { + return win ? win[ prop ] : elem[ method ]; + } + + if ( win ) { + win.scrollTo( + !top ? val : win.pageXOffset, + top ? val : win.pageYOffset + ); + + } else { + elem[ method ] = val; + } + }, method, val, arguments.length ); + }; +} ); + +// Support: Safari <=7 - 9.1, Chrome <=37 - 49 +// Add the top/left cssHooks using jQuery.fn.position +// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 +// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347 +// getComputedStyle returns percent when specified for top/left/bottom/right; +// rather than make the css module depend on the offset module, just check for it here +jQuery.each( [ "top", "left" ], function( i, prop ) { + jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, + function( elem, computed ) { + if ( computed ) { + computed = curCSS( elem, prop ); + + // If curCSS returns percentage, fallback to offset + return rnumnonpx.test( computed ) ? + jQuery( elem ).position()[ prop ] + "px" : + computed; + } + } + ); +} ); + +return jQuery; +} ); diff --git a/public/bower_components/jquery/src/queue.js b/public/bower_components/jquery/src/queue.js new file mode 100644 index 0000000..fbbbeab --- /dev/null +++ b/public/bower_components/jquery/src/queue.js @@ -0,0 +1,145 @@ +define( [ + "./core", + "./data/var/dataPriv", + "./deferred", + "./callbacks" +], function( jQuery, dataPriv ) { + +"use strict"; + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); + +return jQuery; +} ); diff --git a/public/bower_components/jquery/src/queue/delay.js b/public/bower_components/jquery/src/queue/delay.js new file mode 100644 index 0000000..d471eed --- /dev/null +++ b/public/bower_components/jquery/src/queue/delay.js @@ -0,0 +1,24 @@ +define( [ + "../core", + "../queue", + "../effects" // Delay is optional because of this dependency +], function( jQuery ) { + +"use strict"; + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + +return jQuery.fn.delay; +} ); diff --git a/public/bower_components/jquery/src/selector-native.js b/public/bower_components/jquery/src/selector-native.js new file mode 100644 index 0000000..da837a0 --- /dev/null +++ b/public/bower_components/jquery/src/selector-native.js @@ -0,0 +1,237 @@ +define( [ + "./core", + "./var/document", + "./var/documentElement", + "./var/hasOwn", + "./var/indexOf" +], function( jQuery, document, documentElement, hasOwn, indexOf ) { + +"use strict"; + +/* + * Optional (non-Sizzle) selector module for custom builds. + * + * Note that this DOES NOT SUPPORT many documented jQuery + * features in exchange for its smaller size: + * + * Attribute not equal selector + * Positional selectors (:first; :eq(n); :odd; etc.) + * Type selectors (:input; :checkbox; :button; etc.) + * State-based selectors (:animated; :visible; :hidden; etc.) + * :has(selector) + * :not(complex selector) + * custom selectors via Sizzle extensions + * Leading combinators (e.g., $collection.find("> *")) + * Reliable functionality on XML fragments + * Requiring all parts of a selector to match elements under context + * (e.g., $div.find("div > *") now matches children of $div) + * Matching against non-elements + * Reliable sorting of disconnected nodes + * querySelectorAll bug fixes (e.g., unreliable :focus on WebKit) + * + * If any of these are unacceptable tradeoffs, either use Sizzle or + * customize this stub for the project's specific needs. + */ + +var hasDuplicate, sortInput, + sortStable = jQuery.expando.split( "" ).sort( sortOrder ).join( "" ) === jQuery.expando, + matches = documentElement.matches || + documentElement.webkitMatchesSelector || + documentElement.mozMatchesSelector || + documentElement.oMatchesSelector || + documentElement.msMatchesSelector, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }; + +function sortOrder( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === document && + jQuery.contains( document, a ) ) { + return -1; + } + if ( b === document || b.ownerDocument === document && + jQuery.contains( document, b ) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; +} + +function uniqueSort( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + hasDuplicate = false; + sortInput = !sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +} + +function escape( sel ) { + return ( sel + "" ).replace( rcssescape, fcssescape ); +} + +jQuery.extend( { + uniqueSort: uniqueSort, + unique: uniqueSort, + escapeSelector: escape, + find: function( selector, context, results, seed ) { + var elem, nodeType, + i = 0; + + results = results || []; + context = context || document; + + // Same basic safeguard as Sizzle + if ( !selector || typeof selector !== "string" ) { + return results; + } + + // Early return if context is not an element or document + if ( ( nodeType = context.nodeType ) !== 1 && nodeType !== 9 ) { + return []; + } + + if ( seed ) { + while ( ( elem = seed[ i++ ] ) ) { + if ( jQuery.find.matchesSelector( elem, selector ) ) { + results.push( elem ); + } + } + } else { + jQuery.merge( results, context.querySelectorAll( selector ) ); + } + + return results; + }, + text: function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + + // If no nodeType, this is expected to be an array + while ( ( node = elem[ i++ ] ) ) { + + // Do not traverse comment nodes + ret += jQuery.text( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + + // Use textContent for elements + return elem.textContent; + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + + // Do not include comment or processing instruction nodes + + return ret; + }, + contains: function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && adown.contains( bup ) ); + }, + isXMLDoc: function( elem ) { + + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && ( elem.ownerDocument || elem ).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; + }, + expr: { + attrHandle: {}, + match: { + bool: new RegExp( "^(?:checked|selected|async|autofocus|autoplay|controls|defer" + + "|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped)$", "i" ), + needsContext: /^[\x20\t\r\n\f]*[>+~]/ + } + } +} ); + +jQuery.extend( jQuery.find, { + matches: function( expr, elements ) { + return jQuery.find( expr, null, null, elements ); + }, + matchesSelector: function( elem, expr ) { + return matches.call( elem, expr ); + }, + attr: function( elem, name ) { + var fn = jQuery.expr.attrHandle[ name.toLowerCase() ], + + // Don't get fooled by Object.prototype properties (jQuery #13807) + value = fn && hasOwn.call( jQuery.expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, jQuery.isXMLDoc( elem ) ) : + undefined; + return value !== undefined ? value : elem.getAttribute( name ); + } +} ); + +} ); diff --git a/public/bower_components/jquery/src/selector-sizzle.js b/public/bower_components/jquery/src/selector-sizzle.js new file mode 100644 index 0000000..ff7bc70 --- /dev/null +++ b/public/bower_components/jquery/src/selector-sizzle.js @@ -0,0 +1,19 @@ +define( [ + "./core", + "../external/sizzle/dist/sizzle" +], function( jQuery, Sizzle ) { + +"use strict"; + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + +} ); diff --git a/public/bower_components/jquery/src/selector.js b/public/bower_components/jquery/src/selector.js new file mode 100644 index 0000000..2e0c17e --- /dev/null +++ b/public/bower_components/jquery/src/selector.js @@ -0,0 +1,3 @@ +define( [ "./selector-sizzle" ], function() { + "use strict"; +} ); diff --git a/public/bower_components/jquery/src/serialize.js b/public/bower_components/jquery/src/serialize.js new file mode 100644 index 0000000..30fcf98 --- /dev/null +++ b/public/bower_components/jquery/src/serialize.js @@ -0,0 +1,132 @@ +define( [ + "./core", + "./core/toType", + "./manipulation/var/rcheckableType", + "./var/isFunction", + "./core/init", + "./traversing", // filter + "./attributes/prop" +], function( jQuery, toType, rcheckableType, isFunction ) { + +"use strict"; + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + +return jQuery; +} ); diff --git a/public/bower_components/jquery/src/traversing.js b/public/bower_components/jquery/src/traversing.js new file mode 100644 index 0000000..64c7252 --- /dev/null +++ b/public/bower_components/jquery/src/traversing.js @@ -0,0 +1,191 @@ +define( [ + "./core", + "./var/indexOf", + "./traversing/var/dir", + "./traversing/var/siblings", + "./traversing/var/rneedsContext", + "./core/nodeName", + + "./core/init", + "./traversing/findFilter", + "./selector" +], function( jQuery, indexOf, dir, siblings, rneedsContext, nodeName ) { + +"use strict"; + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( nodeName( elem, "iframe" ) ) { + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); + +return jQuery; +} ); diff --git a/public/bower_components/jquery/src/traversing/findFilter.js b/public/bower_components/jquery/src/traversing/findFilter.js new file mode 100644 index 0000000..268dad7 --- /dev/null +++ b/public/bower_components/jquery/src/traversing/findFilter.js @@ -0,0 +1,97 @@ +define( [ + "../core", + "../var/indexOf", + "../var/isFunction", + "./var/rneedsContext", + "../selector" +], function( jQuery, indexOf, isFunction, rneedsContext ) { + +"use strict"; + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + +} ); diff --git a/public/bower_components/jquery/src/traversing/var/dir.js b/public/bower_components/jquery/src/traversing/var/dir.js new file mode 100644 index 0000000..366a823 --- /dev/null +++ b/public/bower_components/jquery/src/traversing/var/dir.js @@ -0,0 +1,22 @@ +define( [ + "../../core" +], function( jQuery ) { + +"use strict"; + +return function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + +} ); diff --git a/public/bower_components/jquery/src/traversing/var/rneedsContext.js b/public/bower_components/jquery/src/traversing/var/rneedsContext.js new file mode 100644 index 0000000..d0663ce --- /dev/null +++ b/public/bower_components/jquery/src/traversing/var/rneedsContext.js @@ -0,0 +1,8 @@ +define( [ + "../../core", + "../../selector" +], function( jQuery ) { + "use strict"; + + return jQuery.expr.match.needsContext; +} ); diff --git a/public/bower_components/jquery/src/traversing/var/siblings.js b/public/bower_components/jquery/src/traversing/var/siblings.js new file mode 100644 index 0000000..952629d --- /dev/null +++ b/public/bower_components/jquery/src/traversing/var/siblings.js @@ -0,0 +1,17 @@ +define( function() { + +"use strict"; + +return function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + +} ); diff --git a/public/bower_components/jquery/src/var/ObjectFunctionString.js b/public/bower_components/jquery/src/var/ObjectFunctionString.js new file mode 100644 index 0000000..f9e850f --- /dev/null +++ b/public/bower_components/jquery/src/var/ObjectFunctionString.js @@ -0,0 +1,7 @@ +define( [ + "./fnToString" +], function( fnToString ) { + "use strict"; + + return fnToString.call( Object ); +} ); diff --git a/public/bower_components/jquery/src/var/arr.js b/public/bower_components/jquery/src/var/arr.js new file mode 100644 index 0000000..84713d8 --- /dev/null +++ b/public/bower_components/jquery/src/var/arr.js @@ -0,0 +1,5 @@ +define( function() { + "use strict"; + + return []; +} ); diff --git a/public/bower_components/jquery/src/var/class2type.js b/public/bower_components/jquery/src/var/class2type.js new file mode 100644 index 0000000..4365d46 --- /dev/null +++ b/public/bower_components/jquery/src/var/class2type.js @@ -0,0 +1,6 @@ +define( function() { + "use strict"; + + // [[Class]] -> type pairs + return {}; +} ); diff --git a/public/bower_components/jquery/src/var/concat.js b/public/bower_components/jquery/src/var/concat.js new file mode 100644 index 0000000..e47c19d --- /dev/null +++ b/public/bower_components/jquery/src/var/concat.js @@ -0,0 +1,7 @@ +define( [ + "./arr" +], function( arr ) { + "use strict"; + + return arr.concat; +} ); diff --git a/public/bower_components/jquery/src/var/document.js b/public/bower_components/jquery/src/var/document.js new file mode 100644 index 0000000..dd3939d --- /dev/null +++ b/public/bower_components/jquery/src/var/document.js @@ -0,0 +1,5 @@ +define( function() { + "use strict"; + + return window.document; +} ); diff --git a/public/bower_components/jquery/src/var/documentElement.js b/public/bower_components/jquery/src/var/documentElement.js new file mode 100644 index 0000000..0e3f8b4 --- /dev/null +++ b/public/bower_components/jquery/src/var/documentElement.js @@ -0,0 +1,7 @@ +define( [ + "./document" +], function( document ) { + "use strict"; + + return document.documentElement; +} ); diff --git a/public/bower_components/jquery/src/var/fnToString.js b/public/bower_components/jquery/src/var/fnToString.js new file mode 100644 index 0000000..18c43ff --- /dev/null +++ b/public/bower_components/jquery/src/var/fnToString.js @@ -0,0 +1,7 @@ +define( [ + "./hasOwn" +], function( hasOwn ) { + "use strict"; + + return hasOwn.toString; +} ); diff --git a/public/bower_components/jquery/src/var/getProto.js b/public/bower_components/jquery/src/var/getProto.js new file mode 100644 index 0000000..965fab8 --- /dev/null +++ b/public/bower_components/jquery/src/var/getProto.js @@ -0,0 +1,5 @@ +define( function() { + "use strict"; + + return Object.getPrototypeOf; +} ); diff --git a/public/bower_components/jquery/src/var/hasOwn.js b/public/bower_components/jquery/src/var/hasOwn.js new file mode 100644 index 0000000..44ab680 --- /dev/null +++ b/public/bower_components/jquery/src/var/hasOwn.js @@ -0,0 +1,7 @@ +define( [ + "./class2type" +], function( class2type ) { + "use strict"; + + return class2type.hasOwnProperty; +} ); diff --git a/public/bower_components/jquery/src/var/indexOf.js b/public/bower_components/jquery/src/var/indexOf.js new file mode 100644 index 0000000..8320b98 --- /dev/null +++ b/public/bower_components/jquery/src/var/indexOf.js @@ -0,0 +1,7 @@ +define( [ + "./arr" +], function( arr ) { + "use strict"; + + return arr.indexOf; +} ); diff --git a/public/bower_components/jquery/src/var/isFunction.js b/public/bower_components/jquery/src/var/isFunction.js new file mode 100644 index 0000000..dad662e --- /dev/null +++ b/public/bower_components/jquery/src/var/isFunction.js @@ -0,0 +1,13 @@ +define( function() { + "use strict"; + + return function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML <object> elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + return typeof obj === "function" && typeof obj.nodeType !== "number"; + }; + +} ); diff --git a/public/bower_components/jquery/src/var/isWindow.js b/public/bower_components/jquery/src/var/isWindow.js new file mode 100644 index 0000000..2ba1168 --- /dev/null +++ b/public/bower_components/jquery/src/var/isWindow.js @@ -0,0 +1,8 @@ +define( function() { + "use strict"; + + return function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + +} ); diff --git a/public/bower_components/jquery/src/var/pnum.js b/public/bower_components/jquery/src/var/pnum.js new file mode 100644 index 0000000..6f06d73 --- /dev/null +++ b/public/bower_components/jquery/src/var/pnum.js @@ -0,0 +1,5 @@ +define( function() { + "use strict"; + + return ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; +} ); diff --git a/public/bower_components/jquery/src/var/push.js b/public/bower_components/jquery/src/var/push.js new file mode 100644 index 0000000..9465620 --- /dev/null +++ b/public/bower_components/jquery/src/var/push.js @@ -0,0 +1,7 @@ +define( [ + "./arr" +], function( arr ) { + "use strict"; + + return arr.push; +} ); diff --git a/public/bower_components/jquery/src/var/rcssNum.js b/public/bower_components/jquery/src/var/rcssNum.js new file mode 100644 index 0000000..4214b14 --- /dev/null +++ b/public/bower_components/jquery/src/var/rcssNum.js @@ -0,0 +1,9 @@ +define( [ + "../var/pnum" +], function( pnum ) { + +"use strict"; + +return new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + +} ); diff --git a/public/bower_components/jquery/src/var/rnothtmlwhite.js b/public/bower_components/jquery/src/var/rnothtmlwhite.js new file mode 100644 index 0000000..29eebf2 --- /dev/null +++ b/public/bower_components/jquery/src/var/rnothtmlwhite.js @@ -0,0 +1,8 @@ +define( function() { + "use strict"; + + // Only count HTML whitespace + // Other whitespace should count in values + // https://infra.spec.whatwg.org/#ascii-whitespace + return ( /[^\x20\t\r\n\f]+/g ); +} ); diff --git a/public/bower_components/jquery/src/var/slice.js b/public/bower_components/jquery/src/var/slice.js new file mode 100644 index 0000000..915f837 --- /dev/null +++ b/public/bower_components/jquery/src/var/slice.js @@ -0,0 +1,7 @@ +define( [ + "./arr" +], function( arr ) { + "use strict"; + + return arr.slice; +} ); diff --git a/public/bower_components/jquery/src/var/support.js b/public/bower_components/jquery/src/var/support.js new file mode 100644 index 0000000..094d0ae --- /dev/null +++ b/public/bower_components/jquery/src/var/support.js @@ -0,0 +1,6 @@ +define( function() { + "use strict"; + + // All support tests are defined in their respective modules. + return {}; +} ); diff --git a/public/bower_components/jquery/src/var/toString.js b/public/bower_components/jquery/src/var/toString.js new file mode 100644 index 0000000..ff4ecdc --- /dev/null +++ b/public/bower_components/jquery/src/var/toString.js @@ -0,0 +1,7 @@ +define( [ + "./class2type" +], function( class2type ) { + "use strict"; + + return class2type.toString; +} ); diff --git a/public/bower_components/jquery/src/wrap.js b/public/bower_components/jquery/src/wrap.js new file mode 100644 index 0000000..41b716f --- /dev/null +++ b/public/bower_components/jquery/src/wrap.js @@ -0,0 +1,78 @@ +define( [ + "./core", + "./var/isFunction", + "./core/init", + "./manipulation", // clone + "./traversing" // parent, contents +], function( jQuery, isFunction ) { + +"use strict"; + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + +return jQuery; +} ); diff --git a/public/bower_components/moment/.bower.json b/public/bower_components/moment/.bower.json new file mode 100644 index 0000000..6ac0fcb --- /dev/null +++ b/public/bower_components/moment/.bower.json @@ -0,0 +1,37 @@ +{ + "name": "moment", + "license": "MIT", + "main": "moment.js", + "ignore": [ + "**/.*", + "benchmarks", + "bower_components", + "meteor", + "node_modules", + "scripts", + "tasks", + "test", + "component.json", + "composer.json", + "CONTRIBUTING.md", + "ender.js", + "Gruntfile.js", + "Moment.js.nuspec", + "package.js", + "package.json", + "ISSUE_TEMPLATE.md", + "typing-tests", + "min/tests.js" + ], + "homepage": "https://github.com/moment/moment", + "version": "2.24.0", + "_release": "2.24.0", + "_resolution": { + "type": "version", + "tag": "2.24.0", + "commit": "8a6b2e11207a3856bd858d4d65d4b0822571e6c3" + }, + "_source": "https://github.com/moment/moment.git", + "_target": ">=2.10.5", + "_originalSource": "moment" +} \ No newline at end of file diff --git a/public/bower_components/moment/CHANGELOG.md b/public/bower_components/moment/CHANGELOG.md new file mode 100644 index 0000000..aa3aef2 --- /dev/null +++ b/public/bower_components/moment/CHANGELOG.md @@ -0,0 +1,895 @@ +Changelog +========= + +### 2.24.0 [See full changelog](https://gist.github.com/marwahaha/12366fe45bee328f33acf125d4cd540e) + +* Release Jan 21, 2019 + +* [#4338](https://github.com/moment/moment/pull/4338) [bugfix] Fix startOf/endOf DST issues while boosting performance +* [#4553](https://github.com/moment/moment/pull/4553) [feature] Add localeSort param to Locale weekday methods +* [#4887](https://github.com/moment/moment/pull/4887) [bugfix] Make Duration#as work with quarters +* 3 new locales (it-ch, ga, en-SG) +* Lots of locale improvements + +### 2.23.0 [See full changelog](https://gist.github.com/marwahaha/eadb7ac11b761290399a576f8b2419a5) + +* Release Dec 12, 2018 + +* [#4863](https://github.com/moment/moment/pull/4863) [new locale] added Kurdish language (ku) +* [#4417](https://github.com/moment/moment/pull/4417) [bugfix] isBetween should return false for invalid dates +* [#4700](https://github.com/moment/moment/pull/4700) [bugfix] Fix [#4698](https://github.com/moment/moment/pull/4698): Use ISO WeekYear for HTML5_FMT.WEEK +* [#4563](https://github.com/moment/moment/pull/4563) [feature] Fix [#4518](https://github.com/moment/moment/pull/4518): Add support to add/subtract ISO weeks +* other locale changes, build process changes, typos + +### 2.22.2 [See full changelog](https://gist.github.com/marwahaha/4d992c13c2dbc0f59d4d8acae1dc6d3a) + +* Release May 31, 2018 + +* [#4564](https://github.com/moment/moment/pull/4564) [bugfix] Avoid using trim() +* [#4453](https://github.com/moment/moment/pull/4453) [bugfix] Treat periods as periods, not regex-anything period, for weekday parsing in strict mode. +* Minor locale improvements (pa-in, be, az) + +### 2.22.1 [See full changelog](https://gist.github.com/marwahaha/ff2cd13d0eda08afb7a237b10aae558c) + +* Release Apr 14, 2018 + +* [#4495](https://github.com/moment/moment/pull/4495) [bugfix] Added HTML5_FMT to moment.d.ts +* Minor locale improvements +* QUnit upgrade and coveralls reporting + +### 2.22.0 [See full changelog](https://gist.github.com/marwahaha/ae895025dac3f0641fa9ec2e36d282bb) + +* Release Mar 30, 2018 + +* [#4423](https://github.com/moment/moment/pull/4423) [new locale] Added Mongolian locale mn +* Various locale improvements +* Minor misc changes + +### 2.21.0 [See full changelog](https://gist.github.com/marwahaha/80d19ef882b71df1948df7865efdd40e) + +* Release Mar 2, 2018 + +* [#4391](https://github.com/moment/moment/pull/4391) [bugfix] Fix [#4390](https://github.com/moment/moment/pull/4390): use offset properly in toISOString +* [#4310](https://github.com/moment/moment/pull/4310) [bugfix] Fix [#3883](https://github.com/moment/moment/pull/3883) lazy load parentLocale in defineLocale, fallback to global if missing +* [#4085](https://github.com/moment/moment/pull/4085) [misc] Print console warning when setting non-existent locales +* [#4371](https://github.com/moment/moment/pull/4371) [misc] fix deprecated rollup options +* New locales: ug-cn, en-il, tg +* Various locale improvements + +### 2.20.1 [See changelog](https://gist.github.com/marwahaha/d72c1cb22076373be889b16272cbd187) + +* Release Dec 18, 2017 + +* [#4359](https://github.com/moment/moment/pull/4359) [locale] Fix Arabic locale for months (again) +* [#4357](https://github.com/moment/moment/pull/4357) [misc] Add optional parameter keepOffset to toISOString + +### 2.20.0 [See full changelog](https://gist.github.com/marwahaha/e0d4135fbf8bb75fa85c4aa2bddc5031) + +* Release Dec 16, 2017 + +* [#4312](https://github.com/moment/moment/pull/4312) [bugfix] Fix [#4251](https://github.com/moment/moment/pull/4251): Avoid RFC2822 in utc() test +* [#4240](https://github.com/moment/moment/pull/4240) [bugfix] Fix incorrect strict parsing with full-width parentheses +* [#4341](https://github.com/moment/moment/pull/4341) [feature] Prevent toISOString converting to UTC (issue [#1751](https://github.com/moment/moment/pull/1751)) +* [#4154](https://github.com/moment/moment/pull/4154) [feature] add format constants to support output to HTML5 input type formats (see [#3928](https://github.com/moment/moment/pull/3928)) +* [#4143](https://github.com/moment/moment/pull/4143) [new locale] mt: Maltese language +* [#4183](https://github.com/moment/moment/pull/4183) [locale] Relative seconds i18n +* Various other locale improvements + +### 2.19.4 [See changelog](https://gist.github.com/marwahaha/d3b7b0ddf4bdae512244f16e8cc59efb) + +* Release Dec 10, 2017 + +* [#4332](https://github.com/moment/moment/pull/4332) [bugfix] Fix weekday verification for UTC and offset days (fixes [#4227](https://github.com/moment/moment/pull/4227)) +* [#4336](https://github.com/moment/moment/pull/4336) [bugfix] Fix [#4334](https://github.com/moment/moment/pull/4334): Remove unused function call argument +* [#4246](https://github.com/moment/moment/pull/4246) [misc] Add 'ss' relative time key to typescript definition + +### 2.19.3 [See changelog](https://gist.github.com/marwahaha/3654006bc0c2e522451c08d12c0bfabf) + +* Release Nov 29, 2017 + +* [#4326](https://github.com/moment/moment/pull/4326) [bugfix] Fix for ReDOS vulnerability (see [#4163](https://github.com/moment/moment/issues/4163)) +* [#4289](https://github.com/moment/moment/pull/4289) [misc] Fix spelling and formatting for U.S. for es-us + +### 2.19.2 [See changelog (it's the same >:D)](https://gist.github.com/ichernev/76b1a3f33d3a8ff9665ce434a45221d0) + +* Release Nov 11, 2017 + +* [#4255](https://github.com/moment/moment/pull/4255) [bugfix] Fix year setter for random days in a leap year, fixes [#4238](https://github.com/moment/moment/issues/4238) +* [#4242](https://github.com/moment/moment/pull/4242) [bugfix] updateLocale now tries to load parent, fixes [#3626](https://github.com/moment/moment/issues/3626) + +### 2.19.1 + +* Release Oct 11, 2017 + +Make react native and webpack both work +* #4225 #4226 #4232 + +### 2.19.0 [See full changelog](https://gist.github.com/ichernev/5f3f4eb02761b4f765a0cccf02cec603) + +* Release Oct 10, 2017 + +## Fix React Native 0.49+ crash +* [#4213](https://github.com/moment/moment/pull/4213) [critical] Rename dynamic + require to avoid React Native crash +* [#4214](https://github.com/moment/moment/pull/4214) [fixup] Move require + rename inside try/catch, fixes + [#4213](https://github.com/moment/moment/issues/4213) + +## Features + +* [#3735](https://github.com/moment/moment/pull/3735) [feature] Ignore NaN values in setters +* [#4106](https://github.com/moment/moment/pull/4106) [fixup] Drop isNumeric utility fn, fixes [#3735](https://github.com/moment/moment/issues/3735) +* [#4080](https://github.com/moment/moment/pull/4080) [feature] Implement a clone method for durations, fixes [#4078](https://github.com/moment/moment/issues/4078) +* [#4215](https://github.com/moment/moment/pull/4215) [misc] TS: Add duration.clone(), for [#4080](https://github.com/moment/moment/issues/4080) + +## Packaging + +* [#4003](https://github.com/moment/moment/pull/4003) [pkg] bower: Remove tests from package +* [#3904](https://github.com/moment/moment/pull/3904) [pkg] jsnext:main -> module in package.json +* [#4060](https://github.com/moment/moment/pull/4060) [pkg] Account for new rollup interface + +Bugfixes, new locales, locale fixes etc... + +### 2.18.1 + +* Release Mar 22, 2017 + +* [#3853](https://github.com/moment/moment/pull/3853) [misc] Fix invalid whitespace character causing inability to parse + moment.js + +### 2.18.0 [See full changelog](https://gist.github.com/ichernev/78920c5a1e419fb28c6e4546d1b7235c) + +* Release Mar 18, 2017 + +## Features + +* [#3708](https://github.com/moment/moment/pull/3708) [feature] RFC2822 parsing +* [#3611](https://github.com/moment/moment/pull/3611) [feature] Durations gain validity +* [#3738](https://github.com/moment/moment/pull/3738) [feature] Enable relative time for multiple seconds, request [#2558](https://github.com/moment/moment/issues/2558) +* [#3766](https://github.com/moment/moment/pull/3766) [feature] Add support for k and kk format parsing + +## Bugfixes + +* [#3643](https://github.com/moment/moment/pull/3643) [bugfix] Fixes [#3520](https://github.com/moment/moment/issues/3520), parseZone incorrectly handled minutes under 16 +* [#3710](https://github.com/moment/moment/pull/3710) [bugfix] Fixes [#3632](https://github.com/moment/moment/issues/3632), toISOString returns null for invalid date +* [#3787](https://github.com/moment/moment/pull/3787) [bugfix] Fixes [#3717](https://github.com/moment/moment/issues/3717), ensure day-of-year is non-zero +* [#3780](https://github.com/moment/moment/pull/3780) [bugfix] Fixes [#3765](https://github.com/moment/moment/issues/3765): Ensure year 0 is formatted with YYYY +* [#3806](https://github.com/moment/moment/pull/3806) [bugfix] Fixes [#3805](https://github.com/moment/moment/issues/3805), fix locale month getters for standalone/format cases + +7 new locales, many locale improvements and some misc changes + +### 2.17.1 [Also available here](https://gist.github.com/ichernev/f38280b2b29c4932914a6d3a4e50bfb2) +* Release Dec 03, 2016 + +* [#3638](https://github.com/moment/moment/pull/3638) [misc] TS: Make typescript definitions work with 1.x +* [#3628](https://github.com/moment/moment/pull/3628) [misc] Adds "sign CLA" link to `CONTRIBUTING.md` +* [#3640](https://github.com/moment/moment/pull/3640) [misc] Fix locale issues + +### 2.17.0 [Also available here](https://gist.github.com/ichernev/ed58f76fb95205eeac653d719972b90c) +* Release Nov 22, 2016 + +* [#3435](https://github.com/moment/moment/pull/3435) [new locale] yo: Yoruba (Nigeria) locale +* [#3595](https://github.com/moment/moment/pull/3595) [bugfix] Fix accidental reference to global "value" variable +* [#3506](https://github.com/moment/moment/pull/3506) [bugfix] Fix invalid moments returning valid dates to method calls +* [#3563](https://github.com/moment/moment/pull/3563) [locale] ca: Change future relative time +* [#3504](https://github.com/moment/moment/pull/3504) [tests] Fixes [#3463](https://github.com/moment/moment/issues/3463), parseZone not handling Z correctly (tests only) +* [#3591](https://github.com/moment/moment/pull/3591) [misc] typescript: update typescript to 2.0.8, add strictNullChecks=true +* [#3597](https://github.com/moment/moment/pull/3597) [misc] Fixed capitalization in nuget spec + +### 2.16.0 [See full changelog](https://gist.github.com/ichernev/17bffc1005a032cb1a8ac4c1558b4994) +* Release Nov 9, 2016 + +## Features +* [#3530](https://github.com/moment/moment/pull/3530) [feature] Check whether input is date before checking if format is array +* [#3515](https://github.com/moment/moment/pull/3515) [feature] Fix [#2300](https://github.com/moment/moment/issues/2300): Default to current week. + +## Bugfixes +* [#3546](https://github.com/moment/moment/pull/3546) [bugfix] Implement lazy-loading of child locales with missing prents +* [#3523](https://github.com/moment/moment/pull/3523) [bugfix] parseZone should handle UTC +* [#3502](https://github.com/moment/moment/pull/3502) [bugfix] Fix [#3500](https://github.com/moment/moment/issues/3500): ISO 8601 parsing should match the full string, not the beginning of the string. +* [#3581](https://github.com/moment/moment/pull/3581) [bugfix] Fix parseZone, redo [#3504](https://github.com/moment/moment/issues/3504), fix [#3463](https://github.com/moment/moment/issues/3463) + +## New Locales +* [#3416](https://github.com/moment/moment/pull/3416) [new locale] nl-be: Dutch (Belgium) locale +* [#3393](https://github.com/moment/moment/pull/3393) [new locale] ar-dz: Arabic (Algeria) locale +* [#3342](https://github.com/moment/moment/pull/3342) [new locale] tet: Tetun Dili (East Timor) locale + +And more locale, build and typescript improvements + +### 2.15.2 +* Release Oct 23, 2016 +* [#3525](https://github.com/moment/moment/pull/3525) Speedup month standalone/format regexes **(IMPORTANT)** +* [#3466](https://github.com/moment/moment/pull/3466) Fix typo of Javanese + +### 2.15.1 +* Release Sept 20, 2016 +* [#3438](https://github.com/moment/moment/pull/3438) Fix locale autoload, revert [#3344](https://github.com/moment/moment/pull/3344) + +### 2.15.0 [See full changelog](https://gist.github.com/ichernev/10e1c5bf647545c72ca30e9628a09ed3) +- Release Sept 12, 2016 + +## New Locales +* [#3255](https://github.com/moment/moment/pull/3255) [new locale] mi: Maori language +* [#3267](https://github.com/moment/moment/pull/3267) [new locale] ar-ly: Arabic (Libya) locale +* [#3333](https://github.com/moment/moment/pull/3333) [new locale] zh-hk: Chinese (Hong Kong) locale + +## Bugfixes +* [#3276](https://github.com/moment/moment/pull/3276) [bugfix] duration: parser: Support ms durations in .NET syntax +* [#3312](https://github.com/moment/moment/pull/3312) [bugfix] locales: Enable locale-data getters without moment (fixes [#3284](https://github.com/moment/moment/issues/3284)) +* [#3381](https://github.com/moment/moment/pull/3381) [bugfix] parsing: Fix parseZone without timezone in string, fixes [#3083](https://github.com/moment/moment/issues/3083) +* [#3383](https://github.com/moment/moment/pull/3383) [bugfix] toJSON: Fix isValid so that toJSON works after a moment is frozen +* [#3427](https://github.com/moment/moment/pull/3427) [bugfix] ie8: Fix IE8 (regression in 2.14.x) + +## Packaging +* [#3299](https://github.com/moment/moment/pull/3299) [pkg] npm: Do not include .npmignore in npm package +* [#3273](https://github.com/moment/moment/pull/3273) [pkg] jspm: Include moment.d.ts file in package +* [#3344](https://github.com/moment/moment/pull/3344) [pkg] exports: use module.require for nodejs + +Also some locale and typescript improvements + +### 2.14.1 +- Release July 20, 2016 +* [#3280](https://github.com/moment/moment/pull/3280) Fix typescript definitions + + +### 2.14.0 [See full changelog](https://gist.github.com/ichernev/812e79ac36a7829a22598fe964bfc18a) + +- Release July 20, 2016 + +## New Features +* [#3233](https://github.com/moment/moment/pull/3233) Introduce month.isFormat for format/standalone discovery +* [#2848](https://github.com/moment/moment/pull/2848) Allow user to get/set the rounding method used when calculating relative time +* [#3112](https://github.com/moment/moment/pull/3112) optimize configFromStringAndFormat +* [#3147](https://github.com/moment/moment/pull/3147) Call calendar format function with moment context +* [#3160](https://github.com/moment/moment/pull/3160) deprecate isDSTShifted +* [#3175](https://github.com/moment/moment/pull/3175) make moment calendar extensible with ad-hoc options +* [#3191](https://github.com/moment/moment/pull/3191) toDate returns a copy of the internal date object +* [#3192](https://github.com/moment/moment/pull/3192) Adding support for rollup import. +* [#3238](https://github.com/moment/moment/pull/3238) Handle empty object and empty array for creation as now +* [#3082](https://github.com/moment/moment/pull/3082) Use relative AMD moment dependency + +## Bugfixes +* [#3241](https://github.com/moment/moment/pull/3241) Escape all 24 mixed pieces, not only first 12 in computeMonthsParse +* [#3008](https://github.com/moment/moment/pull/3008) Object setter orders sets based on size of unit +* [#3177](https://github.com/moment/moment/pull/3177) Bug Fix [#2704](https://github.com/moment/moment/pull/2704) - isoWeekday(String) inconsistent with isoWeekday(Number) +* [#3230](https://github.com/moment/moment/pull/3230) fix passing date with format string to ignore format string +* [#3232](https://github.com/moment/moment/pull/3232) Fix negative 0 in certain diff cases +* [#3235](https://github.com/moment/moment/pull/3235) Use proper locale inheritance for the base locale, fixes [#3137](https://github.com/moment/moment/pull/3137) + +Plus es-do locale and locale bugfixes + +### 2.13.0 [See full changelog](https://gist.github.com/ichernev/0132fcf5b61f7fc140b0bb0090480d49) +- Release April 18, 2016 + +## Enhancements: +* [#2982](https://github.com/moment/moment/pull/2982) Add 'date' as alias to 'day' for startOf() and endOf(). +* [#2955](https://github.com/moment/moment/pull/2955) Add parsing negative components in durations when ISO 8601 +* [#2991](https://github.com/moment/moment/pull/2991) isBetween support for both open and closed intervals +* [#3105](https://github.com/moment/moment/pull/3105) Add localeSorted argument to weekday listers +* [#3102](https://github.com/moment/moment/pull/3102) Add k and kk formatting tokens + +## Bugfixes +* [#3109](https://github.com/moment/moment/pull/3109) Fix [#1756](https://github.com/moment/moment/issues/1756) Resolved thread-safe issue on server side. +* [#3078](https://github.com/moment/moment/pull/3078) Fix parsing for months/weekdays with weird characters +* [#3098](https://github.com/moment/moment/pull/3098) Use Z suffix when in UTC mode ([#3020](https://github.com/moment/moment/issues/3020)) +* [#2995](https://github.com/moment/moment/pull/2995) Fix floating point rounding errors in durations +* [#3059](https://github.com/moment/moment/pull/3059) fix bug where diff returns -0 in month-related diffs +* [#3045](https://github.com/moment/moment/pull/3045) Fix mistaking any input for 'a' token +* [#2877](https://github.com/moment/moment/pull/2877) Use explicit .valueOf() calls instead of coercion +* [#3036](https://github.com/moment/moment/pull/3036) Year setter should keep time when DST changes + +Plus 3 new locales and locale fixes. + +### 2.12.0 [See full changelog](https://gist.github.com/ichernev/6e5bfdf8d6522fc4ac73) + +- Release March 7, 2016 + +## Enhancements: +* [#2932](https://github.com/moment/moment/pull/2932) List loaded locales +* [#2818](https://github.com/moment/moment/pull/2818) Parse ISO-8061 duration containing both day and week values +* [#2774](https://github.com/moment/moment/pull/2774) Implement locale inheritance and locale updating + +## Bugfixes: +* [#2970](https://github.com/moment/moment/pull/2970) change add subtract to handle decimal values by rounding +* [#2887](https://github.com/moment/moment/pull/2887) Fix toJSON casting of invalid moment +* [#2897](https://github.com/moment/moment/pull/2897) parse string arguments for month() correctly, closes #2884 +* [#2946](https://github.com/moment/moment/pull/2946) Fix usage suggestions for min and max + +## New locales: +* [#2917](https://github.com/moment/moment/pull/2917) Locale Punjabi(Gurmukhi) India format conversion + +And more + +### 2.11.2 (Fix ReDoS attack vector) + +- Release February 7, 2016 + +* [#2939](https://github.com/moment/moment/pull/2939) use full-string match to speed up aspnet regex match + +### 2.11.1 [See full changelog](https://gist.github.com/ichernev/8ec3ee25b749b4cff3c2) + +- Release January 9, 2016 + +## Bugfixes: +* [#2881](https://github.com/moment/moment/pull/2881) Revert "Merge pull request #2746 from mbad0la:develop" Sep->Sept +* [#2868](https://github.com/moment/moment/pull/2868) Add format and parse token Y, so it actually works +* [#2865](https://github.com/moment/moment/pull/2865) Use typeof checks for undefined for global variables +* [#2858](https://github.com/moment/moment/pull/2858) Fix Date mocking regression introduced in 2.11.0 +* [#2864](https://github.com/moment/moment/pull/2864) Include changelog in npm release +* [#2830](https://github.com/moment/moment/pull/2830) dep: add grunt-cli +* [#2869](https://github.com/moment/moment/pull/2869) Fix months parsing for some locales + +### 2.11.0 [See full changelog](https://gist.github.com/ichernev/6594bc29719dde6b2f66) + +- Release January 4, 2016 + +* [#2624](https://github.com/moment/moment/pull/2624) Proper handling of invalid moments +* [#2634](https://github.com/moment/moment/pull/2634) Fix strict month parsing issue in cs,ru,sk +* [#2735](https://github.com/moment/moment/pull/2735) Reset the locale back to 'en' after defining all locales in min/locales.js +* [#2702](https://github.com/moment/moment/pull/2702) Week rework +* [#2746](https://github.com/moment/moment/pull/2746) Changed September Abbreviation to "Sept" in locale-specific english + files and default locale file +* [#2646](https://github.com/moment/moment/pull/2646) Fix [#2645](https://github.com/moment/moment/pull/2645) - invalid dates pre-1970 + +* [#2641](https://github.com/moment/moment/pull/2641) Implement basic format and comma as ms separator in ISO 8601 +* [#2665](https://github.com/moment/moment/pull/2665) Implement stricter weekday parsing +* [#2700](https://github.com/moment/moment/pull/2700) Add [Hh]mm and [Hh]mmss formatting tokens, so you can parse 123 with + hmm for example +* [#2565](https://github.com/moment/moment/pull/2565) [#2835](https://github.com/moment/moment/pull/2835) Expose arguments used for moment creation with creationData + (fix [#2443](https://github.com/moment/moment/pull/2443)) +* [#2648](https://github.com/moment/moment/pull/2648) fix issue [#2640](https://github.com/moment/moment/pull/2640): support instanceof operator +* [#2709](https://github.com/moment/moment/pull/2709) Add isSameOrAfter and isSameOrBefore comparison methods +* [#2721](https://github.com/moment/moment/pull/2721) Fix moment creation from object with strings values +* [#2740](https://github.com/moment/moment/pull/2740) Enable 'd hh:mm:ss.sss' format for durations +* [#2766](https://github.com/moment/moment/pull/2766) [#2833](https://github.com/moment/moment/pull/2833) Alternate Clock Source Support + +### 2.10.6 + +- Release July 28, 2015 + +[#2515](https://github.com/moment/moment/pull/2515) Fix regression introduced +in `2.10.5` related to `moment.ISO_8601` parsing. + +### 2.10.5 [See full changelog](https://gist.github.com/ichernev/6ec13ac7efc396da44b2) + +- Release July 26, 2015 + +Important changes: +* [#2357](https://github.com/moment/moment/pull/2357) Improve unit bubbling for ISO dates + this fixes day to year conversions to work around end-of-year (~365 days). As + a side effect 365 days is 11 months and 30 days, and 366 days is one year. +* [#2438](https://github.com/moment/moment/pull/2438) Fix inconsistent moment.min and moment.max results + Return invalid result if any of the inputs is invalid +* [#2494](https://github.com/moment/moment/pull/2494) Fix two digit year parsing with YYYY format + This brings the benefits of YY to YYYY +* [#2368](https://github.com/moment/moment/pull/2368) perf: use faster form of copying dates, across the board improvement + + +### 2.10.3 [See full changelog](https://gist.github.com/ichernev/f264b9bed5b00f8b1b7f) + +- Release May 13, 2015 + +* add `moment.fn.to` and `moment.fn.toNow` (similar to `from` and `fromNow`) +* new locales (Sinhalese (si), Montenegrin (me), Javanese (ja)) +* performance improvements + +### 2.10.2 + +- Release April 9, 2015 + +* fixed moment-with-locales in browser env caused by esperanto change + +### 2.10.1 + +* regression: Add moment.duration.fn back + +### 2.10.0 + +Ported code to es6 modules. + +### 2.9.0 [See full changelog](https://gist.github.com/ichernev/0c9a9b49951111a27ce7) + +- Release January 8, 2015 + +languages: +* [2104](https://github.com/moment/moment/issues/2104) Frisian (fy) language file with unit test +* [2097](https://github.com/moment/moment/issues/2097) add ar-tn locale + +deprecations: +* [2074](https://github.com/moment/moment/issues/2074) Implement `moment.fn.utcOffset`, deprecate `moment.fn.zone` + +features: +* [2088](https://github.com/moment/moment/issues/2088) add moment.fn.isBetween +* [2054](https://github.com/moment/moment/issues/2054) Call updateOffset when creating moment (needed for default timezone in + moment-timezone) +* [1893](https://github.com/moment/moment/issues/1893) Add moment.isDate method +* [1825](https://github.com/moment/moment/issues/1825) Implement toJSON function on Duration +* [1809](https://github.com/moment/moment/issues/1809) Allowing moment.set() to accept a hash of units +* [2128](https://github.com/moment/moment/issues/2128) Add firstDayOfWeek, firstDayOfYear locale getters +* [2131](https://github.com/moment/moment/issues/2131) Add quarter diff support + +Some bugfixes and language improvements -- [full changelog](https://gist.github.com/ichernev/0c9a9b49951111a27ce7) + +### 2.8.4 [See full changelog](https://gist.github.com/ichernev/a4fcb0a46d74e4b9b996) + +- Release November 19, 2014 + +Features: + +* [#2000](https://github.com/moment/moment/issues/2000) Add LTS localised format that includes seconds +* [#1960](https://github.com/moment/moment/issues/1960) added formatToken 'x' for unix offset in milliseconds #1938 +* [#1965](https://github.com/moment/moment/issues/1965) Support 24:00:00.000 to mean next day, at midnight. +* [#2002](https://github.com/moment/moment/issues/2002) Accept 'date' key when creating moment with object +* [#2009](https://github.com/moment/moment/issues/2009) Use native toISOString when we can + +Some bugfixes and language improvements -- [full changelog](https://gist.github.com/ichernev/a4fcb0a46d74e4b9b996) + +### 2.8.3 + +- Release September 5, 2014 + +Bugfixes: + +* [#1801](https://github.com/moment/moment/issues/1801) proper pluralization for Arabic +* [#1833](https://github.com/moment/moment/issues/1833) improve spm integration +* [#1871](https://github.com/moment/moment/issues/1871) fix zone bug caused by Firefox 24 +* [#1882](https://github.com/moment/moment/issues/1882) Use hh:mm in Czech +* [#1883](https://github.com/moment/moment/issues/1883) Fix 2.8.0 regression in duration as conversions +* [#1890](https://github.com/moment/moment/issues/1890) Faster travis builds +* [#1892](https://github.com/moment/moment/issues/1892) Faster isBefore/After/Same +* [#1848](https://github.com/moment/moment/issues/1848) Fix flaky month diffs +* [#1895](https://github.com/moment/moment/issues/1895) Fix 2.8.0 regression in moment.utc with format array +* [#1896](https://github.com/moment/moment/issues/1896) Support setting invalid instance locale (noop) +* [#1897](https://github.com/moment/moment/issues/1897) Support moment([str]) in addition to moment([int]) + +### 2.8.2 + +- Release August 22, 2014 + +Minor bugfixes: + +* [#1874](https://github.com/moment/moment/issues/1874) use `Object.prototype.hasOwnProperty` + instead of `obj.hasOwnProperty` (ie8 bug) +* [#1873](https://github.com/moment/moment/issues/1873) add `duration#toString()` +* [#1859](https://github.com/moment/moment/issues/1859) better month/weekday names in norwegian +* [#1812](https://github.com/moment/moment/issues/1812) meridiem parsing for greek +* [#1804](https://github.com/moment/moment/issues/1804) spanish del -> de +* [#1800](https://github.com/moment/moment/issues/1800) korean LT improvement + +### 2.8.1 + +- Release August 1, 2014 + +* bugfix [#1813](https://github.com/moment/moment/issues/1813): fix moment().lang([key]) incompatibility + +### 2.8.0 [See changelog](https://gist.github.com/ichernev/ac3899324a5fa6c8c9b4) + +- Release July 31, 2014 + +* incompatible changes + * [#1761](https://github.com/moment/moment/issues/1761): moments created without a language are no longer following the global language, in case it changes. Only newly created moments take the global language by default. In case you're affected by this, wait, comment on [#1797](https://github.com/moment/moment/issues/1797) and wait for a proper reimplementation + * [#1642](https://github.com/moment/moment/issues/1642): 45 days is no longer "a month" according to humanize, cutoffs for month, and year have changed. Hopefully your code does not depend on a particular answer from humanize (which it shouldn't anyway) + * [#1784](https://github.com/moment/moment/issues/1784): if you use the human readable English datetime format in a weird way (like storing them in a database) that would break when the format changes you're at risk. + +* deprecations (old behavior will be dropped in 3.0) + * [#1761](https://github.com/moment/moment/issues/1761) `lang` is renamed to `locale`, `langData` -> `localeData`. Also there is now `defineLocale` that should be used when creating new locales + * [#1763](https://github.com/moment/moment/issues/1763) `add(unit, value)` and `subtract(unit, value)` are now deprecated. Use `add(value, unit)` and `subtract(value, unit)` instead. + * [#1759](https://github.com/moment/moment/issues/1759) rename `duration.toIsoString` to `duration.toISOString`. The js standard library and moment's `toISOString` follow that convention. + +* new locales + * [#1789](https://github.com/moment/moment/issues/1789) Tibetan (bo) + * [#1786](https://github.com/moment/moment/issues/1786) Africaans (af) + * [#1778](https://github.com/moment/moment/issues/1778) Burmese (my) + * [#1727](https://github.com/moment/moment/issues/1727) Belarusian (be) + +* bugfixes, locale bugfixes, performance improvements, features + +### 2.7.0 [See changelog](https://gist.github.com/ichernev/b0a3d456d5a84c9901d7) + +- Release June 12, 2014 + +* new languages + + * [#1678](https://github.com/moment/moment/issues/1678) Bengali (bn) + * [#1628](https://github.com/moment/moment/issues/1628) Azerbaijani (az) + * [#1633](https://github.com/moment/moment/issues/1633) Arabic, Saudi Arabia (ar-sa) + * [#1648](https://github.com/moment/moment/issues/1648) Austrian German (de-at) + +* features + + * [#1663](https://github.com/moment/moment/issues/1663) configurable relative time thresholds + * [#1554](https://github.com/moment/moment/issues/1554) support anchor time in moment.calendar + * [#1693](https://github.com/moment/moment/issues/1693) support moment.ISO_8601 as parsing format + * [#1637](https://github.com/moment/moment/issues/1637) add moment.min and moment.max and deprecate min/max instance methods + * [#1704](https://github.com/moment/moment/issues/1704) support string value in add/subtract + * [#1647](https://github.com/moment/moment/issues/1647) add spm support (package manager) + +* bugfixes + +### 2.6.0 [See changelog](https://gist.github.com/ichernev/10544682) + +- Release April 12 , 2014 + +* languages + * [#1529](https://github.com/moment/moment/issues/1529) Serbian-Cyrillic (sr-cyr) + * [#1544](https://github.com/moment/moment/issues/1544), [#1546](https://github.com/moment/moment/issues/1546) Khmer Cambodia (km) + +* features + * [#1419](https://github.com/moment/moment/issues/1419), [#1468](https://github.com/moment/moment/issues/1468), [#1467](https://github.com/moment/moment/issues/1467), [#1546](https://github.com/moment/moment/issues/1546) better handling of timezone-d moments around DST + * [#1462](https://github.com/moment/moment/issues/1462) add weeksInYear and isoWeeksInYear + * [#1475](https://github.com/moment/moment/issues/1475) support ordinal parsing + * [#1499](https://github.com/moment/moment/issues/1499) composer support + * [#1577](https://github.com/moment/moment/issues/1577), [#1604](https://github.com/moment/moment/issues/1604) put Date parsing in moment.createFromInputFallback so it can be properly deprecated and controlled in the future + * [#1545](https://github.com/moment/moment/issues/1545) extract two-digit year parsing in moment.parseTwoDigitYear, so it can be overwritten + * [#1590](https://github.com/moment/moment/issues/1590) (see [#1574](https://github.com/moment/moment/issues/1574)) set AMD global before module definition to better support non AMD module dependencies used in AMD environment + * [#1589](https://github.com/moment/moment/issues/1589) remove global in Node.JS environment (was not working before, nobody complained, was scheduled for removal anyway) + * [#1586](https://github.com/moment/moment/issues/1586) support quarter setting and parsing + +* 18 bugs fixed + +### 2.5.1 + +- Release January 22, 2014 + +* languages + * [#1392](https://github.com/moment/moment/issues/1392) Armenian (hy-am) + +* bugfixes + * [#1429](https://github.com/moment/moment/issues/1429) fixes [#1423](https://github.com/moment/moment/issues/1423) weird chrome-32 bug with js object creation + * [#1421](https://github.com/moment/moment/issues/1421) remove html entities from Welsh + * [#1418](https://github.com/moment/moment/issues/1418) fixes [#1401](https://github.com/moment/moment/issues/1401) improved non-padded tokens in strict matching + * [#1417](https://github.com/moment/moment/issues/1417) fixes [#1404](https://github.com/moment/moment/issues/1404) handle buggy moment object created by property cloning + * [#1398](https://github.com/moment/moment/issues/1398) fixes [#1397](https://github.com/moment/moment/issues/1397) fix Arabic-like week number parsing + * [#1396](https://github.com/moment/moment/issues/1396) add leftZeroFill(4) to GGGG and gggg formats + * [#1373](https://github.com/moment/moment/issues/1373) use lowercase for months and days in Catalan + +* testing + * [#1374](https://github.com/moment/moment/issues/1374) run tests on multiple browser/os combos via SauceLabs and Travis + +### 2.5.0 [See changelog](https://gist.github.com/ichernev/8104451) + +- Release Dec 24, 2013 + +* New languages + * Luxemburish (lb) [1247](https://github.com/moment/moment/issues/1247) + * Serbian (rs) [1319](https://github.com/moment/moment/issues/1319) + * Tamil (ta) [1324](https://github.com/moment/moment/issues/1324) + * Macedonian (mk) [1337](https://github.com/moment/moment/issues/1337) + +* Features + * [1311](https://github.com/moment/moment/issues/1311) Add quarter getter and format token `Q` + * [1303](https://github.com/moment/moment/issues/1303) strict parsing now respects number of digits per token (fix [1196](https://github.com/moment/moment/issues/1196)) + * 0d30bb7 add jspm support + * [1347](https://github.com/moment/moment/issues/1347) improve zone parsing + * [1362](https://github.com/moment/moment/issues/1362) support merideam parsing in Korean + +* 22 bugfixes + +### 2.4.0 + +- Release Oct 27, 2013 + +* **Deprecate** globally exported moment, will be removed in next major +* New languages + * Farose (fo) [#1206](https://github.com/moment/moment/issues/1206) + * Tagalog/Filipino (tl-ph) [#1197](https://github.com/moment/moment/issues/1197) + * Welsh (cy) [#1215](https://github.com/moment/moment/issues/1215) +* Bugfixes + * properly handle Z at the end of iso RegExp [#1187](https://github.com/moment/moment/issues/1187) + * chinese meridian time improvements [#1076](https://github.com/moment/moment/issues/1076) + * fix language tests [#1177](https://github.com/moment/moment/issues/1177) + * remove some failing tests (that should have never existed :)) + [#1185](https://github.com/moment/moment/issues/1185) + [#1183](https://github.com/moment/moment/issues/1183) + * handle russian noun cases in weird cases [#1195](https://github.com/moment/moment/issues/1195) + +### 2.3.1 + +- Release Oct 9, 2013 + +Removed a trailing comma [1169] and fixed a bug with `months`, `weekdays` getters [#1171](https://github.com/moment/moment/issues/1171). + +### 2.3.0 [See changelog](https://gist.github.com/ichernev/6864354) + +- Release Oct 7, 2013 + +Changed isValid, added strict parsing. +Week tokens parsing. + +### 2.2.1 + +- Release Sep 12, 2013 + +Fixed bug in string prototype test. +Updated authors and contributors. + +### 2.2.0 [See changelog](https://gist.github.com/ichernev/00f837a9baf46a3565e4) + +- Release Sep 11, 2013 + +Added bower support. + +Language files now use UMD. + +Creating moment defaults to current date/month/year. + +Added a bundle of moment and all language files. + +### 2.1.0 [See changelog](https://gist.github.com/timrwood/b8c2d90d528eddb53ab5) + +- Release Jul 8, 2013 + +Added better week support. + +Added ability to set offset with `moment#zone`. + +Added ability to set month or weekday from a string. + +Added `moment#min` and `moment#max` + +### 2.0.0 [See changelog](https://gist.github.com/timrwood/e72f2eef320ed9e37c51) + +- Release Feb 9, 2013 + +Added short form localized tokens. + +Added ability to define language a string should be parsed in. + +Added support for reversed add/subtract arguments. + +Added support for `endOf('week')` and `startOf('week')`. + +Fixed the logic for `moment#diff(Moment, 'months')` and `moment#diff(Moment, 'years')` + +`moment#diff` now floors instead of rounds. + +Normalized `moment#toString`. + +Added `isSame`, `isAfter`, and `isBefore` methods. + +Added better week support. + +Added `moment#toJSON` + +Bugfix: Fixed parsing of first century dates + +Bugfix: Parsing 10Sep2001 should work as expected + +Bugfix: Fixed weirdness with `moment.utc()` parsing. + +Changed language ordinal method to return the number + ordinal instead of just the ordinal. + +Changed two digit year parsing cutoff to match strptime. + +Removed `moment#sod` and `moment#eod` in favor of `moment#startOf` and `moment#endOf`. + +Removed `moment.humanizeDuration()` in favor of `moment.duration().humanize()`. + +Removed the lang data objects from the top level namespace. + +Duplicate `Date` passed to `moment()` instead of referencing it. + +### 1.7.2 [See discussion](https://github.com/timrwood/moment/issues/456) + +- Release Oct 2, 2012 + +Bugfixes + +### 1.7.1 [See discussion](https://github.com/timrwood/moment/issues/384) + +- Release Oct 1, 2012 + +Bugfixes + +### 1.7.0 [See discussion](https://github.com/timrwood/moment/issues/288) + +- Release Jul 26, 2012 + +Added `moment.fn.endOf()` and `moment.fn.startOf()`. + +Added validation via `moment.fn.isValid()`. + +Made formatting method 3x faster. http://jsperf.com/momentjs-cached-format-functions + +Add support for month/weekday callbacks in `moment.fn.format()` + +Added instance specific languages. + +Added two letter weekday abbreviations with the formatting token `dd`. + +Various language updates. + +Various bugfixes. + +### 1.6.0 [See discussion](https://github.com/timrwood/moment/pull/268) + +- Release Apr 26, 2012 + +Added Durations. + +Revamped parser to support parsing non-separated strings (YYYYMMDD vs YYYY-MM-DD). + +Added support for millisecond parsing and formatting tokens (S SS SSS) + +Added a getter for `moment.lang()` + +Various bugfixes. + +There are a few things deprecated in the 1.6.0 release. + +1. The format tokens `z` and `zz` (timezone abbreviations like EST CST MST etc) will no longer be supported. Due to inconsistent browser support, we are unable to consistently produce this value. See [this issue](https://github.com/timrwood/moment/issues/162) for more background. + +2. The method `moment.fn.native` is deprecated in favor of `moment.fn.toDate`. There continue to be issues with Google Closure Compiler throwing errors when using `native`, even in valid instances. + +3. The way to customize am/pm strings is being changed. This would only affect you if you created a custom language file. For more information, see [this issue](https://github.com/timrwood/moment/pull/222). + +### 1.5.0 [See milestone](https://github.com/timrwood/moment/issues?milestone=10&page=1&state=closed) + +- Release Mar 20, 2012 + +Added UTC mode. + +Added automatic ISO8601 parsing. + +Various bugfixes. + +### 1.4.0 [See milestone](https://github.com/timrwood/moment/issues?milestone=8&state=closed) + +- Release Feb 4, 2012 + +Added `moment.fn.toDate` as a replacement for `moment.fn.native`. + +Added `moment.fn.sod` and `moment.fn.eod` to get the start and end of day. + +Various bugfixes. + +### 1.3.0 [See milestone](https://github.com/timrwood/moment/issues?milestone=7&state=closed) + +- Release Jan 5, 2012 + +Added support for parsing month names in the current language. + +Added escape blocks for parsing tokens. + +Added `moment.fn.calendar` to format strings like 'Today 2:30 PM', 'Tomorrow 1:25 AM', and 'Last Sunday 4:30 AM'. + +Added `moment.fn.day` as a setter. + +Various bugfixes + +### 1.2.0 [See milestone](https://github.com/timrwood/moment/issues?milestone=4&state=closed) + +- Release Dec 7, 2011 + +Added timezones to parser and formatter. + +Added `moment.fn.isDST`. + +Added `moment.fn.zone` to get the timezone offset in minutes. + +### 1.1.2 [See milestone](https://github.com/timrwood/moment/issues?milestone=6&state=closed) + +- Release Nov 18, 2011 + +Various bugfixes + +### 1.1.1 [See milestone](https://github.com/timrwood/moment/issues?milestone=5&state=closed) + +- Release Nov 12, 2011 + +Added time specific diffs (months, days, hours, etc) + +### 1.1.0 + +- Release Oct 28, 2011 + +Added `moment.fn.format` localized masks. 'L LL LLL LLLL' [issue 29](https://github.com/timrwood/moment/pull/29) + +Fixed [issue 31](https://github.com/timrwood/moment/pull/31). + +### 1.0.1 + +- Release Oct 18, 2011 + +Added `moment.version` to get the current version. + +Removed `window !== undefined` when checking if module exists to support browserify. [issue 25](https://github.com/timrwood/moment/pull/25) + +### 1.0.0 + +- Release + +Added convenience methods for getting and setting date parts. + +Added better support for `moment.add()`. + +Added better lang support in NodeJS. + +Renamed library from underscore.date to Moment.js + +### 0.6.1 + +- Release Oct 12, 2011 + +Added Portuguese, Italian, and French language support + +### 0.6.0 + +- Release Sep 21, 2011 + +Added _date.lang() support. +Added support for passing multiple formats to try to parse a date. _date("07-10-1986", ["MM-DD-YYYY", "YYYY-MM-DD"]); +Made parse from string and single format 25% faster. + +### 0.5.2 + +- Release Jul 11, 2011 + +Bugfix for [issue 8](https://github.com/timrwood/underscore.date/pull/8) and [issue 9](https://github.com/timrwood/underscore.date/pull/9). + +### 0.5.1 + +- Release Jun 17, 2011 + +Bugfix for [issue 5](https://github.com/timrwood/underscore.date/pull/5). + +### 0.5.0 + +- Release Jun 13, 2011 + +Dropped the redundant `_date.date()` in favor of `_date()`. +Removed `_date.now()`, as it is a duplicate of `_date()` with no parameters. +Removed `_date.isLeapYear(yearNumber)`. Use `_date([yearNumber]).isLeapYear()` instead. +Exposed customization options through the `_date.relativeTime`, `_date.weekdays`, `_date.weekdaysShort`, `_date.months`, `_date.monthsShort`, and `_date.ordinal` variables instead of the `_date.customize()` function. + +### 0.4.1 + +- Release May 9, 2011 + +Added date input formats for input strings. + +### 0.4.0 + +- Release May 9, 2011 + +Added underscore.date to npm. Removed dependencies on underscore. + +### 0.3.2 + +- Release Apr 9, 2011 + +Added `'z'` and `'zz'` to `_.date().format()`. Cleaned up some redundant code to trim off some bytes. + +### 0.3.1 + +- Release Mar 25, 2011 + +Cleaned up the namespace. Moved all date manipulation and display functions to the _.date() object. + +### 0.3.0 + +- Release Mar 25, 2011 + +Switched to the Underscore methodology of not mucking with the native objects' prototypes. +Made chaining possible. + +### 0.2.1 + +- Release + +Changed date names to be a more pseudo standardized 'dddd, MMMM Do YYYY, h:mm:ss a'. +Added `Date.prototype` functions `add`, `subtract`, `isdst`, and `isleapyear`. + +### 0.2.0 + +- Release + +Changed function names to be more concise. +Changed date format from php date format to custom format. + +### 0.1.0 + +- Release + +Initial release + diff --git a/public/bower_components/moment/LICENSE b/public/bower_components/moment/LICENSE new file mode 100644 index 0000000..8618b73 --- /dev/null +++ b/public/bower_components/moment/LICENSE @@ -0,0 +1,22 @@ +Copyright (c) JS Foundation and other contributors + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/public/bower_components/moment/README.md b/public/bower_components/moment/README.md new file mode 100644 index 0000000..a922aea --- /dev/null +++ b/public/bower_components/moment/README.md @@ -0,0 +1,65 @@ +[](https://gitter.im/moment/moment?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + +[![NPM version][npm-version-image]][npm-url] [![NPM downloads][npm-downloads-image]][downloads-url] [![MIT License][license-image]][license-url] [![Build Status][travis-image]][travis-url] +[](https://coveralls.io/r/moment/moment?branch=develop) +[](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fmoment%2Fmoment?ref=badge_shield) +[](https://dependabot.com/compatibility-score.html?dependency-name=moment&package-manager=npm_and_yarn&version-scheme=semver) + +A lightweight JavaScript date library for parsing, validating, manipulating, and formatting dates. + +**[Documentation](http://momentjs.com/docs/)** + +## Port to ECMAScript 6 (version 2.10.0) + +Moment 2.10.0 does not bring any new features, but the code is now written in +ECMAScript 6 modules and placed inside `src/`. Previously `moment.js`, `locale/*.js` and +`test/moment/*.js`, `test/locale/*.js` contained the source of the project. Now +the source is in `src/`, temporary build (ECMAScript 5) files are placed under +`build/umd/` (for running tests during development), and the `moment.js` and +`locale/*.js` files are updated only on release. + +If you want to use a particular revision of the code, make sure to run +`grunt transpile update-index`, so `moment.js` and `locales/*.js` are synced +with `src/*`. We might place that in a commit hook in the future. + +## Upgrading to 2.0.0 + +There are a number of small backwards incompatible changes with version 2.0.0. [See the full descriptions here](https://gist.github.com/timrwood/e72f2eef320ed9e37c51#backwards-incompatible-changes) + + * Changed language ordinal method to return the number + ordinal instead of just the ordinal. + + * Changed two digit year parsing cutoff to match strptime. + + * Removed `moment#sod` and `moment#eod` in favor of `moment#startOf` and `moment#endOf`. + + * Removed `moment.humanizeDuration()` in favor of `moment.duration().humanize()`. + + * Removed the lang data objects from the top level namespace. + + * Duplicate `Date` passed to `moment()` instead of referencing it. + +## [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md) + +## [Contributing](https://github.com/moment/moment/blob/develop/CONTRIBUTING.md) [](https://www.codetriage.com/moment/moment) + +We're looking for co-maintainers! If you want to become a master of time please +write to [ichernev](https://github.com/ichernev). + +In addition to contributing code, you can help to triage issues. This can include reproducing bug reports, or asking for vital information such as version numbers or reproduction instructions. If you would like to start triaging issues, one easy way to get started is to [subscribe to moment/moment on CodeTriage](https://www.codetriage.com/moment/moment). + +## License + +Moment.js is freely distributable under the terms of the [MIT license](https://github.com/moment/moment/blob/develop/LICENSE). + +[](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fmoment%2Fmoment?ref=badge_large) + +[license-image]: http://img.shields.io/badge/license-MIT-blue.svg?style=flat +[license-url]: LICENSE + +[npm-url]: https://npmjs.org/package/moment +[npm-version-image]: http://img.shields.io/npm/v/moment.svg?style=flat +[npm-downloads-image]: http://img.shields.io/npm/dm/moment.svg?style=flat +[downloads-url]: https://npmcharts.com/compare/moment?minimal=true + +[travis-url]: http://travis-ci.org/moment/moment +[travis-image]: http://img.shields.io/travis/moment/moment/develop.svg?style=flat diff --git a/public/bower_components/moment/bower.json b/public/bower_components/moment/bower.json new file mode 100644 index 0000000..6afea16 --- /dev/null +++ b/public/bower_components/moment/bower.json @@ -0,0 +1,26 @@ +{ + "name": "moment", + "license": "MIT", + "main": "moment.js", + "ignore": [ + "**/.*", + "benchmarks", + "bower_components", + "meteor", + "node_modules", + "scripts", + "tasks", + "test", + "component.json", + "composer.json", + "CONTRIBUTING.md", + "ender.js", + "Gruntfile.js", + "Moment.js.nuspec", + "package.js", + "package.json", + "ISSUE_TEMPLATE.md", + "typing-tests", + "min/tests.js" + ] +} diff --git a/public/bower_components/moment/locale/af.js b/public/bower_components/moment/locale/af.js new file mode 100644 index 0000000..0b2bb26 --- /dev/null +++ b/public/bower_components/moment/locale/af.js @@ -0,0 +1,72 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var af = moment.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 (input) { + return /^nm$/i.test(input); + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 12) { + return isLower ? 'vm' : 'VM'; + } else { + return isLower ? '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 (number) { + return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter + }, + week : { + dow : 1, // Maandag is die eerste dag van die week. + doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar. + } + }); + + return af; + +}))); diff --git a/public/bower_components/moment/locale/ar-dz.js b/public/bower_components/moment/locale/ar-dz.js new file mode 100644 index 0000000..e6efd0a --- /dev/null +++ b/public/bower_components/moment/locale/ar-dz.js @@ -0,0 +1,58 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var arDz = moment.defineLocale('ar-dz', { + months : 'جانÙÙŠ_ÙÙŠÙØ±ÙŠ_مارس_Ø£ÙØ±ÙŠÙ„_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), + monthsShort : 'جانÙÙŠ_ÙÙŠÙØ±ÙŠ_مارس_Ø£ÙØ±ÙŠÙ„_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), + weekdays : 'Ø§Ù„Ø£ØØ¯_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort : 'Ø§ØØ¯_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin : 'Ø£Ø_إث_ثلا_أر_خم_جم_سب'.split('_'), + weekdaysParseExact : true, + 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 سنوات' + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return arDz; + +}))); diff --git a/public/bower_components/moment/locale/ar-kw.js b/public/bower_components/moment/locale/ar-kw.js new file mode 100644 index 0000000..6a72e9b --- /dev/null +++ b/public/bower_components/moment/locale/ar-kw.js @@ -0,0 +1,58 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var arKw = moment.defineLocale('ar-kw', { + months : 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), + monthsShort : 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), + weekdays : 'Ø§Ù„Ø£ØØ¯_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort : 'Ø§ØØ¯_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin : 'Ø_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), + weekdaysParseExact : true, + 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 سنوات' + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } + }); + + return arKw; + +}))); diff --git a/public/bower_components/moment/locale/ar-ly.js b/public/bower_components/moment/locale/ar-ly.js new file mode 100644 index 0000000..0df68c8 --- /dev/null +++ b/public/bower_components/moment/locale/ar-ly.js @@ -0,0 +1,121 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var symbolMap = { + '1': '1', + '2': '2', + '3': '3', + '4': '4', + '5': '5', + '6': '6', + '7': '7', + '8': '8', + '9': '9', + '0': '0' + }, pluralForm = function (n) { + return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5; + }, plurals = { + s : ['أقل من ثانية', 'ثانية ÙˆØ§ØØ¯Ø©', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'], + m : ['أقل من دقيقة', 'دقيقة ÙˆØ§ØØ¯Ø©', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'], + h : ['أقل من ساعة', 'ساعة ÙˆØ§ØØ¯Ø©', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'], + d : ['أقل من يوم', 'يوم ÙˆØ§ØØ¯', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'], + M : ['أقل من شهر', 'شهر ÙˆØ§ØØ¯', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'], + y : ['أقل من عام', 'عام ÙˆØ§ØØ¯', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام'] + }, pluralize = function (u) { + return function (number, withoutSuffix, string, isFuture) { + var f = pluralForm(number), + str = plurals[u][pluralForm(number)]; + if (f === 2) { + str = str[withoutSuffix ? 0 : 1]; + } + return str.replace(/%d/i, number); + }; + }, months = [ + 'يناير', + 'ÙØ¨Ø±Ø§ÙŠØ±', + 'مارس', + 'أبريل', + 'مايو', + 'يونيو', + 'يوليو', + 'أغسطس', + 'سبتمبر', + 'أكتوبر', + 'نوÙمبر', + 'ديسمبر' + ]; + + var arLy = moment.defineLocale('ar-ly', { + months : months, + monthsShort : months, + weekdays : 'Ø§Ù„Ø£ØØ¯_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort : 'Ø£ØØ¯_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin : 'Ø_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'D/\u200FM/\u200FYYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY HH:mm', + LLLL : 'dddd D MMMM YYYY HH:mm' + }, + meridiemParse: /ص|Ù…/, + isPM : function (input) { + return 'Ù…' === input; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'ص'; + } else { + return 'Ù…'; + } + }, + calendar : { + sameDay: '[اليوم عند الساعة] LT', + nextDay: '[غدًا عند الساعة] LT', + nextWeek: 'dddd [عند الساعة] LT', + lastDay: '[أمس عند الساعة] LT', + lastWeek: 'dddd [عند الساعة] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'بعد %s', + past : 'منذ %s', + s : pluralize('s'), + ss : pluralize('s'), + m : pluralize('m'), + mm : pluralize('m'), + h : pluralize('h'), + hh : pluralize('h'), + d : pluralize('d'), + dd : pluralize('d'), + M : pluralize('M'), + MM : pluralize('M'), + y : pluralize('y'), + yy : pluralize('y') + }, + preparse: function (string) { + return string.replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }).replace(/,/g, 'ØŒ'); + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } + }); + + return arLy; + +}))); diff --git a/public/bower_components/moment/locale/ar-ma.js b/public/bower_components/moment/locale/ar-ma.js new file mode 100644 index 0000000..42db49a --- /dev/null +++ b/public/bower_components/moment/locale/ar-ma.js @@ -0,0 +1,58 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var arMa = moment.defineLocale('ar-ma', { + months : 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), + monthsShort : 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), + weekdays : 'Ø§Ù„Ø£ØØ¯_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort : 'Ø§ØØ¯_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin : 'Ø_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), + weekdaysParseExact : true, + 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 سنوات' + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } + }); + + return arMa; + +}))); diff --git a/public/bower_components/moment/locale/ar-sa.js b/public/bower_components/moment/locale/ar-sa.js new file mode 100644 index 0000000..1c6d46d --- /dev/null +++ b/public/bower_components/moment/locale/ar-sa.js @@ -0,0 +1,103 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var symbolMap = { + '1': 'Ù¡', + '2': 'Ù¢', + '3': 'Ù£', + '4': 'Ù¤', + '5': 'Ù¥', + '6': 'Ù¦', + '7': 'Ù§', + '8': 'Ù¨', + '9': 'Ù©', + '0': 'Ù ' + }, numberMap = { + 'Ù¡': '1', + 'Ù¢': '2', + 'Ù£': '3', + 'Ù¤': '4', + 'Ù¥': '5', + 'Ù¦': '6', + 'Ù§': '7', + 'Ù¨': '8', + 'Ù©': '9', + 'Ù ': '0' + }; + + var arSa = moment.defineLocale('ar-sa', { + months : 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), + monthsShort : 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), + weekdays : 'Ø§Ù„Ø£ØØ¯_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort : 'Ø£ØØ¯_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin : 'Ø_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), + weekdaysParseExact : true, + 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 (input) { + return 'Ù…' === input; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'ص'; + } else { + return 'Ù…'; + } + }, + 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 (string) { + return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { + return numberMap[match]; + }).replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }).replace(/,/g, 'ØŒ'); + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + return arSa; + +}))); diff --git a/public/bower_components/moment/locale/ar-tn.js b/public/bower_components/moment/locale/ar-tn.js new file mode 100644 index 0000000..8437717 --- /dev/null +++ b/public/bower_components/moment/locale/ar-tn.js @@ -0,0 +1,58 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var arTn = moment.defineLocale('ar-tn', { + months: 'جانÙÙŠ_ÙÙŠÙØ±ÙŠ_مارس_Ø£ÙØ±ÙŠÙ„_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), + monthsShort: 'جانÙÙŠ_ÙÙŠÙØ±ÙŠ_مارس_Ø£ÙØ±ÙŠÙ„_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), + weekdays: 'Ø§Ù„Ø£ØØ¯_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort: 'Ø£ØØ¯_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin: 'Ø_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), + weekdaysParseExact : true, + 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 سنوات' + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return arTn; + +}))); diff --git a/public/bower_components/moment/locale/ar.js b/public/bower_components/moment/locale/ar.js new file mode 100644 index 0000000..1549cc1 --- /dev/null +++ b/public/bower_components/moment/locale/ar.js @@ -0,0 +1,134 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var symbolMap = { + '1': 'Ù¡', + '2': 'Ù¢', + '3': 'Ù£', + '4': 'Ù¤', + '5': 'Ù¥', + '6': 'Ù¦', + '7': 'Ù§', + '8': 'Ù¨', + '9': 'Ù©', + '0': 'Ù ' + }, numberMap = { + 'Ù¡': '1', + 'Ù¢': '2', + 'Ù£': '3', + 'Ù¤': '4', + 'Ù¥': '5', + 'Ù¦': '6', + 'Ù§': '7', + 'Ù¨': '8', + 'Ù©': '9', + 'Ù ': '0' + }, pluralForm = function (n) { + return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5; + }, plurals = { + s : ['أقل من ثانية', 'ثانية ÙˆØ§ØØ¯Ø©', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'], + m : ['أقل من دقيقة', 'دقيقة ÙˆØ§ØØ¯Ø©', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'], + h : ['أقل من ساعة', 'ساعة ÙˆØ§ØØ¯Ø©', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'], + d : ['أقل من يوم', 'يوم ÙˆØ§ØØ¯', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'], + M : ['أقل من شهر', 'شهر ÙˆØ§ØØ¯', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'], + y : ['أقل من عام', 'عام ÙˆØ§ØØ¯', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام'] + }, pluralize = function (u) { + return function (number, withoutSuffix, string, isFuture) { + var f = pluralForm(number), + str = plurals[u][pluralForm(number)]; + if (f === 2) { + str = str[withoutSuffix ? 0 : 1]; + } + return str.replace(/%d/i, number); + }; + }, months = [ + 'يناير', + 'ÙØ¨Ø±Ø§ÙŠØ±', + 'مارس', + 'أبريل', + 'مايو', + 'يونيو', + 'يوليو', + 'أغسطس', + 'سبتمبر', + 'أكتوبر', + 'نوÙمبر', + 'ديسمبر' + ]; + + var ar = moment.defineLocale('ar', { + months : months, + monthsShort : months, + weekdays : 'Ø§Ù„Ø£ØØ¯_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort : 'Ø£ØØ¯_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin : 'Ø_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'D/\u200FM/\u200FYYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY HH:mm', + LLLL : 'dddd D MMMM YYYY HH:mm' + }, + meridiemParse: /ص|Ù…/, + isPM : function (input) { + return 'Ù…' === input; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'ص'; + } else { + return 'Ù…'; + } + }, + calendar : { + sameDay: '[اليوم عند الساعة] LT', + nextDay: '[غدًا عند الساعة] LT', + nextWeek: 'dddd [عند الساعة] LT', + lastDay: '[أمس عند الساعة] LT', + lastWeek: 'dddd [عند الساعة] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'بعد %s', + past : 'منذ %s', + s : pluralize('s'), + ss : pluralize('s'), + m : pluralize('m'), + mm : pluralize('m'), + h : pluralize('h'), + hh : pluralize('h'), + d : pluralize('d'), + dd : pluralize('d'), + M : pluralize('M'), + MM : pluralize('M'), + y : pluralize('y'), + yy : pluralize('y') + }, + preparse: function (string) { + return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { + return numberMap[match]; + }).replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }).replace(/,/g, 'ØŒ'); + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } + }); + + return ar; + +}))); diff --git a/public/bower_components/moment/locale/az.js b/public/bower_components/moment/locale/az.js new file mode 100644 index 0000000..348ddff --- /dev/null +++ b/public/bower_components/moment/locale/az.js @@ -0,0 +1,104 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var suffixes = { + 1: '-inci', + 5: '-inci', + 8: '-inci', + 70: '-inci', + 80: '-inci', + 2: '-nci', + 7: '-nci', + 20: '-nci', + 50: '-nci', + 3: '-üncü', + 4: '-üncü', + 100: '-üncü', + 6: '-ncı', + 9: '-uncu', + 10: '-uncu', + 30: '-uncu', + 60: '-ıncı', + 90: '-ıncı' + }; + + var az = moment.defineLocale('az', { + months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'), + monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'), + weekdays : 'Bazar_Bazar ertÉ™si_ÇərÅŸÉ™nbÉ™ axÅŸamı_ÇərÅŸÉ™nbÉ™_CümÉ™ axÅŸamı_CümÉ™_ŞənbÉ™'.split('_'), + weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'), + weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'), + weekdaysParseExact : true, + 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 : '[bugün saat] LT', + nextDay : '[sabah saat] LT', + nextWeek : '[gÉ™lÉ™n hÉ™ftÉ™] dddd [saat] LT', + lastDay : '[dünÉ™n] LT', + lastWeek : '[keçən hÉ™ftÉ™] dddd [saat] LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s sonra', + past : '%s É™vvÉ™l', + s : 'birneçə saniyÉ™', + ss : '%d saniyÉ™', + m : 'bir dÉ™qiqÉ™', + mm : '%d dÉ™qiqÉ™', + h : 'bir saat', + hh : '%d saat', + d : 'bir gün', + dd : '%d gün', + M : 'bir ay', + MM : '%d ay', + y : 'bir il', + yy : '%d il' + }, + meridiemParse: /gecÉ™|sÉ™hÉ™r|gündüz|axÅŸam/, + isPM : function (input) { + return /^(gündüz|axÅŸam)$/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'gecÉ™'; + } else if (hour < 12) { + return 'sÉ™hÉ™r'; + } else if (hour < 17) { + return 'gündüz'; + } else { + return 'axÅŸam'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/, + ordinal : function (number) { + if (number === 0) { // special case for zero + return number + '-ıncı'; + } + var a = number % 10, + b = number % 100 - a, + c = number >= 100 ? 100 : null; + return number + (suffixes[a] || suffixes[b] || suffixes[c]); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + return az; + +}))); diff --git a/public/bower_components/moment/locale/be.js b/public/bower_components/moment/locale/be.js new file mode 100644 index 0000000..10db1c1 --- /dev/null +++ b/public/bower_components/moment/locale/be.js @@ -0,0 +1,131 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + function plural(word, num) { + var forms = word.split('_'); + return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]); + } + function relativeTimeWithPlural(number, withoutSuffix, key) { + var format = { + 'ss': withoutSuffix ? 'Ñекунда_Ñекунды_Ñекунд' : 'Ñекунду_Ñекунды_Ñекунд', + 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін', + 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін', + 'dd': 'дзень_дні_дзён', + 'MM': 'меÑÑц_меÑÑцы_меÑÑцаў', + 'yy': 'год_гады_гадоў' + }; + if (key === 'm') { + return withoutSuffix ? 'хвіліна' : 'хвіліну'; + } + else if (key === 'h') { + return withoutSuffix ? 'гадзіна' : 'гадзіну'; + } + else { + return number + ' ' + plural(format[key], +number); + } + } + + var be = moment.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 : relativeTimeWithPlural, + mm : relativeTimeWithPlural, + h : relativeTimeWithPlural, + hh : relativeTimeWithPlural, + d : 'дзень', + dd : relativeTimeWithPlural, + M : 'меÑÑц', + MM : relativeTimeWithPlural, + y : 'год', + yy : relativeTimeWithPlural + }, + meridiemParse: /ночы|раніцы|днÑ|вечара/, + isPM : function (input) { + return /^(днÑ|вечара)$/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'ночы'; + } else if (hour < 12) { + return 'раніцы'; + } else if (hour < 17) { + return 'днÑ'; + } else { + return 'вечара'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(Ñ–|Ñ‹|га)/, + ordinal: function (number, period) { + switch (period) { + case 'M': + case 'd': + case 'DDD': + case 'w': + case 'W': + return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-Ñ–' : number + '-Ñ‹'; + case 'D': + return number + '-га'; + default: + return number; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + return be; + +}))); diff --git a/public/bower_components/moment/locale/bg.js b/public/bower_components/moment/locale/bg.js new file mode 100644 index 0000000..c70ba30 --- /dev/null +++ b/public/bower_components/moment/locale/bg.js @@ -0,0 +1,89 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var bg = moment.defineLocale('bg', { + months : 'Ñнуари_февруари_март_април_май_юни_юли_авгуÑÑ‚_Ñептември_октомври_ноември_декември'.split('_'), + monthsShort : 'Ñнр_фев_мар_апр_май_юни_юли_авг_Ñеп_окт_ное_дек'.split('_'), + weekdays : 'неделÑ_понеделник_вторник_ÑÑ€Ñда_четвъртък_петък_Ñъбота'.split('_'), + weekdaysShort : 'нед_пон_вто_ÑÑ€Ñ_чет_пет_Ñъб'.split('_'), + weekdaysMin : 'нд_пн_вт_ÑÑ€_чт_пт_Ñб'.split('_'), + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'D.MM.YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY H:mm', + LLLL : 'dddd, D MMMM YYYY H:mm' + }, + calendar : { + sameDay : '[Ð”Ð½ÐµÑ Ð²] LT', + nextDay : '[Утре в] LT', + nextWeek : 'dddd [в] LT', + lastDay : '[Вчера в] LT', + lastWeek : function () { + switch (this.day()) { + case 0: + case 3: + case 6: + return '[Ð’ изминалата] dddd [в] LT'; + case 1: + case 2: + case 4: + case 5: + return '[Ð’ изминалиÑ] 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 (number) { + var lastDigit = number % 10, + last2Digits = number % 100; + if (number === 0) { + return number + '-ев'; + } else if (last2Digits === 0) { + return number + '-ен'; + } else if (last2Digits > 10 && last2Digits < 20) { + return number + '-ти'; + } else if (lastDigit === 1) { + return number + '-ви'; + } else if (lastDigit === 2) { + return number + '-ри'; + } else if (lastDigit === 7 || lastDigit === 8) { + return number + '-ми'; + } else { + return number + '-ти'; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + return bg; + +}))); diff --git a/public/bower_components/moment/locale/bm.js b/public/bower_components/moment/locale/bm.js new file mode 100644 index 0000000..2bb50f5 --- /dev/null +++ b/public/bower_components/moment/locale/bm.js @@ -0,0 +1,57 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var bm = moment.defineLocale('bm', { + months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_MÉ›kalo_ZuwÉ›nkalo_Zuluyekalo_Utikalo_SÉ›tanburukalo_É”kutÉ”burukalo_Nowanburukalo_Desanburukalo'.split('_'), + monthsShort : 'Zan_Few_Mar_Awi_MÉ›_Zuw_Zul_Uti_SÉ›t_É”ku_Now_Des'.split('_'), + weekdays : 'Kari_NtÉ›nÉ›n_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'), + weekdaysShort : 'Kar_NtÉ›_Tar_Ara_Ala_Jum_Sib'.split('_'), + weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD/MM/YYYY', + LL : 'MMMM [tile] D [san] YYYY', + LLL : 'MMMM [tile] D [san] YYYY [lÉ›rÉ›] HH:mm', + LLLL : 'dddd MMMM [tile] D [san] YYYY [lÉ›rÉ›] HH:mm' + }, + calendar : { + sameDay : '[Bi lÉ›rÉ›] LT', + nextDay : '[Sini lÉ›rÉ›] LT', + nextWeek : 'dddd [don lÉ›rÉ›] LT', + lastDay : '[Kunu lÉ›rÉ›] LT', + lastWeek : 'dddd [tÉ›mÉ›nen lÉ›rÉ›] LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s kÉ”nÉ”', + past : 'a bÉ› %s bÉ”', + s : 'sanga dama dama', + ss : 'sekondi %d', + m : 'miniti kelen', + mm : 'miniti %d', + h : 'lÉ›rÉ› kelen', + hh : 'lÉ›rÉ› %d', + d : 'tile kelen', + dd : 'tile %d', + M : 'kalo kelen', + MM : 'kalo %d', + y : 'san kelen', + yy : 'san %d' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return bm; + +}))); diff --git a/public/bower_components/moment/locale/bn.js b/public/bower_components/moment/locale/bn.js new file mode 100644 index 0000000..8fe7158 --- /dev/null +++ b/public/bower_components/moment/locale/bn.js @@ -0,0 +1,118 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var symbolMap = { + '1': 'à§§', + '2': '২', + '3': 'à§©', + '4': '৪', + '5': 'à§«', + '6': '৬', + '7': 'à§', + '8': 'à§®', + '9': '৯', + '0': '০' + }, + numberMap = { + 'à§§': '1', + '২': '2', + 'à§©': '3', + '৪': '4', + 'à§«': '5', + '৬': '6', + 'à§': '7', + 'à§®': '8', + '৯': '9', + '০': '0' + }; + + var bn = moment.defineLocale('bn', { + months : 'জানà§à§Ÿà¦¾à¦°à§€_ফেবà§à¦°à§à§Ÿà¦¾à¦°à¦¿_মারà§à¦š_à¦à¦ªà§à¦°à¦¿à¦²_মে_জà§à¦¨_জà§à¦²à¦¾à¦‡_আগসà§à¦Ÿ_সেপà§à¦Ÿà§‡à¦®à§à¦¬à¦°_অকà§à¦Ÿà§‹à¦¬à¦°_নà¦à§‡à¦®à§à¦¬à¦°_ডিসেমà§à¦¬à¦°'.split('_'), + monthsShort : 'জানà§_ফেব_মারà§à¦š_à¦à¦ªà§à¦°_মে_জà§à¦¨_জà§à¦²_আগ_সেপà§à¦Ÿ_অকà§à¦Ÿà§‹_নà¦à§‡_ডিসে'.split('_'), + 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 : 'কয়েক সেকেনà§à¦¡', + ss : '%d সেকেনà§à¦¡', + m : 'à¦à¦• মিনিট', + mm : '%d মিনিট', + h : 'à¦à¦• ঘনà§à¦Ÿà¦¾', + hh : '%d ঘনà§à¦Ÿà¦¾', + d : 'à¦à¦• দিন', + dd : '%d দিন', + M : 'à¦à¦• মাস', + MM : '%d মাস', + y : 'à¦à¦• বছর', + yy : '%d বছর' + }, + preparse: function (string) { + return string.replace(/[১২৩৪৫৬à§à§®à§¯à§¦]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + meridiemParse: /রাত|সকাল|দà§à¦ªà§à¦°|বিকাল|রাত/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if ((meridiem === 'রাত' && hour >= 4) || + (meridiem === 'দà§à¦ªà§à¦°' && hour < 5) || + meridiem === 'বিকাল') { + return hour + 12; + } else { + return hour; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'রাত'; + } else if (hour < 10) { + return 'সকাল'; + } else if (hour < 17) { + return 'দà§à¦ªà§à¦°'; + } else if (hour < 20) { + return 'বিকাল'; + } else { + return 'রাত'; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + return bn; + +}))); diff --git a/public/bower_components/moment/locale/bo.js b/public/bower_components/moment/locale/bo.js new file mode 100644 index 0000000..6a98016 --- /dev/null +++ b/public/bower_components/moment/locale/bo.js @@ -0,0 +1,118 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var symbolMap = { + '1': '༡', + '2': '༢', + '3': '༣', + '4': '༤', + '5': '༥', + '6': '༦', + '7': '༧', + '8': '༨', + '9': '༩', + '0': '༠' + }, + numberMap = { + '༡': '1', + '༢': '2', + '༣': '3', + '༤': '4', + '༥': '5', + '༦': '6', + '༧': '7', + '༨': '8', + '༩': '9', + '༠': '0' + }; + + var bo = moment.defineLocale('bo', { + months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'), + monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'), + 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 : '[བདུན་ཕྲག་རྗེས་མ], 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 (string) { + return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if ((meridiem === 'མཚན་མོ' && hour >= 4) || + (meridiem === 'ཉིན་གུང' && hour < 5) || + meridiem === 'དགོང་དག') { + return hour + 12; + } else { + return hour; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'མཚན་མོ'; + } else if (hour < 10) { + return 'ཞོགས་ཀས'; + } else if (hour < 17) { + return 'ཉིན་གུང'; + } else if (hour < 20) { + return 'དགོང་དག'; + } else { + return 'མཚན་མོ'; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + return bo; + +}))); diff --git a/public/bower_components/moment/locale/br.js b/public/bower_components/moment/locale/br.js new file mode 100644 index 0000000..42994ca --- /dev/null +++ b/public/bower_components/moment/locale/br.js @@ -0,0 +1,107 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + function relativeTimeWithMutation(number, withoutSuffix, key) { + var format = { + 'mm': 'munutenn', + 'MM': 'miz', + 'dd': 'devezh' + }; + return number + ' ' + mutation(format[key], number); + } + function specialMutationForYears(number) { + switch (lastNumber(number)) { + case 1: + case 3: + case 4: + case 5: + case 9: + return number + ' bloaz'; + default: + return number + ' vloaz'; + } + } + function lastNumber(number) { + if (number > 9) { + return lastNumber(number % 10); + } + return number; + } + function mutation(text, number) { + if (number === 2) { + return softMutation(text); + } + return text; + } + function softMutation(text) { + var mutationTable = { + 'm': 'v', + 'b': 'v', + 'd': 'z' + }; + if (mutationTable[text.charAt(0)] === undefined) { + return text; + } + return mutationTable[text.charAt(0)] + text.substring(1); + } + + var br = moment.defineLocale('br', { + months : 'Genver_C\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'), + monthsShort : 'Gen_C\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'), + weekdays : 'Sul_Lun_Meurzh_Merc\'her_Yaou_Gwener_Sadorn'.split('_'), + weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'), + weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'h[e]mm A', + LTS : 'h[e]mm:ss A', + L : 'DD/MM/YYYY', + LL : 'D [a viz] MMMM YYYY', + LLL : 'D [a viz] MMMM YYYY h[e]mm A', + LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A' + }, + calendar : { + sameDay : '[Hiziv da] LT', + nextDay : '[Warc\'hoazh da] LT', + nextWeek : 'dddd [da] LT', + lastDay : '[Dec\'h da] LT', + lastWeek : 'dddd [paset da] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'a-benn %s', + past : '%s \'zo', + s : 'un nebeud segondennoù', + ss : '%d eilenn', + m : 'ur vunutenn', + mm : relativeTimeWithMutation, + h : 'un eur', + hh : '%d eur', + d : 'un devezh', + dd : relativeTimeWithMutation, + M : 'ur miz', + MM : relativeTimeWithMutation, + y : 'ur bloaz', + yy : specialMutationForYears + }, + dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/, + ordinal : function (number) { + var output = (number === 1) ? 'añ' : 'vet'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return br; + +}))); diff --git a/public/bower_components/moment/locale/bs.js b/public/bower_components/moment/locale/bs.js new file mode 100644 index 0000000..5e3e428 --- /dev/null +++ b/public/bower_components/moment/locale/bs.js @@ -0,0 +1,150 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + function translate(number, withoutSuffix, key) { + var result = number + ' '; + switch (key) { + case 'ss': + if (number === 1) { + result += 'sekunda'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'sekunde'; + } else { + result += 'sekundi'; + } + return result; + case 'm': + return withoutSuffix ? 'jedna minuta' : 'jedne minute'; + case 'mm': + if (number === 1) { + result += 'minuta'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'minute'; + } else { + result += 'minuta'; + } + return result; + case 'h': + return withoutSuffix ? 'jedan sat' : 'jednog sata'; + case 'hh': + if (number === 1) { + result += 'sat'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'sata'; + } else { + result += 'sati'; + } + return result; + case 'dd': + if (number === 1) { + result += 'dan'; + } else { + result += 'dana'; + } + return result; + case 'MM': + if (number === 1) { + result += 'mjesec'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'mjeseca'; + } else { + result += 'mjeseci'; + } + return result; + case 'yy': + if (number === 1) { + result += 'godina'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'godine'; + } else { + result += 'godina'; + } + return result; + } + } + + var bs = moment.defineLocale('bs', { + months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'), + monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'), + monthsParseExact: true, + weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota'.split('_'), + weekdaysShort : 'ned._pon._uto._sri._Äet._pet._sub.'.split('_'), + weekdaysMin : 'ne_po_ut_sr_Äe_pe_su'.split('_'), + weekdaysParseExact : true, + 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 : '[danas u] LT', + nextDay : '[sutra u] LT', + nextWeek : function () { + switch (this.day()) { + case 0: + return '[u] [nedjelju] [u] LT'; + case 3: + return '[u] [srijedu] [u] LT'; + case 6: + return '[u] [subotu] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[u] dddd [u] LT'; + } + }, + lastDay : '[juÄer u] LT', + lastWeek : function () { + switch (this.day()) { + case 0: + case 3: + return '[proÅ¡lu] dddd [u] LT'; + case 6: + return '[proÅ¡le] [subote] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[proÅ¡li] dddd [u] LT'; + } + }, + sameElse : 'L' + }, + relativeTime : { + future : 'za %s', + past : 'prije %s', + s : 'par sekundi', + ss : translate, + m : translate, + mm : translate, + h : translate, + hh : translate, + d : 'dan', + dd : translate, + M : 'mjesec', + MM : translate, + y : 'godinu', + yy : translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + return bs; + +}))); diff --git a/public/bower_components/moment/locale/ca.js b/public/bower_components/moment/locale/ca.js new file mode 100644 index 0000000..9a823b9 --- /dev/null +++ b/public/bower_components/moment/locale/ca.js @@ -0,0 +1,87 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var ca = moment.defineLocale('ca', { + months : { + standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'), + format: 'de gener_de febrer_de març_d\'abril_de maig_de juny_de juliol_d\'agost_de setembre_d\'octubre_de novembre_de desembre'.split('_'), + isFormat: /D[oD]?(\s)+MMMM/ + }, + monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'), + monthsParseExact : true, + weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'), + weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'), + weekdaysMin : 'dg_dl_dt_dc_dj_dv_ds'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'DD/MM/YYYY', + LL : 'D MMMM [de] YYYY', + ll : 'D MMM YYYY', + LLL : 'D MMMM [de] YYYY [a les] H:mm', + lll : 'D MMM YYYY, H:mm', + LLLL : 'dddd D MMMM [de] YYYY [a les] H:mm', + llll : 'ddd D MMM YYYY, H:mm' + }, + calendar : { + sameDay : function () { + return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; + }, + nextDay : function () { + return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; + }, + nextWeek : function () { + return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; + }, + lastDay : function () { + return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; + }, + lastWeek : function () { + return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; + }, + sameElse : 'L' + }, + relativeTime : { + future : 'd\'aquà %s', + past : 'fa %s', + s : 'uns segons', + ss : '%d segons', + m : 'un minut', + mm : '%d minuts', + h : 'una hora', + hh : '%d hores', + d : 'un dia', + dd : '%d dies', + M : 'un mes', + MM : '%d mesos', + y : 'un any', + yy : '%d anys' + }, + dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/, + ordinal : function (number, period) { + var output = (number === 1) ? 'r' : + (number === 2) ? 'n' : + (number === 3) ? 'r' : + (number === 4) ? 't' : 'è'; + if (period === 'w' || period === 'W') { + output = 'a'; + } + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return ca; + +}))); diff --git a/public/bower_components/moment/locale/cs.js b/public/bower_components/moment/locale/cs.js new file mode 100644 index 0000000..bb9e357 --- /dev/null +++ b/public/bower_components/moment/locale/cs.js @@ -0,0 +1,171 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var months = 'leden_únor_bÅ™ezen_duben_kvÄ›ten_Äerven_Äervenec_srpen_zářÃ_Å™Ãjen_listopad_prosinec'.split('_'), + monthsShort = 'led_úno_bÅ™e_dub_kvÄ›_Ävn_Ävc_srp_zář_Å™Ãj_lis_pro'.split('_'); + + var monthsParse = [/^led/i, /^úno/i, /^bÅ™e/i, /^dub/i, /^kvÄ›/i, /^(Ävn|Äerven$|Äervna)/i, /^(Ävc|Äervenec|Äervence)/i, /^srp/i, /^zář/i, /^Å™Ãj/i, /^lis/i, /^pro/i]; + // NOTE: 'Äerven' is substring of 'Äervenec'; therefore 'Äervenec' must precede 'Äerven' in the regex to be fully matched. + // Otherwise parser matches '1. Äervenec' as '1. Äerven' + 'ec'. + var monthsRegex = /^(leden|únor|bÅ™ezen|duben|kvÄ›ten|Äervenec|Äervence|Äerven|Äervna|srpen|zářÃ|Å™Ãjen|listopad|prosinec|led|úno|bÅ™e|dub|kvÄ›|Ävn|Ävc|srp|zář|Å™Ãj|lis|pro)/i; + + function plural(n) { + return (n > 1) && (n < 5) && (~~(n / 10) !== 1); + } + function translate(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + switch (key) { + case 's': // a few seconds / in a few seconds / a few seconds ago + return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami'; + case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'sekundy' : 'sekund'); + } else { + return result + 'sekundami'; + } + break; + case 'm': // a minute / in a minute / a minute ago + return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou'); + case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'minuty' : 'minut'); + } else { + return result + 'minutami'; + } + break; + case 'h': // an hour / in an hour / an hour ago + return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou'); + case 'hh': // 9 hours / in 9 hours / 9 hours ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'hodiny' : 'hodin'); + } else { + return result + 'hodinami'; + } + break; + case 'd': // a day / in a day / a day ago + return (withoutSuffix || isFuture) ? 'den' : 'dnem'; + case 'dd': // 9 days / in 9 days / 9 days ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'dny' : 'dnÃ'); + } else { + return result + 'dny'; + } + break; + case 'M': // a month / in a month / a month ago + return (withoutSuffix || isFuture) ? 'mÄ›sÃc' : 'mÄ›sÃcem'; + case 'MM': // 9 months / in 9 months / 9 months ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'mÄ›sÃce' : 'mÄ›sÃců'); + } else { + return result + 'mÄ›sÃci'; + } + break; + case 'y': // a year / in a year / a year ago + return (withoutSuffix || isFuture) ? 'rok' : 'rokem'; + case 'yy': // 9 years / in 9 years / 9 years ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'roky' : 'let'); + } else { + return result + 'lety'; + } + break; + } + } + + var cs = moment.defineLocale('cs', { + months : months, + monthsShort : monthsShort, + monthsRegex : monthsRegex, + monthsShortRegex : monthsRegex, + // NOTE: 'Äerven' is substring of 'Äervenec'; therefore 'Äervenec' must precede 'Äerven' in the regex to be fully matched. + // Otherwise parser matches '1. Äervenec' as '1. Äerven' + 'ec'. + monthsStrictRegex : /^(leden|ledna|února|únor|bÅ™ezen|bÅ™ezna|duben|dubna|kvÄ›ten|kvÄ›tna|Äervenec|Äervence|Äerven|Äervna|srpen|srpna|zářÃ|Å™Ãjen|Å™Ãjna|listopadu|listopad|prosinec|prosince)/i, + monthsShortStrictRegex : /^(led|úno|bÅ™e|dub|kvÄ›|Ävn|Ävc|srp|zář|Å™Ãj|lis|pro)/i, + monthsParse : monthsParse, + longMonthsParse : monthsParse, + shortMonthsParse : monthsParse, + weekdays : 'nedÄ›le_pondÄ›lÃ_úterý_stÅ™eda_Ätvrtek_pátek_sobota'.split('_'), + weekdaysShort : 'ne_po_út_st_Ät_pá_so'.split('_'), + weekdaysMin : 'ne_po_út_st_Ät_pá_so'.split('_'), + 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', + l : 'D. M. YYYY' + }, + calendar : { + sameDay: '[dnes v] LT', + nextDay: '[zÃtra v] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[v nedÄ›li v] LT'; + case 1: + case 2: + return '[v] dddd [v] LT'; + case 3: + return '[ve stÅ™edu v] LT'; + case 4: + return '[ve Ätvrtek v] LT'; + case 5: + return '[v pátek v] LT'; + case 6: + return '[v sobotu v] LT'; + } + }, + lastDay: '[vÄera v] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[minulou nedÄ›li v] LT'; + case 1: + case 2: + return '[minulé] dddd [v] LT'; + case 3: + return '[minulou stÅ™edu v] LT'; + case 4: + case 5: + return '[minulý] dddd [v] LT'; + case 6: + return '[minulou sobotu v] LT'; + } + }, + sameElse: 'L' + }, + relativeTime : { + future : 'za %s', + past : 'pÅ™ed %s', + s : translate, + ss : translate, + m : translate, + mm : translate, + h : translate, + hh : translate, + d : translate, + dd : translate, + M : translate, + MM : translate, + y : translate, + yy : translate + }, + dayOfMonthOrdinalParse : /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return cs; + +}))); diff --git a/public/bower_components/moment/locale/cv.js b/public/bower_components/moment/locale/cv.js new file mode 100644 index 0000000..1db1488 --- /dev/null +++ b/public/bower_components/moment/locale/cv.js @@ -0,0 +1,62 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var cv = moment.defineLocale('cv', { + months : 'кӑрлач_нарӑÑ_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'), + monthsShort : 'кӑр_нар_пуш_ака_май_Ò«Ó—Ñ€_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'), + weekdays : 'вырÑарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_Ñрнекун_шӑматкун'.split('_'), + weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_Ñрн_шӑм'.split('_'), + weekdaysMin : 'вр_тн_ыт_юн_кҫ_ÑÑ€_шм'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD-MM-YYYY', + LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]', + LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', + LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm' + }, + calendar : { + sameDay: '[ПаÑн] LT [Ñехетре]', + nextDay: '[Ыран] LT [Ñехетре]', + lastDay: '[Ӗнер] LT [Ñехетре]', + nextWeek: '[ҪитеÑ] dddd LT [Ñехетре]', + lastWeek: '[Иртнӗ] dddd LT [Ñехетре]', + sameElse: 'L' + }, + relativeTime : { + future : function (output) { + var affix = /Ñехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран'; + return output + affix; + }, + 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-мӗш', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + return cv; + +}))); diff --git a/public/bower_components/moment/locale/cy.js b/public/bower_components/moment/locale/cy.js new file mode 100644 index 0000000..84cbd46 --- /dev/null +++ b/public/bower_components/moment/locale/cy.js @@ -0,0 +1,79 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var cy = moment.defineLocale('cy', { + months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'), + monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'), + weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'), + weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'), + weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'), + weekdaysParseExact : true, + // time formats are the same as en-gb + 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: '[Heddiw am] LT', + nextDay: '[Yfory am] LT', + nextWeek: 'dddd [am] LT', + lastDay: '[Ddoe am] LT', + lastWeek: 'dddd [diwethaf am] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'mewn %s', + past: '%s yn ôl', + s: 'ychydig eiliadau', + ss: '%d eiliad', + m: 'munud', + mm: '%d munud', + h: 'awr', + hh: '%d awr', + d: 'diwrnod', + dd: '%d diwrnod', + M: 'mis', + MM: '%d mis', + y: 'blwyddyn', + yy: '%d flynedd' + }, + dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/, + // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh + ordinal: function (number) { + var b = number, + output = '', + lookup = [ + '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed + 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed + ]; + if (b > 20) { + if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) { + output = 'fed'; // not 30ain, 70ain or 90ain + } else { + output = 'ain'; + } + } else if (b > 0) { + output = lookup[b]; + } + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return cy; + +}))); diff --git a/public/bower_components/moment/locale/da.js b/public/bower_components/moment/locale/da.js new file mode 100644 index 0000000..22a1a5b --- /dev/null +++ b/public/bower_components/moment/locale/da.js @@ -0,0 +1,59 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var da = moment.defineLocale('da', { + months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'), + monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), + weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), + weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'), + weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.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.] D. MMMM YYYY [kl.] HH:mm' + }, + calendar : { + sameDay : '[i dag kl.] LT', + nextDay : '[i morgen kl.] LT', + nextWeek : 'pÃ¥ dddd [kl.] LT', + lastDay : '[i gÃ¥r kl.] LT', + lastWeek : '[i] dddd[s kl.] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'om %s', + past : '%s siden', + s : 'fÃ¥ sekunder', + ss : '%d sekunder', + m : 'et minut', + mm : '%d minutter', + h : 'en time', + hh : '%d timer', + d : 'en dag', + dd : '%d dage', + M : 'en mÃ¥ned', + MM : '%d mÃ¥neder', + y : 'et Ã¥r', + yy : '%d Ã¥r' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return da; + +}))); diff --git a/public/bower_components/moment/locale/de-at.js b/public/bower_components/moment/locale/de-at.js new file mode 100644 index 0000000..e3ac47b --- /dev/null +++ b/public/bower_components/moment/locale/de-at.js @@ -0,0 +1,75 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + 'm': ['eine Minute', 'einer Minute'], + 'h': ['eine Stunde', 'einer Stunde'], + 'd': ['ein Tag', 'einem Tag'], + 'dd': [number + ' Tage', number + ' Tagen'], + 'M': ['ein Monat', 'einem Monat'], + 'MM': [number + ' Monate', number + ' Monaten'], + 'y': ['ein Jahr', 'einem Jahr'], + 'yy': [number + ' Jahre', number + ' Jahren'] + }; + return withoutSuffix ? format[key][0] : format[key][1]; + } + + var deAt = moment.defineLocale('de-at', { + months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), + monthsShort : 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), + monthsParseExact : true, + weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), + weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), + weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), + weekdaysParseExact : true, + 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: '[heute um] LT [Uhr]', + sameElse: 'L', + nextDay: '[morgen um] LT [Uhr]', + nextWeek: 'dddd [um] LT [Uhr]', + lastDay: '[gestern um] LT [Uhr]', + lastWeek: '[letzten] dddd [um] LT [Uhr]' + }, + relativeTime : { + future : 'in %s', + past : 'vor %s', + s : 'ein paar Sekunden', + ss : '%d Sekunden', + m : processRelativeTime, + mm : '%d Minuten', + h : processRelativeTime, + hh : '%d Stunden', + d : processRelativeTime, + dd : processRelativeTime, + M : processRelativeTime, + MM : processRelativeTime, + y : processRelativeTime, + yy : processRelativeTime + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return deAt; + +}))); diff --git a/public/bower_components/moment/locale/de-ch.js b/public/bower_components/moment/locale/de-ch.js new file mode 100644 index 0000000..2676afb --- /dev/null +++ b/public/bower_components/moment/locale/de-ch.js @@ -0,0 +1,75 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + 'm': ['eine Minute', 'einer Minute'], + 'h': ['eine Stunde', 'einer Stunde'], + 'd': ['ein Tag', 'einem Tag'], + 'dd': [number + ' Tage', number + ' Tagen'], + 'M': ['ein Monat', 'einem Monat'], + 'MM': [number + ' Monate', number + ' Monaten'], + 'y': ['ein Jahr', 'einem Jahr'], + 'yy': [number + ' Jahre', number + ' Jahren'] + }; + return withoutSuffix ? format[key][0] : format[key][1]; + } + + var deCh = moment.defineLocale('de-ch', { + months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), + monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), + monthsParseExact : true, + weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), + weekdaysShort : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), + weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), + weekdaysParseExact : true, + 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: '[heute um] LT [Uhr]', + sameElse: 'L', + nextDay: '[morgen um] LT [Uhr]', + nextWeek: 'dddd [um] LT [Uhr]', + lastDay: '[gestern um] LT [Uhr]', + lastWeek: '[letzten] dddd [um] LT [Uhr]' + }, + relativeTime : { + future : 'in %s', + past : 'vor %s', + s : 'ein paar Sekunden', + ss : '%d Sekunden', + m : processRelativeTime, + mm : '%d Minuten', + h : processRelativeTime, + hh : '%d Stunden', + d : processRelativeTime, + dd : processRelativeTime, + M : processRelativeTime, + MM : processRelativeTime, + y : processRelativeTime, + yy : processRelativeTime + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return deCh; + +}))); diff --git a/public/bower_components/moment/locale/de.js b/public/bower_components/moment/locale/de.js new file mode 100644 index 0000000..d5c084a --- /dev/null +++ b/public/bower_components/moment/locale/de.js @@ -0,0 +1,75 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + 'm': ['eine Minute', 'einer Minute'], + 'h': ['eine Stunde', 'einer Stunde'], + 'd': ['ein Tag', 'einem Tag'], + 'dd': [number + ' Tage', number + ' Tagen'], + 'M': ['ein Monat', 'einem Monat'], + 'MM': [number + ' Monate', number + ' Monaten'], + 'y': ['ein Jahr', 'einem Jahr'], + 'yy': [number + ' Jahre', number + ' Jahren'] + }; + return withoutSuffix ? format[key][0] : format[key][1]; + } + + var de = moment.defineLocale('de', { + months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), + monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), + monthsParseExact : true, + weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), + weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), + weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), + weekdaysParseExact : true, + 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: '[heute um] LT [Uhr]', + sameElse: 'L', + nextDay: '[morgen um] LT [Uhr]', + nextWeek: 'dddd [um] LT [Uhr]', + lastDay: '[gestern um] LT [Uhr]', + lastWeek: '[letzten] dddd [um] LT [Uhr]' + }, + relativeTime : { + future : 'in %s', + past : 'vor %s', + s : 'ein paar Sekunden', + ss : '%d Sekunden', + m : processRelativeTime, + mm : '%d Minuten', + h : processRelativeTime, + hh : '%d Stunden', + d : processRelativeTime, + dd : processRelativeTime, + M : processRelativeTime, + MM : processRelativeTime, + y : processRelativeTime, + yy : processRelativeTime + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return de; + +}))); diff --git a/public/bower_components/moment/locale/dv.js b/public/bower_components/moment/locale/dv.js new file mode 100644 index 0000000..8729b02 --- /dev/null +++ b/public/bower_components/moment/locale/dv.js @@ -0,0 +1,98 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var months = [ + 'Þ–Þ¬Þ‚ÞªÞ‡Þ¦ÞƒÞ©', + 'ÞŠÞ¬Þ„Þ°ÞƒÞªÞ‡Þ¦ÞƒÞ©', + 'Þ‰Þ§ÞƒÞ¨Þ—Þª', + 'Þ‡ÞÞ•Þ°ÞƒÞ©ÞÞª', + 'Þ‰Þ', + 'Þ–Þ«Þ‚Þ°', + 'Þ–ÞªÞÞ¦Þ‡Þ¨', + 'Þ‡Þ¯ÞŽÞ¦ÞÞ°Þ“Þª', + 'ÞÞ¬Þ•Þ°Þ“Þ¬Þ‰Þ°Þ„Þ¦ÞƒÞª', + 'Þ‡Þ®Þ†Þ°Þ“Þ¯Þ„Þ¦ÞƒÞª', + 'Þ‚Þ®ÞˆÞ¬Þ‰Þ°Þ„Þ¦ÞƒÞª', + 'Þ‘Þ¨ÞÞ¬Þ‰Þ°Þ„Þ¦ÞƒÞª' + ], weekdays = [ + 'އާދިއްތަ', + 'Þ€Þ¯Þ‰Þ¦', + 'Þ‡Þ¦Þ‚Þ°ÞŽÞ§ÞƒÞ¦', + 'Þ„ÞªÞ‹Þ¦', + 'Þ„ÞªÞƒÞ§Þްފަތި', + 'Þ€ÞªÞ†ÞªÞƒÞª', + 'Þ€Þ®Þ‚Þ¨Þ€Þ¨ÞƒÞª' + ]; + + var dv = moment.defineLocale('dv', { + months : months, + monthsShort : months, + weekdays : weekdays, + weekdaysShort : weekdays, + weekdaysMin : 'Þ‡Þ§Þ‹Þ¨_Þ€Þ¯Þ‰Þ¦_Þ‡Þ¦Þ‚Þ°_Þ„ÞªÞ‹Þ¦_Þ„ÞªÞƒÞ§_Þ€ÞªÞ†Þª_Þ€Þ®Þ‚Þ¨'.split('_'), + 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 (input) { + return 'Þ‰ÞŠ' === input; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'Þ‰Þ†'; + } else { + return 'Þ‰ÞŠ'; + } + }, + 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 (string) { + return string.replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/,/g, 'ØŒ'); + }, + week : { + dow : 7, // Sunday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } + }); + + return dv; + +}))); diff --git a/public/bower_components/moment/locale/el.js b/public/bower_components/moment/locale/el.js new file mode 100644 index 0000000..f01fa77 --- /dev/null +++ b/public/bower_components/moment/locale/el.js @@ -0,0 +1,99 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + function isFunction(input) { + return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]'; + } + + + var el = moment.defineLocale('el', { + monthsNominativeEl : 'ΙανουάÏιος_ΦεβÏουάÏιος_ΜάÏτιος_ΑπÏίλιος_Μάιος_ΙοÏνιος_ΙοÏλιος_ΑÏγουστος_ΣεπτÎμβÏιος_ΟκτώβÏιος_ÎοÎμβÏιος_ΔεκÎμβÏιος'.split('_'), + monthsGenitiveEl : 'ΙανουαÏίου_ΦεβÏουαÏίου_ΜαÏτίου_ΑπÏιλίου_ΜαÎου_Ιουνίου_Ιουλίου_ΑυγοÏστου_ΣεπτεμβÏίου_ΟκτωβÏίου_ÎοεμβÏίου_ΔεκεμβÏίου'.split('_'), + months : function (momentToFormat, format) { + if (!momentToFormat) { + return this._monthsNominativeEl; + } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM' + return this._monthsGenitiveEl[momentToFormat.month()]; + } else { + return this._monthsNominativeEl[momentToFormat.month()]; + } + }, + monthsShort : 'Ιαν_Φεβ_ΜαÏ_ΑπÏ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Îοε_Δεκ'.split('_'), + weekdays : 'ΚυÏιακή_ΔευτÎÏα_ΤÏίτη_ΤετάÏτη_Î Îμπτη_ΠαÏασκευή_Σάββατο'.split('_'), + weekdaysShort : 'ΚυÏ_Δευ_ΤÏι_Τετ_Πεμ_ΠαÏ_Σαβ'.split('_'), + weekdaysMin : 'Κυ_Δε_ΤÏ_Τε_Πε_Πα_Σα'.split('_'), + meridiem : function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'μμ' : 'ΜΜ'; + } else { + return isLower ? 'πμ' : 'ΠΜ'; + } + }, + isPM : function (input) { + return ((input + '').toLowerCase()[0] === 'μ'); + }, + meridiemParse : /[ΠΜ]\.?Μ?\.?/i, + 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' + }, + calendarEl : { + sameDay : '[ΣήμεÏα {}] LT', + nextDay : '[ΑÏÏιο {}] LT', + nextWeek : 'dddd [{}] LT', + lastDay : '[Χθες {}] LT', + lastWeek : function () { + switch (this.day()) { + case 6: + return '[το Ï€ÏοηγοÏμενο] dddd [{}] LT'; + default: + return '[την Ï€ÏοηγοÏμενη] dddd [{}] LT'; + } + }, + sameElse : 'L' + }, + calendar : function (key, mom) { + var output = this._calendarEl[key], + hours = mom && mom.hours(); + if (isFunction(output)) { + output = output.apply(mom); + } + return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις')); + }, + 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η', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4st is the first week of the year. + } + }); + + return el; + +}))); diff --git a/public/bower_components/moment/locale/en-SG.js b/public/bower_components/moment/locale/en-SG.js new file mode 100644 index 0000000..4c69f11 --- /dev/null +++ b/public/bower_components/moment/locale/en-SG.js @@ -0,0 +1,66 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var enSG = moment.defineLocale('en-SG', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.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 : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return enSG; + +}))); diff --git a/public/bower_components/moment/locale/en-au.js b/public/bower_components/moment/locale/en-au.js new file mode 100644 index 0000000..3720237 --- /dev/null +++ b/public/bower_components/moment/locale/en-au.js @@ -0,0 +1,66 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var enAu = moment.defineLocale('en-au', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + 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 : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return enAu; + +}))); diff --git a/public/bower_components/moment/locale/en-ca.js b/public/bower_components/moment/locale/en-ca.js new file mode 100644 index 0000000..5d0dab0 --- /dev/null +++ b/public/bower_components/moment/locale/en-ca.js @@ -0,0 +1,62 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var enCa = moment.defineLocale('en-ca', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + longDateFormat : { + LT : 'h:mm A', + LTS : 'h:mm:ss A', + L : 'YYYY-MM-DD', + LL : 'MMMM D, YYYY', + LLL : 'MMMM D, YYYY h:mm A', + LLLL : 'dddd, MMMM D, YYYY h:mm A' + }, + calendar : { + sameDay : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + } + }); + + return enCa; + +}))); diff --git a/public/bower_components/moment/locale/en-gb.js b/public/bower_components/moment/locale/en-gb.js new file mode 100644 index 0000000..85302e5 --- /dev/null +++ b/public/bower_components/moment/locale/en-gb.js @@ -0,0 +1,66 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var enGb = moment.defineLocale('en-gb', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.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 : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return enGb; + +}))); diff --git a/public/bower_components/moment/locale/en-ie.js b/public/bower_components/moment/locale/en-ie.js new file mode 100644 index 0000000..de0984c --- /dev/null +++ b/public/bower_components/moment/locale/en-ie.js @@ -0,0 +1,66 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var enIe = moment.defineLocale('en-ie', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.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 : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return enIe; + +}))); diff --git a/public/bower_components/moment/locale/en-il.js b/public/bower_components/moment/locale/en-il.js new file mode 100644 index 0000000..b18eab8 --- /dev/null +++ b/public/bower_components/moment/locale/en-il.js @@ -0,0 +1,61 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var enIl = moment.defineLocale('en-il', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.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 : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + } + }); + + return enIl; + +}))); diff --git a/public/bower_components/moment/locale/en-nz.js b/public/bower_components/moment/locale/en-nz.js new file mode 100644 index 0000000..f4325d4 --- /dev/null +++ b/public/bower_components/moment/locale/en-nz.js @@ -0,0 +1,66 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var enNz = moment.defineLocale('en-nz', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + 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 : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return enNz; + +}))); diff --git a/public/bower_components/moment/locale/eo.js b/public/bower_components/moment/locale/eo.js new file mode 100644 index 0000000..283ebed --- /dev/null +++ b/public/bower_components/moment/locale/eo.js @@ -0,0 +1,70 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var eo = moment.defineLocale('eo', { + months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aÅgusto_septembro_oktobro_novembro_decembro'.split('_'), + monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aÅg_sep_okt_nov_dec'.split('_'), + weekdays : 'dimanĉo_lundo_mardo_merkredo_ĵaÅdo_vendredo_sabato'.split('_'), + weekdaysShort : 'dim_lun_mard_merk_ĵaÅ_ven_sab'.split('_'), + weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY-MM-DD', + LL : 'D[-a de] MMMM, YYYY', + LLL : 'D[-a de] MMMM, YYYY HH:mm', + LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm' + }, + meridiemParse: /[ap]\.t\.m/i, + isPM: function (input) { + return input.charAt(0).toLowerCase() === 'p'; + }, + meridiem : function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'p.t.m.' : 'P.T.M.'; + } else { + return isLower ? 'a.t.m.' : 'A.T.M.'; + } + }, + calendar : { + sameDay : '[HodiaÅ je] LT', + nextDay : '[MorgaÅ je] LT', + nextWeek : 'dddd [je] LT', + lastDay : '[HieraÅ je] LT', + lastWeek : '[pasinta] dddd [je] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'post %s', + past : 'antaÅ %s', + s : 'sekundoj', + ss : '%d sekundoj', + m : 'minuto', + mm : '%d minutoj', + h : 'horo', + hh : '%d horoj', + d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo + dd : '%d tagoj', + M : 'monato', + MM : '%d monatoj', + y : 'jaro', + yy : '%d jaroj' + }, + dayOfMonthOrdinalParse: /\d{1,2}a/, + ordinal : '%da', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + return eo; + +}))); diff --git a/public/bower_components/moment/locale/es-do.js b/public/bower_components/moment/locale/es-do.js new file mode 100644 index 0000000..829c2de --- /dev/null +++ b/public/bower_components/moment/locale/es-do.js @@ -0,0 +1,91 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'), + monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'); + + var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i]; + var monthsRegex = /^(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; + + var esDo = moment.defineLocale('es-do', { + months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), + monthsShort : function (m, format) { + if (!m) { + return monthsShortDot; + } else if (/-MMM-/.test(format)) { + return monthsShort[m.month()]; + } else { + return monthsShortDot[m.month()]; + } + }, + monthsRegex: monthsRegex, + monthsShortRegex: monthsRegex, + 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: monthsParse, + longMonthsParse: monthsParse, + shortMonthsParse: monthsParse, + 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 : true, + 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' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + nextDay : function () { + return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + nextWeek : function () { + return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + lastDay : function () { + return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + lastWeek : function () { + return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? '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, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return esDo; + +}))); diff --git a/public/bower_components/moment/locale/es-us.js b/public/bower_components/moment/locale/es-us.js new file mode 100644 index 0000000..8e07d07 --- /dev/null +++ b/public/bower_components/moment/locale/es-us.js @@ -0,0 +1,91 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'), + monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'); + + var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i]; + var monthsRegex = /^(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; + + var esUs = moment.defineLocale('es-us', { + months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), + monthsShort : function (m, format) { + if (!m) { + return monthsShortDot; + } else if (/-MMM-/.test(format)) { + return monthsShort[m.month()]; + } else { + return monthsShortDot[m.month()]; + } + }, + monthsRegex: monthsRegex, + monthsShortRegex: monthsRegex, + 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: monthsParse, + longMonthsParse: monthsParse, + shortMonthsParse: monthsParse, + 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 : true, + longDateFormat : { + LT : 'h:mm A', + LTS : 'h:mm:ss A', + L : 'MM/DD/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' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + nextDay : function () { + return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + nextWeek : function () { + return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + lastDay : function () { + return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + lastWeek : function () { + return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? '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 : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + return esUs; + +}))); diff --git a/public/bower_components/moment/locale/es.js b/public/bower_components/moment/locale/es.js new file mode 100644 index 0000000..aed6802 --- /dev/null +++ b/public/bower_components/moment/locale/es.js @@ -0,0 +1,91 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'), + monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'); + + var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i]; + var monthsRegex = /^(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; + + var es = moment.defineLocale('es', { + months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), + monthsShort : function (m, format) { + if (!m) { + return monthsShortDot; + } else if (/-MMM-/.test(format)) { + return monthsShort[m.month()]; + } else { + return monthsShortDot[m.month()]; + } + }, + monthsRegex : monthsRegex, + monthsShortRegex : monthsRegex, + 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 : monthsParse, + longMonthsParse : monthsParse, + shortMonthsParse : monthsParse, + 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 : true, + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'DD/MM/YYYY', + LL : 'D [de] MMMM [de] YYYY', + LLL : 'D [de] MMMM [de] YYYY H:mm', + LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm' + }, + calendar : { + sameDay : function () { + return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + nextDay : function () { + return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + nextWeek : function () { + return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + lastDay : function () { + return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + lastWeek : function () { + return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? '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, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return es; + +}))); diff --git a/public/bower_components/moment/locale/et.js b/public/bower_components/moment/locale/et.js new file mode 100644 index 0000000..8a81b04 --- /dev/null +++ b/public/bower_components/moment/locale/et.js @@ -0,0 +1,79 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + 's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'], + 'ss': [number + 'sekundi', number + 'sekundit'], + 'm' : ['ühe minuti', 'üks minut'], + 'mm': [number + ' minuti', number + ' minutit'], + 'h' : ['ühe tunni', 'tund aega', 'üks tund'], + 'hh': [number + ' tunni', number + ' tundi'], + 'd' : ['ühe päeva', 'üks päev'], + 'M' : ['kuu aja', 'kuu aega', 'üks kuu'], + 'MM': [number + ' kuu', number + ' kuud'], + 'y' : ['ühe aasta', 'aasta', 'üks aasta'], + 'yy': [number + ' aasta', number + ' aastat'] + }; + if (withoutSuffix) { + return format[key][2] ? format[key][2] : format[key][1]; + } + return isFuture ? format[key][0] : format[key][1]; + } + + var et = moment.defineLocale('et', { + months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'), + monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'), + weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'), + weekdaysShort : 'P_E_T_K_N_R_L'.split('_'), + weekdaysMin : 'P_E_T_K_N_R_L'.split('_'), + 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 : '[Täna,] LT', + nextDay : '[Homme,] LT', + nextWeek : '[Järgmine] dddd LT', + lastDay : '[Eile,] LT', + lastWeek : '[Eelmine] dddd LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s pärast', + past : '%s tagasi', + s : processRelativeTime, + ss : processRelativeTime, + m : processRelativeTime, + mm : processRelativeTime, + h : processRelativeTime, + hh : processRelativeTime, + d : processRelativeTime, + dd : '%d päeva', + M : processRelativeTime, + MM : processRelativeTime, + y : processRelativeTime, + yy : processRelativeTime + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return et; + +}))); diff --git a/public/bower_components/moment/locale/eu.js b/public/bower_components/moment/locale/eu.js new file mode 100644 index 0000000..2c7781b --- /dev/null +++ b/public/bower_components/moment/locale/eu.js @@ -0,0 +1,65 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var eu = moment.defineLocale('eu', { + months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'), + monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'), + monthsParseExact : true, + weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'), + weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'), + weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY-MM-DD', + LL : 'YYYY[ko] MMMM[ren] D[a]', + LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm', + LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm', + l : 'YYYY-M-D', + ll : 'YYYY[ko] MMM D[a]', + lll : 'YYYY[ko] MMM D[a] HH:mm', + llll : 'ddd, YYYY[ko] MMM D[a] HH:mm' + }, + calendar : { + sameDay : '[gaur] LT[etan]', + nextDay : '[bihar] LT[etan]', + nextWeek : 'dddd LT[etan]', + lastDay : '[atzo] LT[etan]', + lastWeek : '[aurreko] dddd LT[etan]', + sameElse : 'L' + }, + relativeTime : { + future : '%s barru', + past : 'duela %s', + s : 'segundo batzuk', + ss : '%d segundo', + m : 'minutu bat', + mm : '%d minutu', + h : 'ordu bat', + hh : '%d ordu', + d : 'egun bat', + dd : '%d egun', + M : 'hilabete bat', + MM : '%d hilabete', + y : 'urte bat', + yy : '%d urte' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + return eu; + +}))); diff --git a/public/bower_components/moment/locale/fa.js b/public/bower_components/moment/locale/fa.js new file mode 100644 index 0000000..e84f7ca --- /dev/null +++ b/public/bower_components/moment/locale/fa.js @@ -0,0 +1,105 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var symbolMap = { + '1': 'Û±', + '2': 'Û²', + '3': 'Û³', + '4': 'Û´', + '5': 'Ûµ', + '6': 'Û¶', + '7': 'Û·', + '8': 'Û¸', + '9': 'Û¹', + '0': 'Û°' + }, numberMap = { + 'Û±': '1', + 'Û²': '2', + 'Û³': '3', + 'Û´': '4', + 'Ûµ': '5', + 'Û¶': '6', + 'Û·': '7', + 'Û¸': '8', + 'Û¹': '9', + 'Û°': '0' + }; + + var fa = moment.defineLocale('fa', { + months : 'ژانویه_Ùوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'), + monthsShort : 'ژانویه_Ùوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'), + weekdays : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'), + weekdaysShort : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'), + weekdaysMin : 'ÛŒ_د_س_Ú†_Ù¾_ج_Ø´'.split('_'), + weekdaysParseExact : true, + 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 (input) { + return /بعد از ظهر/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'قبل از ظهر'; + } else { + return 'بعد از ظهر'; + } + }, + 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 (string) { + return string.replace(/[Û°-Û¹]/g, function (match) { + return numberMap[match]; + }).replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }).replace(/,/g, 'ØŒ'); + }, + dayOfMonthOrdinalParse: /\d{1,2}Ù…/, + ordinal : '%dÙ…', + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } + }); + + return fa; + +}))); diff --git a/public/bower_components/moment/locale/fi.js b/public/bower_components/moment/locale/fi.js new file mode 100644 index 0000000..b011599 --- /dev/null +++ b/public/bower_components/moment/locale/fi.js @@ -0,0 +1,108 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '), + numbersFuture = [ + 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden', + numbersPast[7], numbersPast[8], numbersPast[9] + ]; + function translate(number, withoutSuffix, key, isFuture) { + var result = ''; + switch (key) { + case 's': + return isFuture ? 'muutaman sekunnin' : 'muutama sekunti'; + case 'ss': + return isFuture ? 'sekunnin' : 'sekuntia'; + case 'm': + return isFuture ? 'minuutin' : 'minuutti'; + case 'mm': + result = isFuture ? 'minuutin' : 'minuuttia'; + break; + case 'h': + return isFuture ? 'tunnin' : 'tunti'; + case 'hh': + result = isFuture ? 'tunnin' : 'tuntia'; + break; + case 'd': + return isFuture ? 'päivän' : 'päivä'; + case 'dd': + result = isFuture ? 'päivän' : 'päivää'; + break; + case 'M': + return isFuture ? 'kuukauden' : 'kuukausi'; + case 'MM': + result = isFuture ? 'kuukauden' : 'kuukautta'; + break; + case 'y': + return isFuture ? 'vuoden' : 'vuosi'; + case 'yy': + result = isFuture ? 'vuoden' : 'vuotta'; + break; + } + result = verbalNumber(number, isFuture) + ' ' + result; + return result; + } + function verbalNumber(number, isFuture) { + return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number; + } + + var fi = moment.defineLocale('fi', { + months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'), + monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'), + weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'), + weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'), + weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'), + longDateFormat : { + LT : 'HH.mm', + LTS : 'HH.mm.ss', + L : 'DD.MM.YYYY', + LL : 'Do MMMM[ta] YYYY', + LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm', + LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm', + l : 'D.M.YYYY', + ll : 'Do MMM YYYY', + lll : 'Do MMM YYYY, [klo] HH.mm', + llll : 'ddd, Do MMM YYYY, [klo] HH.mm' + }, + calendar : { + sameDay : '[tänään] [klo] LT', + nextDay : '[huomenna] [klo] LT', + nextWeek : 'dddd [klo] LT', + lastDay : '[eilen] [klo] LT', + lastWeek : '[viime] dddd[na] [klo] LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s päästä', + past : '%s sitten', + s : translate, + ss : translate, + m : translate, + mm : translate, + h : translate, + hh : translate, + d : translate, + dd : translate, + M : translate, + MM : translate, + y : translate, + yy : translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return fi; + +}))); diff --git a/public/bower_components/moment/locale/fo.js b/public/bower_components/moment/locale/fo.js new file mode 100644 index 0000000..8e81cfe --- /dev/null +++ b/public/bower_components/moment/locale/fo.js @@ -0,0 +1,59 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var fo = moment.defineLocale('fo', { + months : 'januar_februar_mars_aprÃl_mai_juni_juli_august_september_oktober_november_desember'.split('_'), + monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), + weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_frÃggjadagur_leygardagur'.split('_'), + weekdaysShort : 'sun_mán_týs_mik_hós_frÃ_ley'.split('_'), + weekdaysMin : 'su_má_tý_mi_hó_fr_le'.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 : '[à dag kl.] LT', + nextDay : '[à morgin kl.] LT', + nextWeek : 'dddd [kl.] LT', + lastDay : '[à gjár kl.] LT', + lastWeek : '[sÃðstu] dddd [kl] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'um %s', + past : '%s sÃðani', + s : 'fá sekund', + ss : '%d sekundir', + m : 'ein minuttur', + mm : '%d minuttir', + h : 'ein tÃmi', + hh : '%d tÃmar', + d : 'ein dagur', + dd : '%d dagar', + M : 'ein mánaður', + MM : '%d mánaðir', + y : 'eitt ár', + yy : '%d ár' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return fo; + +}))); diff --git a/public/bower_components/moment/locale/fr-ca.js b/public/bower_components/moment/locale/fr-ca.js new file mode 100644 index 0000000..ad1f77d --- /dev/null +++ b/public/bower_components/moment/locale/fr-ca.js @@ -0,0 +1,73 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var frCa = moment.defineLocale('fr-ca', { + months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), + monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), + monthsParseExact : true, + weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), + weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), + weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY-MM-DD', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY HH:mm', + LLLL : 'dddd D MMMM YYYY HH:mm' + }, + calendar : { + sameDay : '[Aujourd’hui à ] LT', + nextDay : '[Demain à ] LT', + nextWeek : 'dddd [à ] LT', + lastDay : '[Hier à ] LT', + lastWeek : 'dddd [dernier à ] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'dans %s', + past : 'il y a %s', + s : 'quelques secondes', + ss : '%d secondes', + m : 'une minute', + mm : '%d minutes', + h : 'une heure', + hh : '%d heures', + d : 'un jour', + dd : '%d jours', + M : 'un mois', + MM : '%d mois', + y : 'un an', + yy : '%d ans' + }, + dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, + ordinal : function (number, period) { + switch (period) { + // Words with masculine grammatical gender: mois, trimestre, jour + default: + case 'M': + case 'Q': + case 'D': + case 'DDD': + case 'd': + return number + (number === 1 ? 'er' : 'e'); + + // Words with feminine grammatical gender: semaine + case 'w': + case 'W': + return number + (number === 1 ? 're' : 'e'); + } + } + }); + + return frCa; + +}))); diff --git a/public/bower_components/moment/locale/fr-ch.js b/public/bower_components/moment/locale/fr-ch.js new file mode 100644 index 0000000..54033d1 --- /dev/null +++ b/public/bower_components/moment/locale/fr-ch.js @@ -0,0 +1,77 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var frCh = moment.defineLocale('fr-ch', { + months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), + monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), + monthsParseExact : true, + weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), + weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), + weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'), + weekdaysParseExact : true, + 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 : '[Aujourd’hui à ] LT', + nextDay : '[Demain à ] LT', + nextWeek : 'dddd [à ] LT', + lastDay : '[Hier à ] LT', + lastWeek : 'dddd [dernier à ] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'dans %s', + past : 'il y a %s', + s : 'quelques secondes', + ss : '%d secondes', + m : 'une minute', + mm : '%d minutes', + h : 'une heure', + hh : '%d heures', + d : 'un jour', + dd : '%d jours', + M : 'un mois', + MM : '%d mois', + y : 'un an', + yy : '%d ans' + }, + dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, + ordinal : function (number, period) { + switch (period) { + // Words with masculine grammatical gender: mois, trimestre, jour + default: + case 'M': + case 'Q': + case 'D': + case 'DDD': + case 'd': + return number + (number === 1 ? 'er' : 'e'); + + // Words with feminine grammatical gender: semaine + case 'w': + case 'W': + return number + (number === 1 ? 're' : 'e'); + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return frCh; + +}))); diff --git a/public/bower_components/moment/locale/fr.js b/public/bower_components/moment/locale/fr.js new file mode 100644 index 0000000..9286707 --- /dev/null +++ b/public/bower_components/moment/locale/fr.js @@ -0,0 +1,82 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var fr = moment.defineLocale('fr', { + months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), + monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), + monthsParseExact : true, + weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), + weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), + weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'), + weekdaysParseExact : true, + 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 : '[Aujourd’hui à ] LT', + nextDay : '[Demain à ] LT', + nextWeek : 'dddd [à ] LT', + lastDay : '[Hier à ] LT', + lastWeek : 'dddd [dernier à ] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'dans %s', + past : 'il y a %s', + s : 'quelques secondes', + ss : '%d secondes', + m : 'une minute', + mm : '%d minutes', + h : 'une heure', + hh : '%d heures', + d : 'un jour', + dd : '%d jours', + M : 'un mois', + MM : '%d mois', + y : 'un an', + yy : '%d ans' + }, + dayOfMonthOrdinalParse: /\d{1,2}(er|)/, + ordinal : function (number, period) { + switch (period) { + // TODO: Return 'e' when day of month > 1. Move this case inside + // block for masculine words below. + // See https://github.com/moment/moment/issues/3375 + case 'D': + return number + (number === 1 ? 'er' : ''); + + // Words with masculine grammatical gender: mois, trimestre, jour + default: + case 'M': + case 'Q': + case 'DDD': + case 'd': + return number + (number === 1 ? 'er' : 'e'); + + // Words with feminine grammatical gender: semaine + case 'w': + case 'W': + return number + (number === 1 ? 're' : 'e'); + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return fr; + +}))); diff --git a/public/bower_components/moment/locale/fy.js b/public/bower_components/moment/locale/fy.js new file mode 100644 index 0000000..9a672bf --- /dev/null +++ b/public/bower_components/moment/locale/fy.js @@ -0,0 +1,74 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'), + monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'); + + var fy = moment.defineLocale('fy', { + months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'), + monthsShort : function (m, format) { + if (!m) { + return monthsShortWithDots; + } else if (/-MMM-/.test(format)) { + return monthsShortWithoutDots[m.month()]; + } else { + return monthsShortWithDots[m.month()]; + } + }, + monthsParseExact : true, + weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'), + weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'), + weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'), + weekdaysParseExact : true, + 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: '[hjoed om] LT', + nextDay: '[moarn om] LT', + nextWeek: 'dddd [om] LT', + lastDay: '[juster om] LT', + lastWeek: '[ôfrûne] dddd [om] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'oer %s', + past : '%s lyn', + s : 'in pear sekonden', + ss : '%d sekonden', + m : 'ien minút', + mm : '%d minuten', + h : 'ien oere', + hh : '%d oeren', + d : 'ien dei', + dd : '%d dagen', + M : 'ien moanne', + MM : '%d moannen', + y : 'ien jier', + yy : '%d jierren' + }, + dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, + ordinal : function (number) { + return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return fy; + +}))); diff --git a/public/bower_components/moment/locale/ga.js b/public/bower_components/moment/locale/ga.js new file mode 100644 index 0000000..a5b92de --- /dev/null +++ b/public/bower_components/moment/locale/ga.js @@ -0,0 +1,76 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + + var months = [ + 'Eanáir', 'Feabhra', 'Márta', 'Aibreán', 'Bealtaine', 'Méitheamh', 'Iúil', 'Lúnasa', 'Meán Fómhair', 'Deaireadh Fómhair', 'Samhain', 'Nollaig' + ]; + + var monthsShort = ['Eaná', 'Feab', 'Márt', 'Aibr', 'Beal', 'Méit', 'Iúil', 'Lúna', 'Meán', 'Deai', 'Samh', 'Noll']; + + var weekdays = ['Dé Domhnaigh', 'Dé Luain', 'Dé Máirt', 'Dé Céadaoin', 'Déardaoin', 'Dé hAoine', 'Dé Satharn']; + + var weekdaysShort = ['Dom', 'Lua', 'Mái', 'Céa', 'Déa', 'hAo', 'Sat']; + + var weekdaysMin = ['Do', 'Lu', 'Má', 'Ce', 'Dé', 'hA', 'Sa']; + + var ga = moment.defineLocale('ga', { + months: months, + monthsShort: monthsShort, + monthsParseExact: true, + weekdays: weekdays, + weekdaysShort: weekdaysShort, + weekdaysMin: weekdaysMin, + 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: '[Inniu ag] LT', + nextDay: '[Amárach ag] LT', + nextWeek: 'dddd [ag] LT', + lastDay: '[Inné aig] LT', + lastWeek: 'dddd [seo caite] [ag] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'i %s', + past: '%s ó shin', + s: 'cúpla soicind', + ss: '%d soicind', + m: 'nóiméad', + mm: '%d nóiméad', + h: 'uair an chloig', + hh: '%d uair an chloig', + d: 'lá', + dd: '%d lá', + M: 'mÃ', + MM: '%d mÃ', + y: 'bliain', + yy: '%d bliain' + }, + dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/, + ordinal: function (number) { + var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; + return number + output; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return ga; + +}))); diff --git a/public/bower_components/moment/locale/gd.js b/public/bower_components/moment/locale/gd.js new file mode 100644 index 0000000..4d0d88a --- /dev/null +++ b/public/bower_components/moment/locale/gd.js @@ -0,0 +1,75 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var months = [ + 'Am Faoilleach', 'An Gearran', 'Am Mà rt', 'An Giblean', 'An Cèitean', 'An t-Ã’gmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dà mhair', 'An t-Samhain', 'An Dùbhlachd' + ]; + + var monthsShort = ['Faoi', 'Gear', 'Mà rt', 'Gibl', 'Cèit', 'Ã’gmh', 'Iuch', 'Lùn', 'Sult', 'Dà mh', 'Samh', 'Dùbh']; + + var weekdays = ['Didòmhnaich', 'Diluain', 'Dimà irt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne']; + + var weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis']; + + var weekdaysMin = ['Dò', 'Lu', 'Mà ', 'Ci', 'Ar', 'Ha', 'Sa']; + + var gd = moment.defineLocale('gd', { + months : months, + monthsShort : monthsShort, + monthsParseExact : true, + weekdays : weekdays, + weekdaysShort : weekdaysShort, + weekdaysMin : weekdaysMin, + 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 : '[An-diugh aig] LT', + nextDay : '[A-mà ireach aig] LT', + nextWeek : 'dddd [aig] LT', + lastDay : '[An-dè aig] LT', + lastWeek : 'dddd [seo chaidh] [aig] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'ann an %s', + past : 'bho chionn %s', + s : 'beagan diogan', + ss : '%d diogan', + m : 'mionaid', + mm : '%d mionaidean', + h : 'uair', + hh : '%d uairean', + d : 'latha', + dd : '%d latha', + M : 'mìos', + MM : '%d mìosan', + y : 'bliadhna', + yy : '%d bliadhna' + }, + dayOfMonthOrdinalParse : /\d{1,2}(d|na|mh)/, + ordinal : function (number) { + var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return gd; + +}))); diff --git a/public/bower_components/moment/locale/gl.js b/public/bower_components/moment/locale/gl.js new file mode 100644 index 0000000..1cc4177 --- /dev/null +++ b/public/bower_components/moment/locale/gl.js @@ -0,0 +1,76 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var gl = moment.defineLocale('gl', { + months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'), + monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'), + monthsParseExact: true, + weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'), + weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'), + weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'DD/MM/YYYY', + LL : 'D [de] MMMM [de] YYYY', + LLL : 'D [de] MMMM [de] YYYY H:mm', + LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm' + }, + calendar : { + sameDay : function () { + return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT'; + }, + nextDay : function () { + return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT'; + }, + nextWeek : function () { + return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT'; + }, + lastDay : function () { + return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT'; + }, + lastWeek : function () { + return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT'; + }, + sameElse : 'L' + }, + relativeTime : { + future : function (str) { + if (str.indexOf('un') === 0) { + return 'n' + str; + } + return 'en ' + str; + }, + past : 'hai %s', + s : 'uns segundos', + ss : '%d segundos', + m : 'un minuto', + mm : '%d minutos', + h : 'unha hora', + hh : '%d horas', + d : 'un dÃa', + dd : '%d dÃas', + M : 'un mes', + MM : '%d meses', + y : 'un ano', + yy : '%d anos' + }, + dayOfMonthOrdinalParse : /\d{1,2}º/, + ordinal : '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return gl; + +}))); diff --git a/public/bower_components/moment/locale/gom-latn.js b/public/bower_components/moment/locale/gom-latn.js new file mode 100644 index 0000000..bfad12e --- /dev/null +++ b/public/bower_components/moment/locale/gom-latn.js @@ -0,0 +1,122 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + 's': ['thodde secondanim', 'thodde second'], + 'ss': [number + ' secondanim', number + ' second'], + 'm': ['eka mintan', 'ek minute'], + 'mm': [number + ' mintanim', number + ' mintam'], + 'h': ['eka voran', 'ek vor'], + 'hh': [number + ' voranim', number + ' voram'], + 'd': ['eka disan', 'ek dis'], + 'dd': [number + ' disanim', number + ' dis'], + 'M': ['eka mhoinean', 'ek mhoino'], + 'MM': [number + ' mhoineanim', number + ' mhoine'], + 'y': ['eka vorsan', 'ek voros'], + 'yy': [number + ' vorsanim', number + ' vorsam'] + }; + return withoutSuffix ? format[key][0] : format[key][1]; + } + + var gomLatn = moment.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 : true, + 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 : true, + 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 : processRelativeTime, + ss : processRelativeTime, + m : processRelativeTime, + mm : processRelativeTime, + h : processRelativeTime, + hh : processRelativeTime, + d : processRelativeTime, + dd : processRelativeTime, + M : processRelativeTime, + MM : processRelativeTime, + y : processRelativeTime, + yy : processRelativeTime + }, + dayOfMonthOrdinalParse : /\d{1,2}(er)/, + ordinal : function (number, period) { + switch (period) { + // the ordinal 'er' only applies to day of the month + case 'D': + return number + 'er'; + default: + case 'M': + case 'Q': + case 'DDD': + case 'd': + case 'w': + case 'W': + return number; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + }, + meridiemParse: /rati|sokalli|donparam|sanje/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'rati') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'sokalli') { + return hour; + } else if (meridiem === 'donparam') { + return hour > 12 ? hour : hour + 12; + } else if (meridiem === 'sanje') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'rati'; + } else if (hour < 12) { + return 'sokalli'; + } else if (hour < 16) { + return 'donparam'; + } else if (hour < 20) { + return 'sanje'; + } else { + return 'rati'; + } + } + }); + + return gomLatn; + +}))); diff --git a/public/bower_components/moment/locale/gu.js b/public/bower_components/moment/locale/gu.js new file mode 100644 index 0000000..9f80dbd --- /dev/null +++ b/public/bower_components/moment/locale/gu.js @@ -0,0 +1,123 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var symbolMap = { + '1': 'à«§', + '2': '૨', + '3': 'à«©', + '4': '૪', + '5': 'à««', + '6': '૬', + '7': 'à«', + '8': 'à«®', + '9': '૯', + '0': '૦' + }, + numberMap = { + 'à«§': '1', + '૨': '2', + 'à«©': '3', + '૪': '4', + 'à««': '5', + '૬': '6', + 'à«': '7', + 'à«®': '8', + '૯': '9', + '૦': '0' + }; + + var gu = moment.defineLocale('gu', { + months: 'જાનà«àª¯à«àª†àª°à«€_ફેબà«àª°à«àª†àª°à«€_મારà«àªš_àªàªªà«àª°àª¿àª²_મે_જૂન_જà«àª²àª¾àªˆ_ઑગસà«àªŸ_સપà«àªŸà«‡àª®à«àª¬àª°_ઑકà«àªŸà«àª¬àª°_નવેમà«àª¬àª°_ડિસેમà«àª¬àª°'.split('_'), + monthsShort: 'જાનà«àª¯à«._ફેબà«àª°à«._મારà«àªš_àªàªªà«àª°àª¿._મે_જૂન_જà«àª²àª¾._ઑગ._સપà«àªŸà«‡._ઑકà«àªŸà«._નવે._ડિસે.'.split('_'), + monthsParseExact: true, + 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: 'અમà«àª• પળો', + ss: '%d સેકંડ', + m: 'àªàª• મિનિટ', + mm: '%d મિનિટ', + h: 'àªàª• કલાક', + hh: '%d કલાક', + d: 'àªàª• દિવસ', + dd: '%d દિવસ', + M: 'àªàª• મહિનો', + MM: '%d મહિનો', + y: 'àªàª• વરà«àª·', + yy: '%d વરà«àª·' + }, + preparse: function (string) { + return string.replace(/[૧૨૩૪૫૬à«à«®à«¯à«¦]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + // Gujarati notation for meridiems are quite fuzzy in practice. While there exists + // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati. + meridiemParse: /રાત|બપોર|સવાર|સાંજ/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'રાત') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'સવાર') { + return hour; + } else if (meridiem === 'બપોર') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'સાંજ') { + return hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'રાત'; + } else if (hour < 10) { + return 'સવાર'; + } else if (hour < 17) { + return 'બપોર'; + } else if (hour < 20) { + return 'સાંજ'; + } else { + return 'રાત'; + } + }, + week: { + dow: 0, // Sunday is the first day of the week. + doy: 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + return gu; + +}))); diff --git a/public/bower_components/moment/locale/he.js b/public/bower_components/moment/locale/he.js new file mode 100644 index 0000000..7a22e8d --- /dev/null +++ b/public/bower_components/moment/locale/he.js @@ -0,0 +1,96 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var he = moment.defineLocale('he', { + 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', + l : 'D/M/YYYY', + ll : 'D MMM YYYY', + lll : 'D MMM YYYY HH:mm', + llll : 'ddd, D MMM 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 : function (number) { + if (number === 2) { + return 'שעתיי×'; + } + return number + ' שעות'; + }, + d : 'יו×', + dd : function (number) { + if (number === 2) { + return 'יומיי×'; + } + return number + ' ימי×'; + }, + M : 'חודש', + MM : function (number) { + if (number === 2) { + return 'חודשיי×'; + } + return number + ' חודשי×'; + }, + y : '×©× ×”', + yy : function (number) { + if (number === 2) { + return '×©× ×ª×™×™×'; + } else if (number % 10 === 0 && number !== 10) { + return number + ' ×©× ×”'; + } + return number + ' ×©× ×™×'; + } + }, + meridiemParse: /××—×”"צ|×œ×¤× ×”"צ|×חרי הצהריי×|×œ×¤× ×™ הצהריי×|×œ×¤× ×•×ª בוקר|בבוקר|בערב/i, + isPM : function (input) { + return /^(××—×”"צ|×חרי הצהריי×|בערב)$/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 5) { + return '×œ×¤× ×•×ª בוקר'; + } else if (hour < 10) { + return 'בבוקר'; + } else if (hour < 12) { + return isLower ? '×œ×¤× ×”"צ' : '×œ×¤× ×™ הצהריי×'; + } else if (hour < 18) { + return isLower ? '××—×”"צ' : '×חרי הצהריי×'; + } else { + return 'בערב'; + } + } + }); + + return he; + +}))); diff --git a/public/bower_components/moment/locale/hi.js b/public/bower_components/moment/locale/hi.js new file mode 100644 index 0000000..a07860a --- /dev/null +++ b/public/bower_components/moment/locale/hi.js @@ -0,0 +1,123 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var symbolMap = { + '1': '१', + '2': '२', + '3': '३', + '4': '४', + '5': '५', + '6': '६', + '7': 'à¥', + '8': '८', + '9': '९', + '0': '०' + }, + numberMap = { + '१': '1', + '२': '2', + '३': '3', + '४': '4', + '५': '5', + '६': '6', + 'à¥': '7', + '८': '8', + '९': '9', + '०': '0' + }; + + var hi = moment.defineLocale('hi', { + months : 'जनवरी_फ़रवरी_मारà¥à¤š_अपà¥à¤°à¥ˆà¤²_मई_जून_जà¥à¤²à¤¾à¤ˆ_अगसà¥à¤¤_सितमà¥à¤¬à¤°_अकà¥à¤Ÿà¥‚बर_नवमà¥à¤¬à¤°_दिसमà¥à¤¬à¤°'.split('_'), + monthsShort : 'जन._फ़र._मारà¥à¤š_अपà¥à¤°à¥ˆ._मई_जून_जà¥à¤²._अग._सित._अकà¥à¤Ÿà¥‚._नव._दिस.'.split('_'), + monthsParseExact: true, + 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 : 'कà¥à¤› ही कà¥à¤·à¤£', + ss : '%d सेकंड', + m : 'à¤à¤• मिनट', + mm : '%d मिनट', + h : 'à¤à¤• घंटा', + hh : '%d घंटे', + d : 'à¤à¤• दिन', + dd : '%d दिन', + M : 'à¤à¤• महीने', + MM : '%d महीने', + y : 'à¤à¤• वरà¥à¤·', + yy : '%d वरà¥à¤·' + }, + preparse: function (string) { + return string.replace(/[१२३४५६à¥à¥®à¥¯à¥¦]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + // Hindi notation for meridiems are quite fuzzy in practice. While there exists + // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi. + meridiemParse: /रात|सà¥à¤¬à¤¹|दोपहर|शाम/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'रात') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'सà¥à¤¬à¤¹') { + return hour; + } else if (meridiem === 'दोपहर') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'शाम') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'रात'; + } else if (hour < 10) { + return 'सà¥à¤¬à¤¹'; + } else if (hour < 17) { + return 'दोपहर'; + } else if (hour < 20) { + return 'शाम'; + } else { + return 'रात'; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + return hi; + +}))); diff --git a/public/bower_components/moment/locale/hr.js b/public/bower_components/moment/locale/hr.js new file mode 100644 index 0000000..bf1597b --- /dev/null +++ b/public/bower_components/moment/locale/hr.js @@ -0,0 +1,153 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + function translate(number, withoutSuffix, key) { + var result = number + ' '; + switch (key) { + case 'ss': + if (number === 1) { + result += 'sekunda'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'sekunde'; + } else { + result += 'sekundi'; + } + return result; + case 'm': + return withoutSuffix ? 'jedna minuta' : 'jedne minute'; + case 'mm': + if (number === 1) { + result += 'minuta'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'minute'; + } else { + result += 'minuta'; + } + return result; + case 'h': + return withoutSuffix ? 'jedan sat' : 'jednog sata'; + case 'hh': + if (number === 1) { + result += 'sat'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'sata'; + } else { + result += 'sati'; + } + return result; + case 'dd': + if (number === 1) { + result += 'dan'; + } else { + result += 'dana'; + } + return result; + case 'MM': + if (number === 1) { + result += 'mjesec'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'mjeseca'; + } else { + result += 'mjeseci'; + } + return result; + case 'yy': + if (number === 1) { + result += 'godina'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'godine'; + } else { + result += 'godina'; + } + return result; + } + } + + var hr = moment.defineLocale('hr', { + months : { + format: 'sijeÄnja_veljaÄe_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'), + standalone: 'sijeÄanj_veljaÄa_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_') + }, + monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'), + monthsParseExact: true, + weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota'.split('_'), + weekdaysShort : 'ned._pon._uto._sri._Äet._pet._sub.'.split('_'), + weekdaysMin : 'ne_po_ut_sr_Äe_pe_su'.split('_'), + weekdaysParseExact : true, + 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 : '[danas u] LT', + nextDay : '[sutra u] LT', + nextWeek : function () { + switch (this.day()) { + case 0: + return '[u] [nedjelju] [u] LT'; + case 3: + return '[u] [srijedu] [u] LT'; + case 6: + return '[u] [subotu] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[u] dddd [u] LT'; + } + }, + lastDay : '[juÄer u] LT', + lastWeek : function () { + switch (this.day()) { + case 0: + case 3: + return '[proÅ¡lu] dddd [u] LT'; + case 6: + return '[proÅ¡le] [subote] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[proÅ¡li] dddd [u] LT'; + } + }, + sameElse : 'L' + }, + relativeTime : { + future : 'za %s', + past : 'prije %s', + s : 'par sekundi', + ss : translate, + m : translate, + mm : translate, + h : translate, + hh : translate, + d : 'dan', + dd : translate, + M : 'mjesec', + MM : translate, + y : 'godinu', + yy : translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + return hr; + +}))); diff --git a/public/bower_components/moment/locale/hu.js b/public/bower_components/moment/locale/hu.js new file mode 100644 index 0000000..53e9bb6 --- /dev/null +++ b/public/bower_components/moment/locale/hu.js @@ -0,0 +1,109 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var weekEndings = 'vasárnap hétfÅ‘n kedden szerdán csütörtökön pénteken szombaton'.split(' '); + function translate(number, withoutSuffix, key, isFuture) { + var num = number; + switch (key) { + case 's': + return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce'; + case 'ss': + return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce'; + case 'm': + return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce'); + case 'mm': + return num + (isFuture || withoutSuffix ? ' perc' : ' perce'); + case 'h': + return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája'); + case 'hh': + return num + (isFuture || withoutSuffix ? ' óra' : ' órája'); + case 'd': + return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja'); + case 'dd': + return num + (isFuture || withoutSuffix ? ' nap' : ' napja'); + case 'M': + return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); + case 'MM': + return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); + case 'y': + return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve'); + case 'yy': + return num + (isFuture || withoutSuffix ? ' év' : ' éve'); + } + return ''; + } + function week(isFuture) { + return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]'; + } + + var hu = moment.defineLocale('hu', { + months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'), + monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'), + weekdays : 'vasárnap_hétfÅ‘_kedd_szerda_csütörtök_péntek_szombat'.split('_'), + weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'), + weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'), + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'YYYY.MM.DD.', + LL : 'YYYY. MMMM D.', + LLL : 'YYYY. MMMM D. H:mm', + LLLL : 'YYYY. MMMM D., dddd H:mm' + }, + meridiemParse: /de|du/i, + isPM: function (input) { + return input.charAt(1).toLowerCase() === 'u'; + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 12) { + return isLower === true ? 'de' : 'DE'; + } else { + return isLower === true ? 'du' : 'DU'; + } + }, + calendar : { + sameDay : '[ma] LT[-kor]', + nextDay : '[holnap] LT[-kor]', + nextWeek : function () { + return week.call(this, true); + }, + lastDay : '[tegnap] LT[-kor]', + lastWeek : function () { + return week.call(this, false); + }, + sameElse : 'L' + }, + relativeTime : { + future : '%s múlva', + past : '%s', + s : translate, + ss : translate, + m : translate, + mm : translate, + h : translate, + hh : translate, + d : translate, + dd : translate, + M : translate, + MM : translate, + y : translate, + yy : translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return hu; + +}))); diff --git a/public/bower_components/moment/locale/hy-am.js b/public/bower_components/moment/locale/hy-am.js new file mode 100644 index 0000000..1be1d85 --- /dev/null +++ b/public/bower_components/moment/locale/hy-am.js @@ -0,0 +1,94 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var hyAm = moment.defineLocale('hy-am', { + months : { + format: 'Õ°Õ¸Ö‚Õ¶Õ¾Õ¡Ö€Õ«_ÖƒÕ¥Õ¿Ö€Õ¾Õ¡Ö€Õ«_Õ´Õ¡Ö€Õ¿Õ«_Õ¡ÕºÖ€Õ«Õ¬Õ«_Õ´Õ¡ÕµÕ«Õ½Õ«_Õ°Õ¸Ö‚Õ¶Õ«Õ½Õ«_Õ°Õ¸Ö‚Õ¬Õ«Õ½Õ«_Ö…Õ£Õ¸Õ½Õ¿Õ¸Õ½Õ«_Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«_Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«_Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö€Õ«_Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«'.split('_'), + standalone: 'Õ°Õ¸Ö‚Õ¶Õ¾Õ¡Ö€_ÖƒÕ¥Õ¿Ö€Õ¾Õ¡Ö€_Õ´Õ¡Ö€Õ¿_Õ¡ÕºÖ€Õ«Õ¬_Õ´Õ¡ÕµÕ«Õ½_Õ°Õ¸Ö‚Õ¶Õ«Õ½_Õ°Õ¸Ö‚Õ¬Õ«Õ½_Ö…Õ£Õ¸Õ½Õ¿Õ¸Õ½_Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö€_Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€_Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö€_Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€'.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: function () { + return 'dddd [Ö…Ö€Õ¨ ÕªÕ¡Õ´Õ¨] LT'; + }, + lastWeek: function () { + return '[Õ¡Õ¶ÖÕ¡Õ®] 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 Õ¿Õ¡Ö€Õ«' + }, + meridiemParse: /Õ£Õ«Õ·Õ¥Ö€Õ¾Õ¡|Õ¡Õ¼Õ¡Õ¾Õ¸Õ¿Õ¾Õ¡|ÖÕ¥Ö€Õ¥Õ¯Õ¾Õ¡|Õ¥Ö€Õ¥Õ¯Õ¸ÕµÕ¡Õ¶/, + isPM: function (input) { + return /^(ÖÕ¥Ö€Õ¥Õ¯Õ¾Õ¡|Õ¥Ö€Õ¥Õ¯Õ¸ÕµÕ¡Õ¶)$/.test(input); + }, + meridiem : function (hour) { + if (hour < 4) { + return 'Õ£Õ«Õ·Õ¥Ö€Õ¾Õ¡'; + } else if (hour < 12) { + return 'Õ¡Õ¼Õ¡Õ¾Õ¸Õ¿Õ¾Õ¡'; + } else if (hour < 17) { + return 'ÖÕ¥Ö€Õ¥Õ¯Õ¾Õ¡'; + } else { + return 'Õ¥Ö€Õ¥Õ¯Õ¸ÕµÕ¡Õ¶'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(Õ«Õ¶|Ö€Õ¤)/, + ordinal: function (number, period) { + switch (period) { + case 'DDD': + case 'w': + case 'W': + case 'DDDo': + if (number === 1) { + return number + '-Õ«Õ¶'; + } + return number + '-Ö€Õ¤'; + default: + return number; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + return hyAm; + +}))); diff --git a/public/bower_components/moment/locale/id.js b/public/bower_components/moment/locale/id.js new file mode 100644 index 0000000..c3e8b9e --- /dev/null +++ b/public/bower_components/moment/locale/id.js @@ -0,0 +1,81 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var id = moment.defineLocale('id', { + months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'), + weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'), + weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'), + weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'), + longDateFormat : { + LT : 'HH.mm', + LTS : 'HH.mm.ss', + L : 'DD/MM/YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY [pukul] HH.mm', + LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm' + }, + meridiemParse: /pagi|siang|sore|malam/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'pagi') { + return hour; + } else if (meridiem === 'siang') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'sore' || meridiem === 'malam') { + return hour + 12; + } + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 11) { + return 'pagi'; + } else if (hours < 15) { + return 'siang'; + } else if (hours < 19) { + return 'sore'; + } else { + return 'malam'; + } + }, + calendar : { + sameDay : '[Hari ini pukul] LT', + nextDay : '[Besok pukul] LT', + nextWeek : 'dddd [pukul] LT', + lastDay : '[Kemarin pukul] LT', + lastWeek : 'dddd [lalu pukul] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'dalam %s', + past : '%s yang lalu', + s : 'beberapa detik', + ss : '%d detik', + m : 'semenit', + mm : '%d menit', + h : 'sejam', + hh : '%d jam', + d : 'sehari', + dd : '%d hari', + M : 'sebulan', + MM : '%d bulan', + y : 'setahun', + yy : '%d tahun' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + return id; + +}))); diff --git a/public/bower_components/moment/locale/is.js b/public/bower_components/moment/locale/is.js new file mode 100644 index 0000000..9856e92 --- /dev/null +++ b/public/bower_components/moment/locale/is.js @@ -0,0 +1,131 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + function plural(n) { + if (n % 100 === 11) { + return true; + } else if (n % 10 === 1) { + return false; + } + return true; + } + function translate(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + switch (key) { + case 's': + return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum'; + case 'ss': + if (plural(number)) { + return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum'); + } + return result + 'sekúnda'; + case 'm': + return withoutSuffix ? 'mÃnúta' : 'mÃnútu'; + case 'mm': + if (plural(number)) { + return result + (withoutSuffix || isFuture ? 'mÃnútur' : 'mÃnútum'); + } else if (withoutSuffix) { + return result + 'mÃnúta'; + } + return result + 'mÃnútu'; + case 'hh': + if (plural(number)) { + return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum'); + } + return result + 'klukkustund'; + case 'd': + if (withoutSuffix) { + return 'dagur'; + } + return isFuture ? 'dag' : 'degi'; + case 'dd': + if (plural(number)) { + if (withoutSuffix) { + return result + 'dagar'; + } + return result + (isFuture ? 'daga' : 'dögum'); + } else if (withoutSuffix) { + return result + 'dagur'; + } + return result + (isFuture ? 'dag' : 'degi'); + case 'M': + if (withoutSuffix) { + return 'mánuður'; + } + return isFuture ? 'mánuð' : 'mánuði'; + case 'MM': + if (plural(number)) { + if (withoutSuffix) { + return result + 'mánuðir'; + } + return result + (isFuture ? 'mánuði' : 'mánuðum'); + } else if (withoutSuffix) { + return result + 'mánuður'; + } + return result + (isFuture ? 'mánuð' : 'mánuði'); + case 'y': + return withoutSuffix || isFuture ? 'ár' : 'ári'; + case 'yy': + if (plural(number)) { + return result + (withoutSuffix || isFuture ? 'ár' : 'árum'); + } + return result + (withoutSuffix || isFuture ? 'ár' : 'ári'); + } + } + + var is = moment.defineLocale('is', { + months : 'janúar_febrúar_mars_aprÃl_maÃ_júnÃ_júlÃ_ágúst_september_október_nóvember_desember'.split('_'), + monthsShort : 'jan_feb_mar_apr_maÃ_jún_júl_ágú_sep_okt_nóv_des'.split('_'), + weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'), + weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'), + weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'), + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'DD.MM.YYYY', + LL : 'D. MMMM YYYY', + LLL : 'D. MMMM YYYY [kl.] H:mm', + LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm' + }, + calendar : { + sameDay : '[à dag kl.] LT', + nextDay : '[á morgun kl.] LT', + nextWeek : 'dddd [kl.] LT', + lastDay : '[à gær kl.] LT', + lastWeek : '[sÃðasta] dddd [kl.] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'eftir %s', + past : 'fyrir %s sÃðan', + s : translate, + ss : translate, + m : translate, + mm : translate, + h : 'klukkustund', + hh : translate, + d : translate, + dd : translate, + M : translate, + MM : translate, + y : translate, + yy : translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return is; + +}))); diff --git a/public/bower_components/moment/locale/it-ch.js b/public/bower_components/moment/locale/it-ch.js new file mode 100644 index 0000000..fcf2d4b --- /dev/null +++ b/public/bower_components/moment/locale/it-ch.js @@ -0,0 +1,68 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var itCh = moment.defineLocale('it-ch', { + months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'), + monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), + weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'), + weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'), + weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.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: '[Oggi alle] LT', + nextDay: '[Domani alle] LT', + nextWeek: 'dddd [alle] LT', + lastDay: '[Ieri alle] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[la scorsa] dddd [alle] LT'; + default: + return '[lo scorso] dddd [alle] LT'; + } + }, + sameElse: 'L' + }, + relativeTime : { + future : function (s) { + return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s; + }, + past : '%s fa', + s : 'alcuni secondi', + ss : '%d secondi', + m : 'un minuto', + mm : '%d minuti', + h : 'un\'ora', + hh : '%d ore', + d : 'un giorno', + dd : '%d giorni', + M : 'un mese', + MM : '%d mesi', + y : 'un anno', + yy : '%d anni' + }, + dayOfMonthOrdinalParse : /\d{1,2}º/, + ordinal: '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return itCh; + +}))); diff --git a/public/bower_components/moment/locale/it.js b/public/bower_components/moment/locale/it.js new file mode 100644 index 0000000..f42ff8f --- /dev/null +++ b/public/bower_components/moment/locale/it.js @@ -0,0 +1,68 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var it = moment.defineLocale('it', { + months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'), + monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), + weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'), + weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'), + weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.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: '[Oggi alle] LT', + nextDay: '[Domani alle] LT', + nextWeek: 'dddd [alle] LT', + lastDay: '[Ieri alle] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[la scorsa] dddd [alle] LT'; + default: + return '[lo scorso] dddd [alle] LT'; + } + }, + sameElse: 'L' + }, + relativeTime : { + future : function (s) { + return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s; + }, + past : '%s fa', + s : 'alcuni secondi', + ss : '%d secondi', + m : 'un minuto', + mm : '%d minuti', + h : 'un\'ora', + hh : '%d ore', + d : 'un giorno', + dd : '%d giorni', + M : 'un mese', + MM : '%d mesi', + y : 'un anno', + yy : '%d anni' + }, + dayOfMonthOrdinalParse : /\d{1,2}º/, + ordinal: '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return it; + +}))); diff --git a/public/bower_components/moment/locale/ja.js b/public/bower_components/moment/locale/ja.js new file mode 100644 index 0000000..4e4efd6 --- /dev/null +++ b/public/bower_components/moment/locale/ja.js @@ -0,0 +1,91 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var ja = moment.defineLocale('ja', { + months : '一月_二月_三月_四月_五月_å…æœˆ_七月_八月_乿œˆ_åæœˆ_å一月_å二月'.split('_'), + monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), + weekdays : '日曜日_月曜日_ç«æ›œæ—¥_水曜日_木曜日_金曜日_土曜日'.split('_'), + weekdaysShort : 'æ—¥_月_ç«_æ°´_木_金_土'.split('_'), + weekdaysMin : 'æ—¥_月_ç«_æ°´_木_金_土'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY/MM/DD', + LL : 'YYYYå¹´M月Dæ—¥', + LLL : 'YYYYå¹´M月Dæ—¥ HH:mm', + LLLL : 'YYYYå¹´M月Dæ—¥ dddd HH:mm', + l : 'YYYY/MM/DD', + ll : 'YYYYå¹´M月Dæ—¥', + lll : 'YYYYå¹´M月Dæ—¥ HH:mm', + llll : 'YYYYå¹´M月Dæ—¥(ddd) HH:mm' + }, + meridiemParse: /åˆå‰|åˆå¾Œ/i, + isPM : function (input) { + return input === 'åˆå¾Œ'; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'åˆå‰'; + } else { + return 'åˆå¾Œ'; + } + }, + calendar : { + sameDay : '[今日] LT', + nextDay : '[明日] LT', + nextWeek : function (now) { + if (now.week() < this.week()) { + return '[æ¥é€±]dddd LT'; + } else { + return 'dddd LT'; + } + }, + lastDay : '[昨日] LT', + lastWeek : function (now) { + if (this.week() < now.week()) { + return '[先週]dddd LT'; + } else { + return 'dddd LT'; + } + }, + sameElse : 'L' + }, + dayOfMonthOrdinalParse : /\d{1,2}æ—¥/, + ordinal : function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + 'æ—¥'; + default: + return number; + } + }, + relativeTime : { + future : '%s後', + past : '%så‰', + s : 'æ•°ç§’', + ss : '%dç§’', + m : '1分', + mm : '%d分', + h : '1時間', + hh : '%d時間', + d : '1æ—¥', + dd : '%dæ—¥', + M : '1ヶ月', + MM : '%dヶ月', + y : '1å¹´', + yy : '%då¹´' + } + }); + + return ja; + +}))); diff --git a/public/bower_components/moment/locale/jv.js b/public/bower_components/moment/locale/jv.js new file mode 100644 index 0000000..b2bb4f4 --- /dev/null +++ b/public/bower_components/moment/locale/jv.js @@ -0,0 +1,81 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var jv = moment.defineLocale('jv', { + months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'), + weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'), + weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'), + weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'), + longDateFormat : { + LT : 'HH.mm', + LTS : 'HH.mm.ss', + L : 'DD/MM/YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY [pukul] HH.mm', + LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm' + }, + meridiemParse: /enjing|siyang|sonten|ndalu/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'enjing') { + return hour; + } else if (meridiem === 'siyang') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'sonten' || meridiem === 'ndalu') { + return hour + 12; + } + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 11) { + return 'enjing'; + } else if (hours < 15) { + return 'siyang'; + } else if (hours < 19) { + return 'sonten'; + } else { + return 'ndalu'; + } + }, + calendar : { + sameDay : '[Dinten puniko pukul] LT', + nextDay : '[Mbenjang pukul] LT', + nextWeek : 'dddd [pukul] LT', + lastDay : '[Kala wingi pukul] LT', + lastWeek : 'dddd [kepengker pukul] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'wonten ing %s', + past : '%s ingkang kepengker', + s : 'sawetawis detik', + ss : '%d detik', + m : 'setunggal menit', + mm : '%d menit', + h : 'setunggal jam', + hh : '%d jam', + d : 'sedinten', + dd : '%d dinten', + M : 'sewulan', + MM : '%d wulan', + y : 'setaun', + yy : '%d taun' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + return jv; + +}))); diff --git a/public/bower_components/moment/locale/ka.js b/public/bower_components/moment/locale/ka.js new file mode 100644 index 0000000..0ec5eb2 --- /dev/null +++ b/public/bower_components/moment/locale/ka.js @@ -0,0 +1,88 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var ka = moment.defineLocale('ka', { + months : { + standalone: 'იáƒáƒœáƒ•áƒáƒ ი_თებერვáƒáƒšáƒ˜_მáƒáƒ ტი_áƒáƒžáƒ ილი_მáƒáƒ˜áƒ¡áƒ˜_ივნისი_ივლისი_áƒáƒ’ვისტáƒ_სექტემბერი_áƒáƒ¥áƒ¢áƒáƒ›áƒ‘ერი_ნáƒáƒ”მბერი_დეკემბერი'.split('_'), + format: 'იáƒáƒœáƒ•áƒáƒ ს_თებერვáƒáƒšáƒ¡_მáƒáƒ ტს_áƒáƒžáƒ ილის_მáƒáƒ˜áƒ¡áƒ¡_ივნისს_ივლისს_áƒáƒ’ვისტს_სექტემბერს_áƒáƒ¥áƒ¢áƒáƒ›áƒ‘ერს_ნáƒáƒ”მბერს_დეკემბერს'.split('_') + }, + monthsShort : 'იáƒáƒœ_თებ_მáƒáƒ _áƒáƒžáƒ _მáƒáƒ˜_ივნ_ივლ_áƒáƒ’ვ_სექ_áƒáƒ¥áƒ¢_ნáƒáƒ”_დეკ'.split('_'), + weekdays : { + standalone: 'კვირáƒ_áƒáƒ შáƒáƒ‘áƒáƒ—ი_სáƒáƒ›áƒ¨áƒáƒ‘áƒáƒ—ი_áƒáƒ—ხშáƒáƒ‘áƒáƒ—ი_ხუთშáƒáƒ‘áƒáƒ—ი_პáƒáƒ áƒáƒ¡áƒ™áƒ”ვი_შáƒáƒ‘áƒáƒ—ი'.split('_'), + format: 'კვირáƒáƒ¡_áƒáƒ შáƒáƒ‘áƒáƒ—ს_სáƒáƒ›áƒ¨áƒáƒ‘áƒáƒ—ს_áƒáƒ—ხშáƒáƒ‘áƒáƒ—ს_ხუთშáƒáƒ‘áƒáƒ—ს_პáƒáƒ áƒáƒ¡áƒ™áƒ”ვს_შáƒáƒ‘áƒáƒ—ს'.split('_'), + isFormat: /(წინáƒ|შემდეგ)/ + }, + weekdaysShort : 'კვი_áƒáƒ შ_სáƒáƒ›_áƒáƒ—ხ_ხუთ_პáƒáƒ _შáƒáƒ‘'.split('_'), + weekdaysMin : 'კვ_áƒáƒ _სáƒ_áƒáƒ—_ხუ_პáƒ_შáƒ'.split('_'), + 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 : '[დღეს] LT[-ზე]', + nextDay : '[ხვáƒáƒš] LT[-ზე]', + lastDay : '[გუშინ] LT[-ზე]', + nextWeek : '[შემდეგ] dddd LT[-ზე]', + lastWeek : '[წინáƒ] dddd LT-ზე', + sameElse : 'L' + }, + relativeTime : { + future : function (s) { + return (/(წáƒáƒ›áƒ˜|წუთი|სáƒáƒáƒ—ი|წელი)/).test(s) ? + s.replace(/ი$/, 'ში') : + s + 'ში'; + }, + past : function (s) { + if ((/(წáƒáƒ›áƒ˜|წუთი|სáƒáƒáƒ—ი|დღე|თვე)/).test(s)) { + return s.replace(/(ი|ე)$/, 'ის წინ'); + } + if ((/წელი/).test(s)) { + return s.replace(/წელი$/, 'წლის წინ'); + } + }, + s : 'რáƒáƒ›áƒ“ენიმე წáƒáƒ›áƒ˜', + ss : '%d წáƒáƒ›áƒ˜', + m : 'წუთი', + mm : '%d წუთი', + h : 'სáƒáƒáƒ—ი', + hh : '%d სáƒáƒáƒ—ი', + d : 'დღე', + dd : '%d დღე', + M : 'თვე', + MM : '%d თვე', + y : 'წელი', + yy : '%d წელი' + }, + dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/, + ordinal : function (number) { + if (number === 0) { + return number; + } + if (number === 1) { + return number + '-ლი'; + } + if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) { + return 'მე-' + number; + } + return number + '-ე'; + }, + week : { + dow : 1, + doy : 7 + } + }); + + return ka; + +}))); diff --git a/public/bower_components/moment/locale/kk.js b/public/bower_components/moment/locale/kk.js new file mode 100644 index 0000000..c468f67 --- /dev/null +++ b/public/bower_components/moment/locale/kk.js @@ -0,0 +1,86 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var suffixes = { + 0: '-ші', + 1: '-ші', + 2: '-ші', + 3: '-ші', + 4: '-ші', + 5: '-ші', + 6: '-шы', + 7: '-ші', + 8: '-ші', + 9: '-шы', + 10: '-шы', + 20: '-шы', + 30: '-шы', + 40: '-шы', + 50: '-ші', + 60: '-шы', + 70: '-ші', + 80: '-ші', + 90: '-шы', + 100: '-ші' + }; + + var kk = moment.defineLocale('kk', { + 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 (number) { + var a = number % 10, + b = number >= 100 ? 100 : null; + return number + (suffixes[number] || suffixes[a] || suffixes[b]); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + return kk; + +}))); diff --git a/public/bower_components/moment/locale/km.js b/public/bower_components/moment/locale/km.js new file mode 100644 index 0000000..fee3623 --- /dev/null +++ b/public/bower_components/moment/locale/km.js @@ -0,0 +1,109 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var symbolMap = { + '1': '១', + '2': '២', + '3': '៣', + '4': '៤', + '5': '៥', + '6': '៦', + '7': '៧', + '8': '៨', + '9': '៩', + '0': '០' + }, numberMap = { + '១': '1', + '២': '2', + '៣': '3', + '៤': '4', + '៥': '5', + '៦': '6', + '៧': '7', + '៨': '8', + '៩': '9', + '០': '0' + }; + + var km = moment.defineLocale('km', { + months: 'មករា_កុម្ភៈ_មីនា_មáŸážŸáž¶_ឧសភា_មិážáž»áž“áž¶_កក្កដា_សីហា_កញ្ញា_ážáž»áž›áž¶_វិច្ឆិកា_ធ្នូ'.split( + '_' + ), + monthsShort: 'មករា_កុម្ភៈ_មីនា_មáŸážŸáž¶_ឧសភា_មិážáž»áž“áž¶_កក្កដា_សីហា_កញ្ញា_ážáž»áž›áž¶_វិច្ឆិកា_ធ្នូ'.split( + '_' + ), + weekdays: 'អាទិážáŸ’áž™_áž…áŸáž“្ទ_អង្គារ_ពុធ_ព្រហស្បážáž·áŸ_សុក្រ_សៅរáŸ'.split('_'), + weekdaysShort: 'អា_áž…_អ_áž–_ព្រ_សុ_ស'.split('_'), + weekdaysMin: 'អា_áž…_អ_áž–_ព្រ_សុ_ស'.split('_'), + weekdaysParseExact: true, + 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 (input) { + return input === 'ល្ងាច'; + }, + meridiem: function (hour, minute, isLower) { + if (hour < 12) { + return 'ព្រឹក'; + } else { + return 'ល្ងាច'; + } + }, + 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 (string) { + return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return km; + +}))); diff --git a/public/bower_components/moment/locale/kn.js b/public/bower_components/moment/locale/kn.js new file mode 100644 index 0000000..8d0ae9d --- /dev/null +++ b/public/bower_components/moment/locale/kn.js @@ -0,0 +1,125 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var symbolMap = { + '1': 'à³§', + '2': '೨', + '3': '೩', + '4': '೪', + '5': '೫', + '6': '೬', + '7': 'à³', + '8': 'à³®', + '9': '೯', + '0': '೦' + }, + numberMap = { + 'à³§': '1', + '೨': '2', + '೩': '3', + '೪': '4', + '೫': '5', + '೬': '6', + 'à³': '7', + 'à³®': '8', + '೯': '9', + '೦': '0' + }; + + var kn = moment.defineLocale('kn', { + months : 'ಜನವರಿ_ಫೆಬà³à²°à²µà²°à²¿_ಮಾರà³à²šà³_à²à²ªà³à²°à²¿à²²à³_ಮೇ_ಜೂನà³_ಜà³à²²à³†à³–_ಆಗಸà³à²Ÿà³_ಸೆಪà³à²Ÿà³†à²‚ಬರà³_ಅಕà³à²Ÿà³†à³‚ೕಬರà³_ನವೆಂಬರà³_ಡಿಸೆಂಬರà³'.split('_'), + monthsShort : 'ಜನ_ಫೆಬà³à²°_ಮಾರà³à²šà³_à²à²ªà³à²°à²¿à²²à³_ಮೇ_ಜೂನà³_ಜà³à²²à³†à³–_ಆಗಸà³à²Ÿà³_ಸೆಪà³à²Ÿà³†à²‚_ಅಕà³à²Ÿà³†à³‚ೕ_ನವೆಂ_ಡಿಸೆಂ'.split('_'), + monthsParseExact: true, + 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 : 'ಕೆಲವೠಕà³à²·à²£à²—ಳà³', + ss : '%d ಸೆಕೆಂಡà³à²—ಳà³', + m : 'ಒಂದೠನಿಮಿಷ', + mm : '%d ನಿಮಿಷ', + h : 'ಒಂದೠಗಂಟೆ', + hh : '%d ಗಂಟೆ', + d : 'ಒಂದೠದಿನ', + dd : '%d ದಿನ', + M : 'ಒಂದೠತಿಂಗಳà³', + MM : '%d ತಿಂಗಳà³', + y : 'ಒಂದೠವರà³à²·', + yy : '%d ವರà³à²·' + }, + preparse: function (string) { + return string.replace(/[೧೨೩೪೫೬à³à³®à³¯à³¦]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + meridiemParse: /ರಾತà³à²°à²¿|ಬೆಳಿಗà³à²—ೆ|ಮಧà³à²¯à²¾à²¹à³à²¨|ಸಂಜೆ/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'ರಾತà³à²°à²¿') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'ಬೆಳಿಗà³à²—ೆ') { + return hour; + } else if (meridiem === 'ಮಧà³à²¯à²¾à²¹à³à²¨') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'ಸಂಜೆ') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'ರಾತà³à²°à²¿'; + } else if (hour < 10) { + return 'ಬೆಳಿಗà³à²—ೆ'; + } else if (hour < 17) { + return 'ಮಧà³à²¯à²¾à²¹à³à²¨'; + } else if (hour < 20) { + return 'ಸಂಜೆ'; + } else { + return 'ರಾತà³à²°à²¿'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/, + ordinal : function (number) { + return number + 'ನೇ'; + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + return kn; + +}))); diff --git a/public/bower_components/moment/locale/ko.js b/public/bower_components/moment/locale/ko.js new file mode 100644 index 0000000..40f1bb5 --- /dev/null +++ b/public/bower_components/moment/locale/ko.js @@ -0,0 +1,80 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var ko = moment.defineLocale('ko', { + months : '1ì›”_2ì›”_3ì›”_4ì›”_5ì›”_6ì›”_7ì›”_8ì›”_9ì›”_10ì›”_11ì›”_12ì›”'.split('_'), + monthsShort : '1ì›”_2ì›”_3ì›”_4ì›”_5ì›”_6ì›”_7ì›”_8ì›”_9ì›”_10ì›”_11ì›”_12ì›”'.split('_'), + weekdays : 'ì¼ìš”ì¼_월요ì¼_화요ì¼_수요ì¼_목요ì¼_금요ì¼_í† ìš”ì¼'.split('_'), + weekdaysShort : 'ì¼_ì›”_í™”_수_목_금_í† '.split('_'), + weekdaysMin : 'ì¼_ì›”_í™”_수_목_금_í† '.split('_'), + longDateFormat : { + LT : 'A h:mm', + LTS : 'A h:mm:ss', + L : 'YYYY.MM.DD.', + LL : 'YYYYë…„ MMMM Dì¼', + LLL : 'YYYYë…„ MMMM Dì¼ A h:mm', + LLLL : 'YYYYë…„ MMMM Dì¼ dddd A h:mm', + l : 'YYYY.MM.DD.', + ll : 'YYYYë…„ MMMM Dì¼', + lll : 'YYYYë…„ MMMM Dì¼ A h:mm', + llll : 'YYYYë…„ MMMM Dì¼ dddd A h: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 : '1ë¶„', + mm : '%dë¶„', + h : '한 시간', + hh : '%d시간', + d : '하루', + dd : '%dì¼', + M : '한 달', + MM : '%d달', + y : 'ì¼ ë…„', + yy : '%dë…„' + }, + dayOfMonthOrdinalParse : /\d{1,2}(ì¼|ì›”|주)/, + ordinal : function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + 'ì¼'; + case 'M': + return number + 'ì›”'; + case 'w': + case 'W': + return number + '주'; + default: + return number; + } + }, + meridiemParse : /ì˜¤ì „|오후/, + isPM : function (token) { + return token === '오후'; + }, + meridiem : function (hour, minute, isUpper) { + return hour < 12 ? 'ì˜¤ì „' : '오후'; + } + }); + + return ko; + +}))); diff --git a/public/bower_components/moment/locale/ku.js b/public/bower_components/moment/locale/ku.js new file mode 100644 index 0000000..05b9dbe --- /dev/null +++ b/public/bower_components/moment/locale/ku.js @@ -0,0 +1,118 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var symbolMap = { + '1': 'Ù¡', + '2': 'Ù¢', + '3': 'Ù£', + '4': 'Ù¤', + '5': 'Ù¥', + '6': 'Ù¦', + '7': 'Ù§', + '8': 'Ù¨', + '9': 'Ù©', + '0': 'Ù ' + }, numberMap = { + 'Ù¡': '1', + 'Ù¢': '2', + 'Ù£': '3', + 'Ù¤': '4', + 'Ù¥': '5', + 'Ù¦': '6', + 'Ù§': '7', + 'Ù¨': '8', + 'Ù©': '9', + 'Ù ': '0' + }, + months = [ + 'کانونی دووەم', + 'شوبات', + 'ئازار', + 'نیسان', + 'ئایار', + 'ØÙˆØ²Û•یران', + 'تەمموز', + 'ئاب', + 'ئەیلوول', + 'تشرینی یەكەم', + 'تشرینی دووەم', + 'كانونی یەکەم' + ]; + + + var ku = moment.defineLocale('ku', { + months : months, + monthsShort : months, + weekdays : 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split('_'), + weekdaysShort : 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'), + weekdaysMin : 'ÛŒ_د_س_Ú†_Ù¾_Ù‡_Ø´'.split('_'), + weekdaysParseExact : true, + 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 (input) { + return /ئێواره‌/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'به‌یانی'; + } else { + return 'ئێواره‌'; + } + }, + 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 (string) { + return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { + return numberMap[match]; + }).replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }).replace(/,/g, 'ØŒ'); + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } + }); + + return ku; + +}))); diff --git a/public/bower_components/moment/locale/ky.js b/public/bower_components/moment/locale/ky.js new file mode 100644 index 0000000..8bd29a3 --- /dev/null +++ b/public/bower_components/moment/locale/ky.js @@ -0,0 +1,86 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var suffixes = { + 0: '-чү', + 1: '-чи', + 2: '-чи', + 3: '-чү', + 4: '-чү', + 5: '-чи', + 6: '-чы', + 7: '-чи', + 8: '-чи', + 9: '-чу', + 10: '-чу', + 20: '-чы', + 30: '-чу', + 40: '-чы', + 50: '-чү', + 60: '-чы', + 70: '-чи', + 80: '-чи', + 90: '-чу', + 100: '-чү' + }; + + var ky = moment.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 (number) { + var a = number % 10, + b = number >= 100 ? 100 : null; + return number + (suffixes[number] || suffixes[a] || suffixes[b]); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + return ky; + +}))); diff --git a/public/bower_components/moment/locale/lb.js b/public/bower_components/moment/locale/lb.js new file mode 100644 index 0000000..599a6e5 --- /dev/null +++ b/public/bower_components/moment/locale/lb.js @@ -0,0 +1,135 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + 'm': ['eng Minutt', 'enger Minutt'], + 'h': ['eng Stonn', 'enger Stonn'], + 'd': ['een Dag', 'engem Dag'], + 'M': ['ee Mount', 'engem Mount'], + 'y': ['ee Joer', 'engem Joer'] + }; + return withoutSuffix ? format[key][0] : format[key][1]; + } + function processFutureTime(string) { + var number = string.substr(0, string.indexOf(' ')); + if (eifelerRegelAppliesToNumber(number)) { + return 'a ' + string; + } + return 'an ' + string; + } + function processPastTime(string) { + var number = string.substr(0, string.indexOf(' ')); + if (eifelerRegelAppliesToNumber(number)) { + return 'viru ' + string; + } + return 'virun ' + string; + } + /** + * Returns true if the word before the given number loses the '-n' ending. + * e.g. 'an 10 Deeg' but 'a 5 Deeg' + * + * @param number {integer} + * @returns {boolean} + */ + function eifelerRegelAppliesToNumber(number) { + number = parseInt(number, 10); + if (isNaN(number)) { + return false; + } + if (number < 0) { + // Negative Number --> always true + return true; + } else if (number < 10) { + // Only 1 digit + if (4 <= number && number <= 7) { + return true; + } + return false; + } else if (number < 100) { + // 2 digits + var lastDigit = number % 10, firstDigit = number / 10; + if (lastDigit === 0) { + return eifelerRegelAppliesToNumber(firstDigit); + } + return eifelerRegelAppliesToNumber(lastDigit); + } else if (number < 10000) { + // 3 or 4 digits --> recursively check first digit + while (number >= 10) { + number = number / 10; + } + return eifelerRegelAppliesToNumber(number); + } else { + // Anything larger than 4 digits: recursively check first n-3 digits + number = number / 1000; + return eifelerRegelAppliesToNumber(number); + } + } + + var lb = moment.defineLocale('lb', { + months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), + monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'), + monthsParseExact : true, + weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'), + weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'), + weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'), + weekdaysParseExact : true, + longDateFormat: { + LT: 'H:mm [Auer]', + LTS: 'H:mm:ss [Auer]', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY H:mm [Auer]', + LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]' + }, + calendar: { + sameDay: '[Haut um] LT', + sameElse: 'L', + nextDay: '[Muer um] LT', + nextWeek: 'dddd [um] LT', + lastDay: '[Gëschter um] LT', + lastWeek: function () { + // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule + switch (this.day()) { + case 2: + case 4: + return '[Leschten] dddd [um] LT'; + default: + return '[Leschte] dddd [um] LT'; + } + } + }, + relativeTime : { + future : processFutureTime, + past : processPastTime, + s : 'e puer Sekonnen', + ss : '%d Sekonnen', + m : processRelativeTime, + mm : '%d Minutten', + h : processRelativeTime, + hh : '%d Stonnen', + d : processRelativeTime, + dd : '%d Deeg', + M : processRelativeTime, + MM : '%d Méint', + y : processRelativeTime, + yy : '%d Joer' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return lb; + +}))); diff --git a/public/bower_components/moment/locale/lo.js b/public/bower_components/moment/locale/lo.js new file mode 100644 index 0000000..7cd6cfc --- /dev/null +++ b/public/bower_components/moment/locale/lo.js @@ -0,0 +1,69 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var lo = moment.defineLocale('lo', { + months : 'ມັງàºàºàº™_àºàº¸àº¡àºžàº²_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_àºà»àº¥àº°àºàº»àº”_ສິງຫາ_àºàº±àº™àºàº²_ຕຸລາ_ພະຈິàº_ທັນວາ'.split('_'), + monthsShort : 'ມັງàºàºàº™_àºàº¸àº¡àºžàº²_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_àºà»àº¥àº°àºàº»àº”_ສິງຫາ_àºàº±àº™àºàº²_ຕຸລາ_ພະຈິàº_ທັນວາ'.split('_'), + weekdays : 'àºàº²àº—ິດ_ຈັນ_àºàº±àº‡àº„ານ_ພຸດ_ພະຫັດ_ສຸàº_ເສົາ'.split('_'), + weekdaysShort : 'ທິດ_ຈັນ_àºàº±àº‡àº„ານ_ພຸດ_ພະຫັດ_ສຸàº_ເສົາ'.split('_'), + weekdaysMin : 'ທ_ຈ_àºàº„_ພ_ພຫ_ສàº_ສ'.split('_'), + weekdaysParseExact : true, + 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 (input) { + return input === 'ຕàºàº™à»àº¥àº‡'; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'ຕàºàº™à»€àºŠàº»à»‰àº²'; + } else { + return 'ຕàºàº™à»àº¥àº‡'; + } + }, + calendar : { + sameDay : '[ມື້ນີ້ເວລາ] LT', + nextDay : '[ມື້àºàº·à»ˆàº™à»€àº§àº¥àº²] LT', + nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT', + lastDay : '[ມື້ວານນີ້ເວລາ] LT', + lastWeek : '[ວັນ]dddd[à»àº¥à»‰àº§àº™àºµà»‰à»€àº§àº¥àº²] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'àºàºµàº %s', + past : '%sຜ່ານມາ', + s : 'ບà»à»ˆà»€àº—ົ່າໃດວິນາທີ', + ss : '%d ວິນາທີ' , + m : '1 ນາທີ', + mm : '%d ນາທີ', + h : '1 ຊົ່ວໂມງ', + hh : '%d ຊົ່ວໂມງ', + d : '1 ມື້', + dd : '%d ມື້', + M : '1 ເດືàºàº™', + MM : '%d ເດືàºàº™', + y : '1 ປີ', + yy : '%d ປີ' + }, + dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/, + ordinal : function (number) { + return 'ທີ່' + number; + } + }); + + return lo; + +}))); diff --git a/public/bower_components/moment/locale/lt.js b/public/bower_components/moment/locale/lt.js new file mode 100644 index 0000000..bc7d7e7 --- /dev/null +++ b/public/bower_components/moment/locale/lt.js @@ -0,0 +1,117 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var units = { + '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' + }; + function translateSeconds(number, withoutSuffix, key, isFuture) { + if (withoutSuffix) { + return 'kelios sekundÄ—s'; + } else { + return isFuture ? 'kelių sekundžių' : 'kelias sekundes'; + } + } + function translateSingular(number, withoutSuffix, key, isFuture) { + return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]); + } + function special(number) { + return number % 10 === 0 || (number > 10 && number < 20); + } + function forms(key) { + return units[key].split('_'); + } + function translate(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + if (number === 1) { + return result + translateSingular(number, withoutSuffix, key[0], isFuture); + } else if (withoutSuffix) { + return result + (special(number) ? forms(key)[1] : forms(key)[0]); + } else { + if (isFuture) { + return result + forms(key)[1]; + } else { + return result + (special(number) ? forms(key)[1] : forms(key)[2]); + } + } + } + var lt = moment.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 : true, + 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 : translateSeconds, + ss : translate, + m : translateSingular, + mm : translate, + h : translateSingular, + hh : translate, + d : translateSingular, + dd : translate, + M : translateSingular, + MM : translate, + y : translateSingular, + yy : translate + }, + dayOfMonthOrdinalParse: /\d{1,2}-oji/, + ordinal : function (number) { + return number + '-oji'; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return lt; + +}))); diff --git a/public/bower_components/moment/locale/lv.js b/public/bower_components/moment/locale/lv.js new file mode 100644 index 0000000..b5b8ea8 --- /dev/null +++ b/public/bower_components/moment/locale/lv.js @@ -0,0 +1,96 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var units = { + 'ss': 'sekundes_sekundÄ“m_sekunde_sekundes'.split('_'), + 'm': 'minÅ«tes_minÅ«tÄ“m_minÅ«te_minÅ«tes'.split('_'), + 'mm': 'minÅ«tes_minÅ«tÄ“m_minÅ«te_minÅ«tes'.split('_'), + 'h': 'stundas_stundÄm_stunda_stundas'.split('_'), + 'hh': 'stundas_stundÄm_stunda_stundas'.split('_'), + 'd': 'dienas_dienÄm_diena_dienas'.split('_'), + 'dd': 'dienas_dienÄm_diena_dienas'.split('_'), + 'M': 'mÄ“neÅ¡a_mÄ“neÅ¡iem_mÄ“nesis_mÄ“neÅ¡i'.split('_'), + 'MM': 'mÄ“neÅ¡a_mÄ“neÅ¡iem_mÄ“nesis_mÄ“neÅ¡i'.split('_'), + 'y': 'gada_gadiem_gads_gadi'.split('_'), + 'yy': 'gada_gadiem_gads_gadi'.split('_') + }; + /** + * @param withoutSuffix boolean true = a length of time; false = before/after a period of time. + */ + function format(forms, number, withoutSuffix) { + if (withoutSuffix) { + // E.g. "21 minÅ«te", "3 minÅ«tes". + return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3]; + } else { + // E.g. "21 minÅ«tes" as in "pÄ“c 21 minÅ«tes". + // E.g. "3 minÅ«tÄ“m" as in "pÄ“c 3 minÅ«tÄ“m". + return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1]; + } + } + function relativeTimeWithPlural(number, withoutSuffix, key) { + return number + ' ' + format(units[key], number, withoutSuffix); + } + function relativeTimeWithSingular(number, withoutSuffix, key) { + return format(units[key], number, withoutSuffix); + } + function relativeSeconds(number, withoutSuffix) { + return withoutSuffix ? 'dažas sekundes' : 'dažÄm sekundÄ“m'; + } + + var lv = moment.defineLocale('lv', { + months : 'janvÄris_februÄris_marts_aprÄ«lis_maijs_jÅ«nijs_jÅ«lijs_augusts_septembris_oktobris_novembris_decembris'.split('_'), + monthsShort : 'jan_feb_mar_apr_mai_jÅ«n_jÅ«l_aug_sep_okt_nov_dec'.split('_'), + weekdays : 'svÄ“tdiena_pirmdiena_otrdiena_treÅ¡diena_ceturtdiena_piektdiena_sestdiena'.split('_'), + weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'), + weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD.MM.YYYY.', + LL : 'YYYY. [gada] D. MMMM', + LLL : 'YYYY. [gada] D. MMMM, HH:mm', + LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm' + }, + calendar : { + sameDay : '[Å odien pulksten] LT', + nextDay : '[RÄ«t pulksten] LT', + nextWeek : 'dddd [pulksten] LT', + lastDay : '[Vakar pulksten] LT', + lastWeek : '[PagÄjuÅ¡Ä] dddd [pulksten] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'pÄ“c %s', + past : 'pirms %s', + s : relativeSeconds, + ss : relativeTimeWithPlural, + m : relativeTimeWithSingular, + mm : relativeTimeWithPlural, + h : relativeTimeWithSingular, + hh : relativeTimeWithPlural, + d : relativeTimeWithSingular, + dd : relativeTimeWithPlural, + M : relativeTimeWithSingular, + MM : relativeTimeWithPlural, + y : relativeTimeWithSingular, + yy : relativeTimeWithPlural + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return lv; + +}))); diff --git a/public/bower_components/moment/locale/me.js b/public/bower_components/moment/locale/me.js new file mode 100644 index 0000000..6608d09 --- /dev/null +++ b/public/bower_components/moment/locale/me.js @@ -0,0 +1,111 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var translator = { + words: { //Different grammatical cases + ss: ['sekund', 'sekunda', 'sekundi'], + m: ['jedan minut', 'jednog minuta'], + mm: ['minut', 'minuta', 'minuta'], + h: ['jedan sat', 'jednog sata'], + hh: ['sat', 'sata', 'sati'], + dd: ['dan', 'dana', 'dana'], + MM: ['mjesec', 'mjeseca', 'mjeseci'], + yy: ['godina', 'godine', 'godina'] + }, + correctGrammaticalCase: function (number, wordKey) { + return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]); + }, + translate: function (number, withoutSuffix, key) { + var wordKey = translator.words[key]; + if (key.length === 1) { + return withoutSuffix ? wordKey[0] : wordKey[1]; + } else { + return number + ' ' + translator.correctGrammaticalCase(number, wordKey); + } + } + }; + + var me = moment.defineLocale('me', { + months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'), + monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'), + monthsParseExact : true, + weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota'.split('_'), + weekdaysShort: 'ned._pon._uto._sri._Äet._pet._sub.'.split('_'), + weekdaysMin: 'ne_po_ut_sr_Äe_pe_su'.split('_'), + weekdaysParseExact : true, + 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: '[danas u] LT', + nextDay: '[sjutra u] LT', + + nextWeek: function () { + switch (this.day()) { + case 0: + return '[u] [nedjelju] [u] LT'; + case 3: + return '[u] [srijedu] [u] LT'; + case 6: + return '[u] [subotu] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[u] dddd [u] LT'; + } + }, + lastDay : '[juÄe u] LT', + lastWeek : function () { + var lastWeekDays = [ + '[proÅ¡le] [nedjelje] [u] LT', + '[proÅ¡log] [ponedjeljka] [u] LT', + '[proÅ¡log] [utorka] [u] LT', + '[proÅ¡le] [srijede] [u] LT', + '[proÅ¡log] [Äetvrtka] [u] LT', + '[proÅ¡log] [petka] [u] LT', + '[proÅ¡le] [subote] [u] LT' + ]; + return lastWeekDays[this.day()]; + }, + sameElse : 'L' + }, + relativeTime : { + future : 'za %s', + past : 'prije %s', + s : 'nekoliko sekundi', + ss : translator.translate, + m : translator.translate, + mm : translator.translate, + h : translator.translate, + hh : translator.translate, + d : 'dan', + dd : translator.translate, + M : 'mjesec', + MM : translator.translate, + y : 'godinu', + yy : translator.translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + return me; + +}))); diff --git a/public/bower_components/moment/locale/mi.js b/public/bower_components/moment/locale/mi.js new file mode 100644 index 0000000..29f1c7a --- /dev/null +++ b/public/bower_components/moment/locale/mi.js @@ -0,0 +1,63 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var mi = moment.defineLocale('mi', { + months: 'Kohi-tÄte_Hui-tanguru_PoutÅ«-te-rangi_Paenga-whÄwhÄ_Haratua_Pipiri_HÅngoingoi_Here-turi-kÅkÄ_Mahuru_Whiringa-Ä-nuku_Whiringa-Ä-rangi_Hakihea'.split('_'), + monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_HÅngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'), + monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, + monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, + monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, + monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i, + weekdays: 'RÄtapu_Mane_TÅ«rei_Wenerei_TÄite_Paraire_HÄtarei'.split('_'), + weekdaysShort: 'Ta_Ma_TÅ«_We_TÄi_Pa_HÄ'.split('_'), + weekdaysMin: 'Ta_Ma_TÅ«_We_TÄi_Pa_HÄ'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY [i] HH:mm', + LLLL: 'dddd, D MMMM YYYY [i] HH:mm' + }, + calendar: { + sameDay: '[i teie mahana, i] LT', + nextDay: '[apopo i] LT', + nextWeek: 'dddd [i] LT', + lastDay: '[inanahi i] LT', + lastWeek: 'dddd [whakamutunga i] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'i roto i %s', + past: '%s i mua', + s: 'te hÄ“kona ruarua', + ss: '%d hÄ“kona', + m: 'he meneti', + mm: '%d meneti', + h: 'te haora', + hh: '%d haora', + d: 'he ra', + dd: '%d ra', + M: 'he marama', + MM: '%d marama', + y: 'he tau', + yy: '%d tau' + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return mi; + +}))); diff --git a/public/bower_components/moment/locale/mk.js b/public/bower_components/moment/locale/mk.js new file mode 100644 index 0000000..051f683 --- /dev/null +++ b/public/bower_components/moment/locale/mk.js @@ -0,0 +1,89 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var mk = moment.defineLocale('mk', { + months : 'јануари_февруари_март_април_мај_јуни_јули_авгуÑÑ‚_Ñептември_октомври_ноември_декември'.split('_'), + monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_Ñеп_окт_ное_дек'.split('_'), + weekdays : 'недела_понеделник_вторник_Ñреда_четврток_петок_Ñабота'.split('_'), + weekdaysShort : 'нед_пон_вто_Ñре_чет_пет_Ñаб'.split('_'), + weekdaysMin : 'нe_пo_вт_ÑÑ€_че_пе_Ña'.split('_'), + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'D.MM.YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY H:mm', + LLLL : 'dddd, D MMMM YYYY H:mm' + }, + calendar : { + sameDay : '[Ð”ÐµÐ½ÐµÑ Ð²Ð¾] LT', + nextDay : '[Утре во] LT', + nextWeek : '[Во] dddd [во] LT', + lastDay : '[Вчера во] LT', + lastWeek : function () { + switch (this.day()) { + case 0: + case 3: + case 6: + return '[Изминатата] dddd [во] LT'; + case 1: + case 2: + case 4: + case 5: + return '[Изминатиот] 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 (number) { + var lastDigit = number % 10, + last2Digits = number % 100; + if (number === 0) { + return number + '-ев'; + } else if (last2Digits === 0) { + return number + '-ен'; + } else if (last2Digits > 10 && last2Digits < 20) { + return number + '-ти'; + } else if (lastDigit === 1) { + return number + '-ви'; + } else if (lastDigit === 2) { + return number + '-ри'; + } else if (lastDigit === 7 || lastDigit === 8) { + return number + '-ми'; + } else { + return number + '-ти'; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + return mk; + +}))); diff --git a/public/bower_components/moment/locale/ml.js b/public/bower_components/moment/locale/ml.js new file mode 100644 index 0000000..806db47 --- /dev/null +++ b/public/bower_components/moment/locale/ml.js @@ -0,0 +1,80 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var ml = moment.defineLocale('ml', { + months : 'ജനàµà´µà´°à´¿_ഫെബàµà´°àµà´µà´°à´¿_മാർചàµà´šàµ_à´à´ªàµà´°à´¿àµ½_മേയàµ_ജൂൺ_ജൂലൈ_à´“à´—à´¸àµà´±àµà´±àµ_സെപàµà´±àµà´±à´‚ബർ_à´’à´•àµà´Ÿàµ‹à´¬àµ¼_നവംബർ_ഡിസംബർ'.split('_'), + monthsShort : 'ജനàµ._ഫെബàµà´°àµ._മാർ._à´à´ªàµà´°à´¿._മേയàµ_ജൂൺ_ജൂലൈ._à´“à´—._സെപàµà´±àµà´±._à´’à´•àµà´Ÿàµ‹._നവം._ഡിസം.'.split('_'), + monthsParseExact : true, + 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 : 'അൽപ നിമിഷങàµà´™àµ¾', + ss : '%d സെകàµà´•ൻഡàµ', + m : 'ഒരൠമിനിറàµà´±àµ', + mm : '%d മിനിറàµà´±àµ', + h : 'ഒരൠമണികàµà´•ൂർ', + hh : '%d മണികàµà´•ൂർ', + d : 'ഒരൠദിവസം', + dd : '%d ദിവസം', + M : 'ഒരൠമാസം', + MM : '%d മാസം', + y : 'ഒരൠവർഷം', + yy : '%d വർഷം' + }, + meridiemParse: /രാതàµà´°à´¿|രാവിലെ|ഉചàµà´š à´•à´´à´¿à´žàµà´žàµ|വൈകàµà´¨àµà´¨àµ‡à´°à´‚|രാതàµà´°à´¿/i, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if ((meridiem === 'രാതàµà´°à´¿' && hour >= 4) || + meridiem === 'ഉചàµà´š à´•à´´à´¿à´žàµà´žàµ' || + meridiem === 'വൈകàµà´¨àµà´¨àµ‡à´°à´‚') { + return hour + 12; + } else { + return hour; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'രാതàµà´°à´¿'; + } else if (hour < 12) { + return 'രാവിലെ'; + } else if (hour < 17) { + return 'ഉചàµà´š à´•à´´à´¿à´žàµà´žàµ'; + } else if (hour < 20) { + return 'വൈകàµà´¨àµà´¨àµ‡à´°à´‚'; + } else { + return 'രാതàµà´°à´¿'; + } + } + }); + + return ml; + +}))); diff --git a/public/bower_components/moment/locale/mn.js b/public/bower_components/moment/locale/mn.js new file mode 100644 index 0000000..f4b95c8 --- /dev/null +++ b/public/bower_components/moment/locale/mn.js @@ -0,0 +1,103 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + function translate(number, withoutSuffix, key, isFuture) { + switch (key) { + case 's': + return withoutSuffix ? 'Ñ…ÑдхÑн Ñекунд' : 'Ñ…ÑдхÑн Ñекундын'; + case 'ss': + return number + (withoutSuffix ? ' Ñекунд' : ' Ñекундын'); + case 'm': + case 'mm': + return number + (withoutSuffix ? ' минут' : ' минутын'); + case 'h': + case 'hh': + return number + (withoutSuffix ? ' цаг' : ' цагийн'); + case 'd': + case 'dd': + return number + (withoutSuffix ? ' өдөр' : ' өдрийн'); + case 'M': + case 'MM': + return number + (withoutSuffix ? ' Ñар' : ' Ñарын'); + case 'y': + case 'yy': + return number + (withoutSuffix ? ' жил' : ' жилийн'); + default: + return number; + } + } + + var mn = moment.defineLocale('mn', { + months : 'ÐÑгдүгÑÑÑ€ Ñар_Хоёрдугаар Ñар_Гуравдугаар Ñар_ДөрөвдүгÑÑÑ€ Ñар_Тавдугаар Ñар_Зургадугаар Ñар_Долдугаар Ñар_Ðаймдугаар Ñар_ЕÑдүгÑÑÑ€ Ñар_Ðравдугаар Ñар_Ðрван нÑгдүгÑÑÑ€ Ñар_Ðрван хоёрдугаар Ñар'.split('_'), + monthsShort : '1 Ñар_2 Ñар_3 Ñар_4 Ñар_5 Ñар_6 Ñар_7 Ñар_8 Ñар_9 Ñар_10 Ñар_11 Ñар_12 Ñар'.split('_'), + monthsParseExact : true, + weekdays : 'ÐÑм_Даваа_МÑгмар_Лхагва_ПүрÑв_БааÑан_БÑмба'.split('_'), + weekdaysShort : 'ÐÑм_Дав_МÑг_Лха_Пүр_Баа_БÑм'.split('_'), + weekdaysMin : 'ÐÑ_Да_МÑ_Лх_Пү_Ба_БÑ'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY-MM-DD', + LL : 'YYYY оны MMMMын D', + LLL : 'YYYY оны MMMMын D HH:mm', + LLLL : 'dddd, YYYY оны MMMMын D HH:mm' + }, + meridiemParse: /Ò®Ó¨|ҮХ/i, + isPM : function (input) { + return input === 'ҮХ'; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'Ò®Ó¨'; + } else { + return 'ҮХ'; + } + }, + calendar : { + sameDay : '[Өнөөдөр] LT', + nextDay : '[Маргааш] LT', + nextWeek : '[ИрÑÑ…] dddd LT', + lastDay : '[Өчигдөр] LT', + lastWeek : '[ӨнгөрÑөн] dddd LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s дараа', + past : '%s өмнө', + s : translate, + ss : translate, + m : translate, + mm : translate, + h : translate, + hh : translate, + d : translate, + dd : translate, + M : translate, + MM : translate, + y : translate, + yy : translate + }, + dayOfMonthOrdinalParse: /\d{1,2} өдөр/, + ordinal : function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + ' өдөр'; + default: + return number; + } + } + }); + + return mn; + +}))); diff --git a/public/bower_components/moment/locale/mr.js b/public/bower_components/moment/locale/mr.js new file mode 100644 index 0000000..984559f --- /dev/null +++ b/public/bower_components/moment/locale/mr.js @@ -0,0 +1,159 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var symbolMap = { + '1': '१', + '2': '२', + '3': '३', + '4': '४', + '5': '५', + '6': '६', + '7': 'à¥', + '8': '८', + '9': '९', + '0': '०' + }, + numberMap = { + '१': '1', + '२': '2', + '३': '3', + '४': '4', + '५': '5', + '६': '6', + 'à¥': '7', + '८': '8', + '९': '9', + '०': '0' + }; + + function relativeTimeMr(number, withoutSuffix, string, isFuture) + { + var output = ''; + if (withoutSuffix) { + switch (string) { + case 's': output = 'काही सेकंद'; break; + case 'ss': output = '%d सेकंद'; break; + case 'm': output = 'à¤à¤• मिनिट'; break; + case 'mm': output = '%d मिनिटे'; break; + case 'h': output = 'à¤à¤• तास'; break; + case 'hh': output = '%d तास'; break; + case 'd': output = 'à¤à¤• दिवस'; break; + case 'dd': output = '%d दिवस'; break; + case 'M': output = 'à¤à¤• महिना'; break; + case 'MM': output = '%d महिने'; break; + case 'y': output = 'à¤à¤• वरà¥à¤·'; break; + case 'yy': output = '%d वरà¥à¤·à¥‡'; break; + } + } + else { + switch (string) { + case 's': output = 'काही सेकंदां'; break; + case 'ss': output = '%d सेकंदां'; break; + case 'm': output = 'à¤à¤•ा मिनिटा'; break; + case 'mm': output = '%d मिनिटां'; break; + case 'h': output = 'à¤à¤•ा तासा'; break; + case 'hh': output = '%d तासां'; break; + case 'd': output = 'à¤à¤•ा दिवसा'; break; + case 'dd': output = '%d दिवसां'; break; + case 'M': output = 'à¤à¤•ा महिनà¥à¤¯à¤¾'; break; + case 'MM': output = '%d महिनà¥à¤¯à¤¾à¤‚'; break; + case 'y': output = 'à¤à¤•ा वरà¥à¤·à¤¾'; break; + case 'yy': output = '%d वरà¥à¤·à¤¾à¤‚'; break; + } + } + return output.replace(/%d/i, number); + } + + var mr = moment.defineLocale('mr', { + months : 'जानेवारी_फेबà¥à¤°à¥à¤µà¤¾à¤°à¥€_मारà¥à¤š_à¤à¤ªà¥à¤°à¤¿à¤²_मे_जून_जà¥à¤²à¥ˆ_ऑगसà¥à¤Ÿ_सपà¥à¤Ÿà¥‡à¤‚बर_ऑकà¥à¤Ÿà¥‹à¤¬à¤°_नोवà¥à¤¹à¥‡à¤‚बर_डिसेंबर'.split('_'), + monthsShort: 'जाने._फेबà¥à¤°à¥._मारà¥à¤š._à¤à¤ªà¥à¤°à¤¿._मे._जून._जà¥à¤²à¥ˆ._ऑग._सपà¥à¤Ÿà¥‡à¤‚._ऑकà¥à¤Ÿà¥‹._नोवà¥à¤¹à¥‡à¤‚._डिसें.'.split('_'), + monthsParseExact : true, + 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: relativeTimeMr, + ss: relativeTimeMr, + m: relativeTimeMr, + mm: relativeTimeMr, + h: relativeTimeMr, + hh: relativeTimeMr, + d: relativeTimeMr, + dd: relativeTimeMr, + M: relativeTimeMr, + MM: relativeTimeMr, + y: relativeTimeMr, + yy: relativeTimeMr + }, + preparse: function (string) { + return string.replace(/[१२३४५६à¥à¥®à¥¯à¥¦]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + meridiemParse: /रातà¥à¤°à¥€|सकाळी|दà¥à¤ªà¤¾à¤°à¥€|सायंकाळी/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'रातà¥à¤°à¥€') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'सकाळी') { + return hour; + } else if (meridiem === 'दà¥à¤ªà¤¾à¤°à¥€') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'सायंकाळी') { + return hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'रातà¥à¤°à¥€'; + } else if (hour < 10) { + return 'सकाळी'; + } else if (hour < 17) { + return 'दà¥à¤ªà¤¾à¤°à¥€'; + } else if (hour < 20) { + return 'सायंकाळी'; + } else { + return 'रातà¥à¤°à¥€'; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + return mr; + +}))); diff --git a/public/bower_components/moment/locale/ms-my.js b/public/bower_components/moment/locale/ms-my.js new file mode 100644 index 0000000..92014be --- /dev/null +++ b/public/bower_components/moment/locale/ms-my.js @@ -0,0 +1,81 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var msMy = moment.defineLocale('ms-my', { + months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'), + monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), + weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), + weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), + weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), + longDateFormat : { + LT : 'HH.mm', + LTS : 'HH.mm.ss', + L : 'DD/MM/YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY [pukul] HH.mm', + LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm' + }, + meridiemParse: /pagi|tengahari|petang|malam/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'pagi') { + return hour; + } else if (meridiem === 'tengahari') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'petang' || meridiem === 'malam') { + return hour + 12; + } + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 11) { + return 'pagi'; + } else if (hours < 15) { + return 'tengahari'; + } else if (hours < 19) { + return 'petang'; + } else { + return 'malam'; + } + }, + calendar : { + sameDay : '[Hari ini pukul] LT', + nextDay : '[Esok pukul] LT', + nextWeek : 'dddd [pukul] LT', + lastDay : '[Kelmarin pukul] LT', + lastWeek : 'dddd [lepas pukul] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'dalam %s', + past : '%s yang lepas', + s : 'beberapa saat', + ss : '%d saat', + m : 'seminit', + mm : '%d minit', + h : 'sejam', + hh : '%d jam', + d : 'sehari', + dd : '%d hari', + M : 'sebulan', + MM : '%d bulan', + y : 'setahun', + yy : '%d tahun' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + return msMy; + +}))); diff --git a/public/bower_components/moment/locale/ms.js b/public/bower_components/moment/locale/ms.js new file mode 100644 index 0000000..b499b5c --- /dev/null +++ b/public/bower_components/moment/locale/ms.js @@ -0,0 +1,81 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var ms = moment.defineLocale('ms', { + months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'), + monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), + weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), + weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), + weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), + longDateFormat : { + LT : 'HH.mm', + LTS : 'HH.mm.ss', + L : 'DD/MM/YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY [pukul] HH.mm', + LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm' + }, + meridiemParse: /pagi|tengahari|petang|malam/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'pagi') { + return hour; + } else if (meridiem === 'tengahari') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'petang' || meridiem === 'malam') { + return hour + 12; + } + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 11) { + return 'pagi'; + } else if (hours < 15) { + return 'tengahari'; + } else if (hours < 19) { + return 'petang'; + } else { + return 'malam'; + } + }, + calendar : { + sameDay : '[Hari ini pukul] LT', + nextDay : '[Esok pukul] LT', + nextWeek : 'dddd [pukul] LT', + lastDay : '[Kelmarin pukul] LT', + lastWeek : 'dddd [lepas pukul] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'dalam %s', + past : '%s yang lepas', + s : 'beberapa saat', + ss : '%d saat', + m : 'seminit', + mm : '%d minit', + h : 'sejam', + hh : '%d jam', + d : 'sehari', + dd : '%d hari', + M : 'sebulan', + MM : '%d bulan', + y : 'setahun', + yy : '%d tahun' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + return ms; + +}))); diff --git a/public/bower_components/moment/locale/mt.js b/public/bower_components/moment/locale/mt.js new file mode 100644 index 0000000..4a34c5d --- /dev/null +++ b/public/bower_components/moment/locale/mt.js @@ -0,0 +1,59 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var mt = moment.defineLocale('mt', { + months : 'Jannar_Frar_Marzu_April_Mejju_Ä unju_Lulju_Awwissu_Settembru_Ottubru_Novembru_DiÄ‹embru'.split('_'), + monthsShort : 'Jan_Fra_Mar_Apr_Mej_Ä un_Lul_Aww_Set_Ott_Nov_DiÄ‹'.split('_'), + weekdays : 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ä imgħa_Is-Sibt'.split('_'), + weekdaysShort : 'Ħad_Tne_Tli_Erb_Ħam_Ä im_Sib'.split('_'), + weekdaysMin : 'Ħa_Tn_Tl_Er_Ħa_Ä i_Si'.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 : '[Illum fil-]LT', + nextDay : '[Għada fil-]LT', + nextWeek : 'dddd [fil-]LT', + lastDay : '[Il-bieraħ fil-]LT', + lastWeek : 'dddd [li għadda] [fil-]LT', + sameElse : 'L' + }, + relativeTime : { + future : 'f’ %s', + past : '%s ilu', + s : 'ftit sekondi', + ss : '%d sekondi', + m : 'minuta', + mm : '%d minuti', + h : 'siegħa', + hh : '%d siegħat', + d : 'Ä¡urnata', + dd : '%d Ä¡ranet', + M : 'xahar', + MM : '%d xhur', + y : 'sena', + yy : '%d sni' + }, + dayOfMonthOrdinalParse : /\d{1,2}º/, + ordinal: '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return mt; + +}))); diff --git a/public/bower_components/moment/locale/my.js b/public/bower_components/moment/locale/my.js new file mode 100644 index 0000000..ca3102a --- /dev/null +++ b/public/bower_components/moment/locale/my.js @@ -0,0 +1,92 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var symbolMap = { + '1': 'á', + '2': 'á‚', + '3': 'áƒ', + '4': 'á„', + '5': 'á…', + '6': 'á†', + '7': 'á‡', + '8': 'áˆ', + '9': 'á‰', + '0': 'á€' + }, numberMap = { + 'á': '1', + 'á‚': '2', + 'áƒ': '3', + 'á„': '4', + 'á…': '5', + 'á†': '6', + 'á‡': '7', + 'áˆ': '8', + 'á‰': '9', + 'á€': '0' + }; + + var my = moment.defineLocale('my', { + 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 နှစ်' + }, + preparse: function (string) { + return string.replace(/[áá‚áƒá„á…á†á‡áˆá‰á€]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return my; + +}))); diff --git a/public/bower_components/moment/locale/nb.js b/public/bower_components/moment/locale/nb.js new file mode 100644 index 0000000..f229810 --- /dev/null +++ b/public/bower_components/moment/locale/nb.js @@ -0,0 +1,61 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var nb = moment.defineLocale('nb', { + months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'), + monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'), + monthsParseExact : true, + weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), + weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'), + weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD.MM.YYYY', + LL : 'D. MMMM YYYY', + LLL : 'D. MMMM YYYY [kl.] HH:mm', + LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm' + }, + calendar : { + sameDay: '[i dag kl.] LT', + nextDay: '[i morgen kl.] LT', + nextWeek: 'dddd [kl.] LT', + lastDay: '[i gÃ¥r kl.] LT', + lastWeek: '[forrige] dddd [kl.] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'om %s', + past : '%s siden', + s : 'noen sekunder', + ss : '%d sekunder', + m : 'ett minutt', + mm : '%d minutter', + h : 'en time', + hh : '%d timer', + d : 'en dag', + dd : '%d dager', + M : 'en mÃ¥ned', + MM : '%d mÃ¥neder', + y : 'ett Ã¥r', + yy : '%d Ã¥r' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return nb; + +}))); diff --git a/public/bower_components/moment/locale/ne.js b/public/bower_components/moment/locale/ne.js new file mode 100644 index 0000000..21c03a8 --- /dev/null +++ b/public/bower_components/moment/locale/ne.js @@ -0,0 +1,122 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var symbolMap = { + '1': '१', + '2': '२', + '3': '३', + '4': '४', + '5': '५', + '6': '६', + '7': 'à¥', + '8': '८', + '9': '९', + '0': '०' + }, + numberMap = { + '१': '1', + '२': '2', + '३': '3', + '४': '4', + '५': '5', + '६': '6', + 'à¥': '7', + '८': '8', + '९': '9', + '०': '0' + }; + + var ne = moment.defineLocale('ne', { + months : 'जनवरी_फेबà¥à¤°à¥à¤µà¤°à¥€_मारà¥à¤š_अपà¥à¤°à¤¿à¤²_मई_जà¥à¤¨_जà¥à¤²à¤¾à¤ˆ_अगषà¥à¤Ÿ_सेपà¥à¤Ÿà¥‡à¤®à¥à¤¬à¤°_अकà¥à¤Ÿà¥‹à¤¬à¤°_नोà¤à¥‡à¤®à¥à¤¬à¤°_डिसेमà¥à¤¬à¤°'.split('_'), + monthsShort : 'जन._फेबà¥à¤°à¥._मारà¥à¤š_अपà¥à¤°à¤¿._मई_जà¥à¤¨_जà¥à¤²à¤¾à¤ˆ._अग._सेपà¥à¤Ÿ._अकà¥à¤Ÿà¥‹._नोà¤à¥‡._डिसे.'.split('_'), + monthsParseExact : true, + weekdays : 'आइतबार_सोमबार_मङà¥à¤—लबार_बà¥à¤§à¤¬à¤¾à¤°_बिहिबार_शà¥à¤•à¥à¤°à¤¬à¤¾à¤°_शनिबार'.split('_'), + weekdaysShort : 'आइत._सोम._मङà¥à¤—ल._बà¥à¤§._बिहि._शà¥à¤•à¥à¤°._शनि.'.split('_'), + weekdaysMin : 'आ._सो._मं._बà¥._बि._शà¥._श.'.split('_'), + weekdaysParseExact : true, + 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 (string) { + return string.replace(/[१२३४५६à¥à¥®à¥¯à¥¦]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + meridiemParse: /राति|बिहान|दिउà¤à¤¸à¥‹|साà¤à¤/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'राति') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'बिहान') { + return hour; + } else if (meridiem === 'दिउà¤à¤¸à¥‹') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'साà¤à¤') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 3) { + return 'राति'; + } else if (hour < 12) { + return 'बिहान'; + } else if (hour < 16) { + return 'दिउà¤à¤¸à¥‹'; + } else if (hour < 20) { + return 'साà¤à¤'; + } else { + return 'राति'; + } + }, + 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, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + return ne; + +}))); diff --git a/public/bower_components/moment/locale/nl-be.js b/public/bower_components/moment/locale/nl-be.js new file mode 100644 index 0000000..479e291 --- /dev/null +++ b/public/bower_components/moment/locale/nl-be.js @@ -0,0 +1,86 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'), + monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'); + + var monthsParse = [/^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]; + var monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; + + var nlBe = moment.defineLocale('nl-be', { + months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'), + monthsShort : function (m, format) { + if (!m) { + return monthsShortWithDots; + } else if (/-MMM-/.test(format)) { + return monthsShortWithoutDots[m.month()]; + } else { + return monthsShortWithDots[m.month()]; + } + }, + + monthsRegex: monthsRegex, + monthsShortRegex: monthsRegex, + monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, + monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, + + monthsParse : monthsParse, + longMonthsParse : monthsParse, + shortMonthsParse : monthsParse, + + 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 : true, + 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 (number) { + return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return nlBe; + +}))); diff --git a/public/bower_components/moment/locale/nl.js b/public/bower_components/moment/locale/nl.js new file mode 100644 index 0000000..11e78b9 --- /dev/null +++ b/public/bower_components/moment/locale/nl.js @@ -0,0 +1,86 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'), + monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'); + + var monthsParse = [/^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]; + var monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; + + var nl = moment.defineLocale('nl', { + months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'), + monthsShort : function (m, format) { + if (!m) { + return monthsShortWithDots; + } else if (/-MMM-/.test(format)) { + return monthsShortWithoutDots[m.month()]; + } else { + return monthsShortWithDots[m.month()]; + } + }, + + monthsRegex: monthsRegex, + monthsShortRegex: monthsRegex, + monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, + monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, + + monthsParse : monthsParse, + longMonthsParse : monthsParse, + shortMonthsParse : monthsParse, + + 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 : true, + 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 (number) { + return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return nl; + +}))); diff --git a/public/bower_components/moment/locale/nn.js b/public/bower_components/moment/locale/nn.js new file mode 100644 index 0000000..5fa3550 --- /dev/null +++ b/public/bower_components/moment/locale/nn.js @@ -0,0 +1,59 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var nn = moment.defineLocale('nn', { + months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'), + monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), + weekdays : 'sundag_mÃ¥ndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'), + weekdaysShort : 'sun_mÃ¥n_tys_ons_tor_fre_lau'.split('_'), + weekdaysMin : 'su_mÃ¥_ty_on_to_fr_lø'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD.MM.YYYY', + LL : 'D. MMMM YYYY', + LLL : 'D. MMMM YYYY [kl.] H:mm', + LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm' + }, + calendar : { + sameDay: '[I dag klokka] LT', + nextDay: '[I morgon klokka] LT', + nextWeek: 'dddd [klokka] LT', + lastDay: '[I gÃ¥r klokka] LT', + lastWeek: '[FøregÃ¥ande] dddd [klokka] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'om %s', + past : '%s sidan', + s : 'nokre sekund', + ss : '%d sekund', + m : 'eit minutt', + mm : '%d minutt', + h : 'ein time', + hh : '%d timar', + d : 'ein dag', + dd : '%d dagar', + M : 'ein mÃ¥nad', + MM : '%d mÃ¥nader', + y : 'eit Ã¥r', + yy : '%d Ã¥r' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return nn; + +}))); diff --git a/public/bower_components/moment/locale/pa-in.js b/public/bower_components/moment/locale/pa-in.js new file mode 100644 index 0000000..58ae128 --- /dev/null +++ b/public/bower_components/moment/locale/pa-in.js @@ -0,0 +1,123 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var symbolMap = { + '1': 'à©§', + '2': '੨', + '3': 'à©©', + '4': '੪', + '5': 'à©«', + '6': '੬', + '7': 'à©', + '8': 'à©®', + '9': '੯', + '0': '੦' + }, + numberMap = { + 'à©§': '1', + '੨': '2', + 'à©©': '3', + '੪': '4', + 'à©«': '5', + '੬': '6', + 'à©': '7', + 'à©®': '8', + '੯': '9', + '੦': '0' + }; + + var paIn = moment.defineLocale('pa-in', { + // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi. + months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪà©à¨°à©ˆà¨²_ਮਈ_ਜੂਨ_ਜà©à¨²à¨¾à¨ˆ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'), + monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪà©à¨°à©ˆà¨²_ਮਈ_ਜੂਨ_ਜà©à¨²à¨¾à¨ˆ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'), + 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 : 'ਕà©à¨ ਸਕਿੰਟ', + ss : '%d ਸਕਿੰਟ', + m : 'ਇਕ ਮਿੰਟ', + mm : '%d ਮਿੰਟ', + h : 'ਇੱਕ ਘੰਟਾ', + hh : '%d ਘੰਟੇ', + d : 'ਇੱਕ ਦਿਨ', + dd : '%d ਦਿਨ', + M : 'ਇੱਕ ਮਹੀਨਾ', + MM : '%d ਮਹੀਨੇ', + y : 'ਇੱਕ ਸਾਲ', + yy : '%d ਸਾਲ' + }, + preparse: function (string) { + return string.replace(/[੧੨੩੪੫੬à©à©®à©¯à©¦]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + // Punjabi notation for meridiems are quite fuzzy in practice. While there exists + // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi. + meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦà©à¨ªà¨¹à¨¿à¨°|ਸ਼ਾਮ/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'ਰਾਤ') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'ਸਵੇਰ') { + return hour; + } else if (meridiem === 'ਦà©à¨ªà¨¹à¨¿à¨°') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'ਸ਼ਾਮ') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'ਰਾਤ'; + } else if (hour < 10) { + return 'ਸਵੇਰ'; + } else if (hour < 17) { + return 'ਦà©à¨ªà¨¹à¨¿à¨°'; + } else if (hour < 20) { + return 'ਸ਼ਾਮ'; + } else { + return 'ਰਾਤ'; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + return paIn; + +}))); diff --git a/public/bower_components/moment/locale/pl.js b/public/bower_components/moment/locale/pl.js new file mode 100644 index 0000000..4c9c71a --- /dev/null +++ b/public/bower_components/moment/locale/pl.js @@ -0,0 +1,125 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var monthsNominative = 'styczeÅ„_luty_marzec_kwiecieÅ„_maj_czerwiec_lipiec_sierpieÅ„_wrzesieÅ„_październik_listopad_grudzieÅ„'.split('_'), + monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrzeÅ›nia_października_listopada_grudnia'.split('_'); + function plural(n) { + return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1); + } + function translate(number, withoutSuffix, key) { + var result = number + ' '; + switch (key) { + case 'ss': + return result + (plural(number) ? 'sekundy' : 'sekund'); + case 'm': + return withoutSuffix ? 'minuta' : 'minutÄ™'; + case 'mm': + return result + (plural(number) ? 'minuty' : 'minut'); + case 'h': + return withoutSuffix ? 'godzina' : 'godzinÄ™'; + case 'hh': + return result + (plural(number) ? 'godziny' : 'godzin'); + case 'MM': + return result + (plural(number) ? 'miesiÄ…ce' : 'miesiÄ™cy'); + case 'yy': + return result + (plural(number) ? 'lata' : 'lat'); + } + } + + var pl = moment.defineLocale('pl', { + months : function (momentToFormat, format) { + if (!momentToFormat) { + return monthsNominative; + } else if (format === '') { + // Hack: if format empty we know this is used to generate + // RegExp by moment. Give then back both valid forms of months + // in RegExp ready format. + return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')'; + } else if (/D MMMM/.test(format)) { + return monthsSubjective[momentToFormat.month()]; + } else { + return monthsNominative[momentToFormat.month()]; + } + }, + 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 : translate, + m : translate, + mm : translate, + h : translate, + hh : translate, + d : '1 dzieÅ„', + dd : '%d dni', + M : 'miesiÄ…c', + MM : translate, + y : 'rok', + yy : translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return pl; + +}))); diff --git a/public/bower_components/moment/locale/pt-br.js b/public/bower_components/moment/locale/pt-br.js new file mode 100644 index 0000000..6cad591 --- /dev/null +++ b/public/bower_components/moment/locale/pt-br.js @@ -0,0 +1,60 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var ptBr = moment.defineLocale('pt-br', { + months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'), + monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), + weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'), + weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), + weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD/MM/YYYY', + LL : 'D [de] MMMM [de] YYYY', + LLL : 'D [de] MMMM [de] YYYY [à s] HH:mm', + LLLL : 'dddd, D [de] MMMM [de] YYYY [à s] HH:mm' + }, + calendar : { + sameDay: '[Hoje à s] LT', + nextDay: '[Amanhã à s] LT', + nextWeek: 'dddd [à s] LT', + lastDay: '[Ontem à s] LT', + lastWeek: function () { + return (this.day() === 0 || this.day() === 6) ? + '[Último] dddd [à s] LT' : // Saturday + Sunday + '[Última] dddd [à s] LT'; // Monday - Friday + }, + sameElse: 'L' + }, + relativeTime : { + future : 'em %s', + past : 'há %s', + s : 'poucos segundos', + ss : '%d segundos', + m : 'um minuto', + mm : '%d minutos', + h : 'uma hora', + hh : '%d horas', + d : 'um dia', + dd : '%d dias', + M : 'um mês', + MM : '%d meses', + y : 'um ano', + yy : '%d anos' + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal : '%dº' + }); + + return ptBr; + +}))); diff --git a/public/bower_components/moment/locale/pt.js b/public/bower_components/moment/locale/pt.js new file mode 100644 index 0000000..534f1c8 --- /dev/null +++ b/public/bower_components/moment/locale/pt.js @@ -0,0 +1,64 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var pt = moment.defineLocale('pt', { + months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'), + monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), + weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'), + weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), + weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD/MM/YYYY', + LL : 'D [de] MMMM [de] YYYY', + LLL : 'D [de] MMMM [de] YYYY HH:mm', + LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm' + }, + calendar : { + sameDay: '[Hoje à s] LT', + nextDay: '[Amanhã à s] LT', + nextWeek: 'dddd [à s] LT', + lastDay: '[Ontem à s] LT', + lastWeek: function () { + return (this.day() === 0 || this.day() === 6) ? + '[Último] dddd [à s] LT' : // Saturday + Sunday + '[Última] dddd [à s] LT'; // Monday - Friday + }, + sameElse: 'L' + }, + relativeTime : { + future : 'em %s', + past : 'há %s', + s : 'segundos', + ss : '%d segundos', + m : 'um minuto', + mm : '%d minutos', + h : 'uma hora', + hh : '%d horas', + d : 'um dia', + dd : '%d dias', + M : 'um mês', + MM : '%d meses', + y : 'um ano', + yy : '%d anos' + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal : '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return pt; + +}))); diff --git a/public/bower_components/moment/locale/ro.js b/public/bower_components/moment/locale/ro.js new file mode 100644 index 0000000..15bea09 --- /dev/null +++ b/public/bower_components/moment/locale/ro.js @@ -0,0 +1,74 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + function relativeTimeWithPlural(number, withoutSuffix, key) { + var format = { + 'ss': 'secunde', + 'mm': 'minute', + 'hh': 'ore', + 'dd': 'zile', + 'MM': 'luni', + 'yy': 'ani' + }, + separator = ' '; + if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) { + separator = ' de '; + } + return number + separator + format[key]; + } + + var ro = moment.defineLocale('ro', { + months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'), + monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'), + monthsParseExact: true, + weekdays : 'duminică_luni_marÈ›i_miercuri_joi_vineri_sâmbătă'.split('_'), + weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'), + weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'), + 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: '[azi la] LT', + nextDay: '[mâine la] LT', + nextWeek: 'dddd [la] LT', + lastDay: '[ieri la] LT', + lastWeek: '[fosta] dddd [la] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'peste %s', + past : '%s în urmă', + s : 'câteva secunde', + ss : relativeTimeWithPlural, + m : 'un minut', + mm : relativeTimeWithPlural, + h : 'o oră', + hh : relativeTimeWithPlural, + d : 'o zi', + dd : relativeTimeWithPlural, + M : 'o lună', + MM : relativeTimeWithPlural, + y : 'un an', + yy : relativeTimeWithPlural + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + return ro; + +}))); diff --git a/public/bower_components/moment/locale/ru.js b/public/bower_components/moment/locale/ru.js new file mode 100644 index 0000000..7afb7b5 --- /dev/null +++ b/public/bower_components/moment/locale/ru.js @@ -0,0 +1,181 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + function plural(word, num) { + var forms = word.split('_'); + return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]); + } + function relativeTimeWithPlural(number, withoutSuffix, key) { + var format = { + 'ss': withoutSuffix ? 'Ñекунда_Ñекунды_Ñекунд' : 'Ñекунду_Ñекунды_Ñекунд', + 'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут', + 'hh': 'чаÑ_чаÑа_чаÑов', + 'dd': 'день_днÑ_дней', + 'MM': 'меÑÑц_меÑÑца_меÑÑцев', + 'yy': 'год_года_лет' + }; + if (key === 'm') { + return withoutSuffix ? 'минута' : 'минуту'; + } + else { + return number + ' ' + plural(format[key], +number); + } + } + var monthsParse = [/^Ñнв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йÑ]/i, /^июн/i, /^июл/i, /^авг/i, /^Ñен/i, /^окт/i, /^ноÑ/i, /^дек/i]; + + // http://new.gramota.ru/spravka/rules/139-prop : § 103 + // Ð¡Ð¾ÐºÑ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð¼ÐµÑÑцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637 + // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753 + var ru = moment.defineLocale('ru', { + months : { + format: 'ÑнварÑ_февралÑ_марта_апрелÑ_маÑ_июнÑ_июлÑ_авгуÑта_ÑентÑбрÑ_октÑбрÑ_ноÑбрÑ_декабрÑ'.split('_'), + standalone: 'Ñнварь_февраль_март_апрель_май_июнь_июль_авгуÑÑ‚_ÑентÑбрь_октÑбрь_ноÑбрь_декабрь'.split('_') + }, + monthsShort : { + // по CLDR именно "июл." и "июн.", но какой ÑмыÑл менÑть букву на точку ? + format: 'Ñнв._февр._мар._апр._маÑ_июнÑ_июлÑ_авг._Ñент._окт._ноÑб._дек.'.split('_'), + standalone: 'Ñнв._февр._март_апр._май_июнь_июль_авг._Ñент._окт._ноÑб._дек.'.split('_') + }, + weekdays : { + standalone: 'воÑкреÑенье_понедельник_вторник_Ñреда_четверг_пÑтница_Ñуббота'.split('_'), + format: 'воÑкреÑенье_понедельник_вторник_Ñреду_четверг_пÑтницу_Ñубботу'.split('_'), + isFormat: /\[ ?[Вв] ?(?:прошлую|Ñледующую|Ñту)? ?\] ?dddd/ + }, + weekdaysShort : 'вÑ_пн_вт_ÑÑ€_чт_пт_Ñб'.split('_'), + weekdaysMin : 'вÑ_пн_вт_ÑÑ€_чт_пт_Ñб'.split('_'), + monthsParse : monthsParse, + longMonthsParse : monthsParse, + shortMonthsParse : monthsParse, + + // полные Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ð°Ð´ÐµÐ¶Ð°Ð¼Ð¸, по три буквы, Ð´Ð»Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ…, по 4 буквы, ÑÐ¾ÐºÑ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ñ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹ и без точки + monthsRegex: /^(Ñнвар[ÑŒÑ]|Ñнв\.?|феврал[ÑŒÑ]|февр?\.?|марта?|мар\.?|апрел[ÑŒÑ]|апр\.?|ма[йÑ]|июн[ÑŒÑ]|июн\.?|июл[ÑŒÑ]|июл\.?|авгуÑта?|авг\.?|ÑентÑбр[ÑŒÑ]|Ñент?\.?|октÑбр[ÑŒÑ]|окт\.?|ноÑбр[ÑŒÑ]|ноÑб?\.?|декабр[ÑŒÑ]|дек\.?)/i, + + // ÐºÐ¾Ð¿Ð¸Ñ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ³Ð¾ + monthsShortRegex: /^(Ñнвар[ÑŒÑ]|Ñнв\.?|феврал[ÑŒÑ]|февр?\.?|марта?|мар\.?|апрел[ÑŒÑ]|апр\.?|ма[йÑ]|июн[ÑŒÑ]|июн\.?|июл[ÑŒÑ]|июл\.?|авгуÑта?|авг\.?|ÑентÑбр[ÑŒÑ]|Ñент?\.?|октÑбр[ÑŒÑ]|окт\.?|ноÑбр[ÑŒÑ]|ноÑб?\.?|декабр[ÑŒÑ]|дек\.?)/i, + + // полные Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ð°Ð´ÐµÐ¶Ð°Ð¼Ð¸ + monthsStrictRegex: /^(Ñнвар[ÑÑŒ]|феврал[ÑÑŒ]|марта?|апрел[ÑÑŒ]|ма[Ñй]|июн[ÑÑŒ]|июл[ÑÑŒ]|авгуÑта?|ÑентÑбр[ÑÑŒ]|октÑбр[ÑÑŒ]|ноÑбр[ÑÑŒ]|декабр[ÑÑŒ])/i, + + // Выражение, которое ÑоотвеÑтвует только Ñокращённым формам + monthsShortStrictRegex: /^(Ñнв\.|февр?\.|мар[Ñ‚.]|апр\.|ма[Ñй]|июн[ÑŒÑ.]|июл[ÑŒÑ.]|авг\.|Ñент?\.|окт\.|ноÑб?\.|дек\.)/i, + 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: '[СегоднÑ, в] LT', + nextDay: '[Завтра, в] LT', + lastDay: '[Вчера, в] LT', + nextWeek: function (now) { + if (now.week() !== this.week()) { + switch (this.day()) { + case 0: + return '[Ð’ Ñледующее] dddd, [в] LT'; + case 1: + case 2: + case 4: + return '[Ð’ Ñледующий] dddd, [в] LT'; + case 3: + case 5: + case 6: + return '[Ð’ Ñледующую] dddd, [в] LT'; + } + } else { + if (this.day() === 2) { + return '[Во] dddd, [в] LT'; + } else { + return '[Ð’] dddd, [в] LT'; + } + } + }, + lastWeek: function (now) { + if (now.week() !== this.week()) { + switch (this.day()) { + case 0: + return '[Ð’ прошлое] dddd, [в] LT'; + case 1: + case 2: + case 4: + return '[Ð’ прошлый] dddd, [в] LT'; + case 3: + case 5: + case 6: + return '[Ð’ прошлую] dddd, [в] LT'; + } + } else { + if (this.day() === 2) { + return '[Во] dddd, [в] LT'; + } else { + return '[Ð’] dddd, [в] LT'; + } + } + }, + sameElse: 'L' + }, + relativeTime : { + future : 'через %s', + past : '%s назад', + s : 'неÑколько Ñекунд', + ss : relativeTimeWithPlural, + m : relativeTimeWithPlural, + mm : relativeTimeWithPlural, + h : 'чаÑ', + hh : relativeTimeWithPlural, + d : 'день', + dd : relativeTimeWithPlural, + M : 'меÑÑц', + MM : relativeTimeWithPlural, + y : 'год', + yy : relativeTimeWithPlural + }, + meridiemParse: /ночи|утра|днÑ|вечера/i, + isPM : function (input) { + return /^(днÑ|вечера)$/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'ночи'; + } else if (hour < 12) { + return 'утра'; + } else if (hour < 17) { + return 'днÑ'; + } else { + return 'вечера'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(й|го|Ñ)/, + ordinal: function (number, period) { + switch (period) { + case 'M': + case 'd': + case 'DDD': + return number + '-й'; + case 'D': + return number + '-го'; + case 'w': + case 'W': + return number + '-Ñ'; + default: + return number; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return ru; + +}))); diff --git a/public/bower_components/moment/locale/sd.js b/public/bower_components/moment/locale/sd.js new file mode 100644 index 0000000..1299238 --- /dev/null +++ b/public/bower_components/moment/locale/sd.js @@ -0,0 +1,97 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var months = [ + 'جنوري', + 'Ùيبروري', + 'مارچ', + 'اپريل', + 'مئي', + 'جون', + 'جولاءÙ', + 'آگسٽ', + 'سيپٽمبر', + 'آڪٽوبر', + 'نومبر', + 'ڊسمبر' + ]; + var days = [ + 'آچر', + 'سومر', + 'اڱارو', + 'اربع', + 'خميس', + 'جمع', + 'ڇنڇر' + ]; + + var sd = moment.defineLocale('sd', { + months : months, + monthsShort : months, + weekdays : days, + weekdaysShort : days, + weekdaysMin : days, + 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 (input) { + return 'شام' === input; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'صبØ'; + } + return 'شام'; + }, + 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 (string) { + return string.replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/,/g, 'ØŒ'); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return sd; + +}))); diff --git a/public/bower_components/moment/locale/se.js b/public/bower_components/moment/locale/se.js new file mode 100644 index 0000000..4b04678 --- /dev/null +++ b/public/bower_components/moment/locale/se.js @@ -0,0 +1,59 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var se = moment.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, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return se; + +}))); diff --git a/public/bower_components/moment/locale/si.js b/public/bower_components/moment/locale/si.js new file mode 100644 index 0000000..52dc608 --- /dev/null +++ b/public/bower_components/moment/locale/si.js @@ -0,0 +1,70 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + /*jshint -W100*/ + var si = moment.defineLocale('si', { + months : 'ජනවà·à¶»à·’_පෙබරවà·à¶»à·’_මà·à¶»à·Šà¶à·”_à¶…à¶´à·Šâ€à¶»à·šà¶½à·Š_මà·à¶ºà·’_ජූනි_ජූලි_à¶…à¶œà·à·ƒà·Šà¶à·”_à·ƒà·à¶´à·Šà¶à·à¶¸à·Šà¶¶à¶»à·Š_ඔක්à¶à·à¶¶à¶»à·Š_නොවà·à¶¸à·Šà¶¶à¶»à·Š_දෙසà·à¶¸à·Šà¶¶à¶»à·Š'.split('_'), + monthsShort : 'ජන_පෙබ_මà·à¶»à·Š_à¶…à¶´à·Š_මà·à¶ºà·’_ජූනි_ජූලි_à¶…à¶œà·_à·ƒà·à¶´à·Š_ඔක්_නොවà·_දෙසà·'.split('_'), + weekdays : 'ඉරිදà·_සඳුදà·_අඟහරුවà·à¶¯à·_බදà·à¶¯à·_à¶¶à·Šâ€à¶»à·„ස්පà¶à·’න්දà·_සිකුරà·à¶¯à·_සෙනසුරà·à¶¯à·'.split('_'), + weekdaysShort : 'ඉරි_සඳු_à¶…à¶Ÿ_බදà·_à¶¶à·Šâ€à¶»à·„_සිකු_සෙන'.split('_'), + weekdaysMin : 'ඉ_à·ƒ_à¶…_à¶¶_à¶¶à·Šâ€à¶»_සි_සෙ'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'a h:mm', + LTS : 'a h:mm:ss', + L : 'YYYY/MM/DD', + LL : 'YYYY MMMM D', + LLL : 'YYYY MMMM D, a h:mm', + LLLL : 'YYYY MMMM D [à·€à·à¶±à·’] dddd, a h:mm:ss' + }, + 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 (number) { + return number + ' à·€à·à¶±à·’'; + }, + meridiemParse : /පෙර වරු|පස් වරු|à¶´à·™.à·€|à¶´.à·€./, + isPM : function (input) { + return input === 'à¶´.à·€.' || input === 'පස් වරු'; + }, + meridiem : function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'à¶´.à·€.' : 'පස් වරු'; + } else { + return isLower ? 'à¶´à·™.à·€.' : 'පෙර වරු'; + } + } + }); + + return si; + +}))); diff --git a/public/bower_components/moment/locale/sk.js b/public/bower_components/moment/locale/sk.js new file mode 100644 index 0000000..6938f95 --- /dev/null +++ b/public/bower_components/moment/locale/sk.js @@ -0,0 +1,155 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var months = 'január_február_marec_aprÃl_máj_jún_júl_august_september_október_november_december'.split('_'), + monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_'); + function plural(n) { + return (n > 1) && (n < 5); + } + function translate(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + switch (key) { + case 's': // a few seconds / in a few seconds / a few seconds ago + return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami'; + case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'sekundy' : 'sekúnd'); + } else { + return result + 'sekundami'; + } + break; + case 'm': // a minute / in a minute / a minute ago + return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou'); + case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'minúty' : 'minút'); + } else { + return result + 'minútami'; + } + break; + case 'h': // an hour / in an hour / an hour ago + return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou'); + case 'hh': // 9 hours / in 9 hours / 9 hours ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'hodiny' : 'hodÃn'); + } else { + return result + 'hodinami'; + } + break; + case 'd': // a day / in a day / a day ago + return (withoutSuffix || isFuture) ? 'deň' : 'dňom'; + case 'dd': // 9 days / in 9 days / 9 days ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'dni' : 'dnÃ'); + } else { + return result + 'dňami'; + } + break; + case 'M': // a month / in a month / a month ago + return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom'; + case 'MM': // 9 months / in 9 months / 9 months ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'mesiace' : 'mesiacov'); + } else { + return result + 'mesiacmi'; + } + break; + case 'y': // a year / in a year / a year ago + return (withoutSuffix || isFuture) ? 'rok' : 'rokom'; + case 'yy': // 9 years / in 9 years / 9 years ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'roky' : 'rokov'); + } else { + return result + 'rokmi'; + } + break; + } + } + + var sk = moment.defineLocale('sk', { + months : months, + monthsShort : monthsShort, + weekdays : 'nedeľa_pondelok_utorok_streda_Å¡tvrtok_piatok_sobota'.split('_'), + weekdaysShort : 'ne_po_ut_st_Å¡t_pi_so'.split('_'), + weekdaysMin : 'ne_po_ut_st_Å¡t_pi_so'.split('_'), + 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: '[dnes o] LT', + nextDay: '[zajtra o] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[v nedeľu o] LT'; + case 1: + case 2: + return '[v] dddd [o] LT'; + case 3: + return '[v stredu o] LT'; + case 4: + return '[vo Å¡tvrtok o] LT'; + case 5: + return '[v piatok o] LT'; + case 6: + return '[v sobotu o] LT'; + } + }, + lastDay: '[vÄera o] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[minulú nedeľu o] LT'; + case 1: + case 2: + return '[minulý] dddd [o] LT'; + case 3: + return '[minulú stredu o] LT'; + case 4: + case 5: + return '[minulý] dddd [o] LT'; + case 6: + return '[minulú sobotu o] LT'; + } + }, + sameElse: 'L' + }, + relativeTime : { + future : 'za %s', + past : 'pred %s', + s : translate, + ss : translate, + m : translate, + mm : translate, + h : translate, + hh : translate, + d : translate, + dd : translate, + M : translate, + MM : translate, + y : translate, + yy : translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return sk; + +}))); diff --git a/public/bower_components/moment/locale/sl.js b/public/bower_components/moment/locale/sl.js new file mode 100644 index 0000000..ecdd0cb --- /dev/null +++ b/public/bower_components/moment/locale/sl.js @@ -0,0 +1,172 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + function processRelativeTime(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + switch (key) { + case 's': + return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami'; + case 'ss': + if (number === 1) { + result += withoutSuffix ? 'sekundo' : 'sekundi'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah'; + } else { + result += 'sekund'; + } + return result; + case 'm': + return withoutSuffix ? 'ena minuta' : 'eno minuto'; + case 'mm': + if (number === 1) { + result += withoutSuffix ? 'minuta' : 'minuto'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'minuti' : 'minutama'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'minute' : 'minutami'; + } else { + result += withoutSuffix || isFuture ? 'minut' : 'minutami'; + } + return result; + case 'h': + return withoutSuffix ? 'ena ura' : 'eno uro'; + case 'hh': + if (number === 1) { + result += withoutSuffix ? 'ura' : 'uro'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'uri' : 'urama'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'ure' : 'urami'; + } else { + result += withoutSuffix || isFuture ? 'ur' : 'urami'; + } + return result; + case 'd': + return withoutSuffix || isFuture ? 'en dan' : 'enim dnem'; + case 'dd': + if (number === 1) { + result += withoutSuffix || isFuture ? 'dan' : 'dnem'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'dni' : 'dnevoma'; + } else { + result += withoutSuffix || isFuture ? 'dni' : 'dnevi'; + } + return result; + case 'M': + return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem'; + case 'MM': + if (number === 1) { + result += withoutSuffix || isFuture ? 'mesec' : 'mesecem'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'meseca' : 'mesecema'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'mesece' : 'meseci'; + } else { + result += withoutSuffix || isFuture ? 'mesecev' : 'meseci'; + } + return result; + case 'y': + return withoutSuffix || isFuture ? 'eno leto' : 'enim letom'; + case 'yy': + if (number === 1) { + result += withoutSuffix || isFuture ? 'leto' : 'letom'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'leti' : 'letoma'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'leta' : 'leti'; + } else { + result += withoutSuffix || isFuture ? 'let' : 'leti'; + } + return result; + } + } + + var sl = moment.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: true, + 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 : true, + 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 : processRelativeTime, + ss : processRelativeTime, + m : processRelativeTime, + mm : processRelativeTime, + h : processRelativeTime, + hh : processRelativeTime, + d : processRelativeTime, + dd : processRelativeTime, + M : processRelativeTime, + MM : processRelativeTime, + y : processRelativeTime, + yy : processRelativeTime + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + return sl; + +}))); diff --git a/public/bower_components/moment/locale/sq.js b/public/bower_components/moment/locale/sq.js new file mode 100644 index 0000000..eb081df --- /dev/null +++ b/public/bower_components/moment/locale/sq.js @@ -0,0 +1,67 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var sq = moment.defineLocale('sq', { + months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'), + monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'), + weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'), + weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'), + weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'), + weekdaysParseExact : true, + meridiemParse: /PD|MD/, + isPM: function (input) { + return input.charAt(0) === 'M'; + }, + meridiem : function (hours, minutes, isLower) { + return hours < 12 ? 'PD' : 'MD'; + }, + 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 : '[Sot në] LT', + nextDay : '[Nesër në] LT', + nextWeek : 'dddd [në] LT', + lastDay : '[Dje në] LT', + lastWeek : 'dddd [e kaluar në] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'në %s', + past : '%s më parë', + s : 'disa sekonda', + ss : '%d sekonda', + m : 'një minutë', + mm : '%d minuta', + h : 'një orë', + hh : '%d orë', + d : 'një ditë', + dd : '%d ditë', + M : 'një muaj', + MM : '%d muaj', + y : 'një vit', + yy : '%d vite' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return sq; + +}))); diff --git a/public/bower_components/moment/locale/sr-cyrl.js b/public/bower_components/moment/locale/sr-cyrl.js new file mode 100644 index 0000000..e22a22f --- /dev/null +++ b/public/bower_components/moment/locale/sr-cyrl.js @@ -0,0 +1,110 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var translator = { + words: { //Different grammatical cases + ss: ['Ñекунда', 'Ñекунде', 'Ñекунди'], + m: ['један минут', 'једне минуте'], + mm: ['минут', 'минуте', 'минута'], + h: ['један Ñат', 'једног Ñата'], + hh: ['Ñат', 'Ñата', 'Ñати'], + dd: ['дан', 'дана', 'дана'], + MM: ['меÑец', 'меÑеца', 'меÑеци'], + yy: ['година', 'године', 'година'] + }, + correctGrammaticalCase: function (number, wordKey) { + return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]); + }, + translate: function (number, withoutSuffix, key) { + var wordKey = translator.words[key]; + if (key.length === 1) { + return withoutSuffix ? wordKey[0] : wordKey[1]; + } else { + return number + ' ' + translator.correctGrammaticalCase(number, wordKey); + } + } + }; + + var srCyrl = moment.defineLocale('sr-cyrl', { + months: 'јануар_фебруар_март_април_мај_јун_јул_авгуÑÑ‚_Ñептембар_октобар_новембар_децембар'.split('_'), + monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._Ñеп._окт._нов._дец.'.split('_'), + monthsParseExact: true, + weekdays: 'недеља_понедељак_уторак_Ñреда_четвртак_петак_Ñубота'.split('_'), + weekdaysShort: 'нед._пон._уто._Ñре._чет._пет._Ñуб.'.split('_'), + weekdaysMin: 'не_по_ут_ÑÑ€_че_пе_Ñу'.split('_'), + weekdaysParseExact : true, + 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: '[Ð´Ð°Ð½Ð°Ñ Ñƒ] LT', + nextDay: '[Ñутра у] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[у] [недељу] [у] LT'; + case 3: + return '[у] [Ñреду] [у] LT'; + case 6: + return '[у] [Ñуботу] [у] LT'; + case 1: + case 2: + case 4: + case 5: + return '[у] dddd [у] LT'; + } + }, + lastDay : '[јуче у] LT', + lastWeek : function () { + var lastWeekDays = [ + '[прошле] [недеље] [у] LT', + '[прошлог] [понедељка] [у] LT', + '[прошлог] [уторка] [у] LT', + '[прошле] [Ñреде] [у] LT', + '[прошлог] [четвртка] [у] LT', + '[прошлог] [петка] [у] LT', + '[прошле] [Ñуботе] [у] LT' + ]; + return lastWeekDays[this.day()]; + }, + sameElse : 'L' + }, + relativeTime : { + future : 'за %s', + past : 'пре %s', + s : 'неколико Ñекунди', + ss : translator.translate, + m : translator.translate, + mm : translator.translate, + h : translator.translate, + hh : translator.translate, + d : 'дан', + dd : translator.translate, + M : 'меÑец', + MM : translator.translate, + y : 'годину', + yy : translator.translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + return srCyrl; + +}))); diff --git a/public/bower_components/moment/locale/sr.js b/public/bower_components/moment/locale/sr.js new file mode 100644 index 0000000..cb0b7ec --- /dev/null +++ b/public/bower_components/moment/locale/sr.js @@ -0,0 +1,110 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var translator = { + words: { //Different grammatical cases + ss: ['sekunda', 'sekunde', 'sekundi'], + m: ['jedan minut', 'jedne minute'], + mm: ['minut', 'minute', 'minuta'], + h: ['jedan sat', 'jednog sata'], + hh: ['sat', 'sata', 'sati'], + dd: ['dan', 'dana', 'dana'], + MM: ['mesec', 'meseca', 'meseci'], + yy: ['godina', 'godine', 'godina'] + }, + correctGrammaticalCase: function (number, wordKey) { + return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]); + }, + translate: function (number, withoutSuffix, key) { + var wordKey = translator.words[key]; + if (key.length === 1) { + return withoutSuffix ? wordKey[0] : wordKey[1]; + } else { + return number + ' ' + translator.correctGrammaticalCase(number, wordKey); + } + } + }; + + var sr = moment.defineLocale('sr', { + months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'), + monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'), + monthsParseExact: true, + weekdays: 'nedelja_ponedeljak_utorak_sreda_Äetvrtak_petak_subota'.split('_'), + weekdaysShort: 'ned._pon._uto._sre._Äet._pet._sub.'.split('_'), + weekdaysMin: 'ne_po_ut_sr_Äe_pe_su'.split('_'), + weekdaysParseExact : true, + 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: '[danas u] LT', + nextDay: '[sutra u] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[u] [nedelju] [u] LT'; + case 3: + return '[u] [sredu] [u] LT'; + case 6: + return '[u] [subotu] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[u] dddd [u] LT'; + } + }, + lastDay : '[juÄe u] LT', + lastWeek : function () { + var lastWeekDays = [ + '[proÅ¡le] [nedelje] [u] LT', + '[proÅ¡log] [ponedeljka] [u] LT', + '[proÅ¡log] [utorka] [u] LT', + '[proÅ¡le] [srede] [u] LT', + '[proÅ¡log] [Äetvrtka] [u] LT', + '[proÅ¡log] [petka] [u] LT', + '[proÅ¡le] [subote] [u] LT' + ]; + return lastWeekDays[this.day()]; + }, + sameElse : 'L' + }, + relativeTime : { + future : 'za %s', + past : 'pre %s', + s : 'nekoliko sekundi', + ss : translator.translate, + m : translator.translate, + mm : translator.translate, + h : translator.translate, + hh : translator.translate, + d : 'dan', + dd : translator.translate, + M : 'mesec', + MM : translator.translate, + y : 'godinu', + yy : translator.translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + return sr; + +}))); diff --git a/public/bower_components/moment/locale/ss.js b/public/bower_components/moment/locale/ss.js new file mode 100644 index 0000000..a401149 --- /dev/null +++ b/public/bower_components/moment/locale/ss.js @@ -0,0 +1,87 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var ss = moment.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 : true, + 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 (hours, minutes, isLower) { + if (hours < 11) { + return 'ekuseni'; + } else if (hours < 15) { + return 'emini'; + } else if (hours < 19) { + return 'entsambama'; + } else { + return 'ebusuku'; + } + }, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'ekuseni') { + return hour; + } else if (meridiem === 'emini') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') { + if (hour === 0) { + return 0; + } + return hour + 12; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}/, + ordinal : '%d', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return ss; + +}))); diff --git a/public/bower_components/moment/locale/sv.js b/public/bower_components/moment/locale/sv.js new file mode 100644 index 0000000..494fedb --- /dev/null +++ b/public/bower_components/moment/locale/sv.js @@ -0,0 +1,68 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var sv = moment.defineLocale('sv', { + months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'), + monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), + weekdays : 'söndag_mÃ¥ndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'), + weekdaysShort : 'sön_mÃ¥n_tis_ons_tor_fre_lör'.split('_'), + weekdaysMin : 'sö_mÃ¥_ti_on_to_fr_lö'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY-MM-DD', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY [kl.] HH:mm', + LLLL : 'dddd D MMMM YYYY [kl.] HH:mm', + lll : 'D MMM YYYY HH:mm', + llll : 'ddd D MMM YYYY HH:mm' + }, + calendar : { + sameDay: '[Idag] LT', + nextDay: '[Imorgon] LT', + lastDay: '[IgÃ¥r] LT', + nextWeek: '[PÃ¥] dddd LT', + lastWeek: '[I] dddd[s] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'om %s', + past : 'för %s sedan', + s : 'nÃ¥gra sekunder', + ss : '%d sekunder', + m : 'en minut', + mm : '%d minuter', + h : 'en timme', + hh : '%d timmar', + d : 'en dag', + dd : '%d dagar', + M : 'en mÃ¥nad', + MM : '%d mÃ¥nader', + y : 'ett Ã¥r', + yy : '%d Ã¥r' + }, + dayOfMonthOrdinalParse: /\d{1,2}(e|a)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'e' : + (b === 1) ? 'a' : + (b === 2) ? 'a' : + (b === 3) ? 'e' : 'e'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return sv; + +}))); diff --git a/public/bower_components/moment/locale/sw.js b/public/bower_components/moment/locale/sw.js new file mode 100644 index 0000000..2c066b6 --- /dev/null +++ b/public/bower_components/moment/locale/sw.js @@ -0,0 +1,58 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var sw = moment.defineLocale('sw', { + months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'), + monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'), + weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'), + weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'), + weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'), + weekdaysParseExact : true, + 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 : '[leo saa] LT', + nextDay : '[kesho saa] LT', + nextWeek : '[wiki ijayo] dddd [saat] LT', + lastDay : '[jana] LT', + lastWeek : '[wiki iliyopita] dddd [saat] LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s baadaye', + past : 'tokea %s', + s : 'hivi punde', + ss : 'sekunde %d', + m : 'dakika moja', + mm : 'dakika %d', + h : 'saa limoja', + hh : 'masaa %d', + d : 'siku moja', + dd : 'masiku %d', + M : 'mwezi mmoja', + MM : 'miezi %d', + y : 'mwaka mmoja', + yy : 'miaka %d' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + return sw; + +}))); diff --git a/public/bower_components/moment/locale/ta.js b/public/bower_components/moment/locale/ta.js new file mode 100644 index 0000000..f7a87d7 --- /dev/null +++ b/public/bower_components/moment/locale/ta.js @@ -0,0 +1,128 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var symbolMap = { + '1': '௧', + '2': '௨', + '3': '௩', + '4': '௪', + '5': '௫', + '6': '௬', + '7': 'à¯', + '8': '௮', + '9': '௯', + '0': '௦' + }, numberMap = { + '௧': '1', + '௨': '2', + '௩': '3', + '௪': '4', + '௫': '5', + '௬': '6', + 'à¯': '7', + '௮': '8', + '௯': '9', + '௦': '0' + }; + + var ta = moment.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 (number) { + return number + 'வதà¯'; + }, + preparse: function (string) { + return string.replace(/[௧௨௩௪௫௬à¯à¯®à¯¯à¯¦]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + // refer http://ta.wikipedia.org/s/1er1 + meridiemParse: /யாமமà¯|வைகறை|காலை|நணà¯à®ªà®•லà¯|எறà¯à®ªà®¾à®Ÿà¯|மாலை/, + meridiem : function (hour, minute, isLower) { + if (hour < 2) { + return ' யாமமà¯'; + } else if (hour < 6) { + return ' வைகறை'; // வைகறை + } else if (hour < 10) { + return ' காலை'; // காலை + } else if (hour < 14) { + return ' நணà¯à®ªà®•லà¯'; // நணà¯à®ªà®•ல௠+ } else if (hour < 18) { + return ' எறà¯à®ªà®¾à®Ÿà¯'; // எறà¯à®ªà®¾à®Ÿà¯ + } else if (hour < 22) { + return ' மாலை'; // மாலை + } else { + return ' யாமமà¯'; + } + }, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'யாமமà¯') { + return hour < 2 ? hour : hour + 12; + } else if (meridiem === 'வைகறை' || meridiem === 'காலை') { + return hour; + } else if (meridiem === 'நணà¯à®ªà®•லà¯') { + return hour >= 10 ? hour : hour + 12; + } else { + return hour + 12; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + return ta; + +}))); diff --git a/public/bower_components/moment/locale/te.js b/public/bower_components/moment/locale/te.js new file mode 100644 index 0000000..abb40bf --- /dev/null +++ b/public/bower_components/moment/locale/te.js @@ -0,0 +1,88 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var te = moment.defineLocale('te', { + months : 'జనవరి_à°«à°¿à°¬à±à°°à°µà°°à°¿_మారà±à°šà°¿_à°à°ªà±à°°à°¿à°²à±_మే_జూనà±_à°œà±à°²à±ˆ_ఆగసà±à°Ÿà±_సెపà±à°Ÿà±†à°‚బరà±_à°…à°•à±à°Ÿà±‹à°¬à°°à±_నవంబరà±_డిసెంబరà±'.split('_'), + monthsShort : 'జన._à°«à°¿à°¬à±à°°._మారà±à°šà°¿_à°à°ªà±à°°à°¿._మే_జూనà±_à°œà±à°²à±ˆ_ఆగ._సెపà±._à°…à°•à±à°Ÿà±‹._నవ._డిసె.'.split('_'), + monthsParseExact : true, + 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 : 'కొనà±à°¨à°¿ à°•à±à°·à°£à°¾à°²à±', + ss : '%d సెకనà±à°²à±', + m : 'à°’à°• నిమిషం', + mm : '%d నిమిషాలà±', + h : 'à°’à°• à°—à°‚à°Ÿ', + hh : '%d à°—à°‚à°Ÿà°²à±', + d : 'à°’à°• రోజà±', + dd : '%d రోజà±à°²à±', + M : 'à°’à°• నెల', + MM : '%d నెలలà±', + y : 'à°’à°• సంవతà±à°¸à°°à°‚', + yy : '%d సంవతà±à°¸à°°à°¾à°²à±' + }, + dayOfMonthOrdinalParse : /\d{1,2}à°µ/, + ordinal : '%dà°µ', + meridiemParse: /రాతà±à°°à°¿|ఉదయం|మధà±à°¯à°¾à°¹à±à°¨à°‚|సాయంతà±à°°à°‚/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'రాతà±à°°à°¿') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'ఉదయం') { + return hour; + } else if (meridiem === 'మధà±à°¯à°¾à°¹à±à°¨à°‚') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'సాయంతà±à°°à°‚') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'రాతà±à°°à°¿'; + } else if (hour < 10) { + return 'ఉదయం'; + } else if (hour < 17) { + return 'మధà±à°¯à°¾à°¹à±à°¨à°‚'; + } else if (hour < 20) { + return 'సాయంతà±à°°à°‚'; + } else { + return 'రాతà±à°°à°¿'; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + return te; + +}))); diff --git a/public/bower_components/moment/locale/tet.js b/public/bower_components/moment/locale/tet.js new file mode 100644 index 0000000..efa53da --- /dev/null +++ b/public/bower_components/moment/locale/tet.js @@ -0,0 +1,66 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var tet = moment.defineLocale('tet', { + months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'), + monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), + weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'), + weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'), + weekdaysMin : 'Do_Seg_Te_Ku_Ki_Ses_Sa'.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: '[Ohin iha] LT', + nextDay: '[Aban iha] LT', + nextWeek: 'dddd [iha] LT', + lastDay: '[Horiseik iha] LT', + lastWeek: 'dddd [semana kotuk] [iha] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'iha %s', + past : '%s liuba', + s : 'minutu balun', + ss : 'minutu %d', + m : 'minutu ida', + mm : 'minutu %d', + h : 'oras ida', + hh : 'oras %d', + d : 'loron ida', + dd : 'loron %d', + M : 'fulan ida', + MM : 'fulan %d', + y : 'tinan ida', + yy : 'tinan %d' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return tet; + +}))); diff --git a/public/bower_components/moment/locale/tg.js b/public/bower_components/moment/locale/tg.js new file mode 100644 index 0000000..c283368 --- /dev/null +++ b/public/bower_components/moment/locale/tg.js @@ -0,0 +1,115 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var suffixes = { + 0: '-ум', + 1: '-ум', + 2: '-юм', + 3: '-юм', + 4: '-ум', + 5: '-ум', + 6: '-ум', + 7: '-ум', + 8: '-ум', + 9: '-ум', + 10: '-ум', + 12: '-ум', + 13: '-ум', + 20: '-ум', + 30: '-юм', + 40: '-ум', + 50: '-ум', + 60: '-ум', + 70: '-ум', + 80: '-ум', + 90: '-ум', + 100: '-ум' + }; + + var tg = moment.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 (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'шаб') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'Ñубҳ') { + return hour; + } else if (meridiem === 'рӯз') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'бегоҳ') { + return hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'шаб'; + } else if (hour < 11) { + return 'Ñубҳ'; + } else if (hour < 16) { + return 'рӯз'; + } else if (hour < 19) { + return 'бегоҳ'; + } else { + return 'шаб'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/, + ordinal: function (number) { + var a = number % 10, + b = number >= 100 ? 100 : null; + return number + (suffixes[number] || suffixes[a] || suffixes[b]); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 1th is the first week of the year. + } + }); + + return tg; + +}))); diff --git a/public/bower_components/moment/locale/th.js b/public/bower_components/moment/locale/th.js new file mode 100644 index 0000000..87489a4 --- /dev/null +++ b/public/bower_components/moment/locale/th.js @@ -0,0 +1,66 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var th = moment.defineLocale('th', { + months : 'มà¸à¸£à¸²à¸„ม_à¸à¸¸à¸¡à¸ าพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_à¸à¸£à¸à¸Žà¸²à¸„ม_สิงหาคม_à¸à¸±à¸™à¸¢à¸²à¸¢à¸™_ตุลาคม_พฤศจิà¸à¸²à¸¢à¸™_ธันวาคม'.split('_'), + monthsShort : 'ม.ค._à¸.พ._มี.ค._เม.ย._พ.ค._มิ.ย._à¸.ค._ส.ค._à¸.ย._ต.ค._พ.ย._ธ.ค.'.split('_'), + monthsParseExact: true, + weekdays : 'à¸à¸²à¸—ิตย์_จันทร์_à¸à¸±à¸‡à¸„าร_พุธ_พฤหัสบดี_ศุà¸à¸£à¹Œ_เสาร์'.split('_'), + weekdaysShort : 'à¸à¸²à¸—ิตย์_จันทร์_à¸à¸±à¸‡à¸„าร_พุธ_พฤหัส_ศุà¸à¸£à¹Œ_เสาร์'.split('_'), // yes, three characters difference + weekdaysMin : 'à¸à¸²._จ._à¸._พ._พฤ._ศ._ส.'.split('_'), + weekdaysParseExact : true, + 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' + }, + meridiemParse: /à¸à¹ˆà¸à¸™à¹€à¸—ี่ยง|หลังเที่ยง/, + isPM: function (input) { + return input === 'หลังเที่ยง'; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'à¸à¹ˆà¸à¸™à¹€à¸—ี่ยง'; + } else { + return 'หลังเที่ยง'; + } + }, + calendar : { + sameDay : '[วันนี้ เวลา] LT', + nextDay : '[พรุ่งนี้ เวลา] LT', + nextWeek : 'dddd[หน้า เวลา] LT', + lastDay : '[เมื่à¸à¸§à¸²à¸™à¸™à¸µà¹‰ เวลา] LT', + lastWeek : '[วัน]dddd[ที่à¹à¸¥à¹‰à¸§ เวลา] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'à¸à¸µà¸ %s', + past : '%sที่à¹à¸¥à¹‰à¸§', + s : 'ไม่à¸à¸µà¹ˆà¸§à¸´à¸™à¸²à¸—ี', + ss : '%d วินาที', + m : '1 นาที', + mm : '%d นาที', + h : '1 ชั่วโมง', + hh : '%d ชั่วโมง', + d : '1 วัน', + dd : '%d วัน', + M : '1 เดืà¸à¸™', + MM : '%d เดืà¸à¸™', + y : '1 ปี', + yy : '%d ปี' + } + }); + + return th; + +}))); diff --git a/public/bower_components/moment/locale/tl-ph.js b/public/bower_components/moment/locale/tl-ph.js new file mode 100644 index 0000000..3f7e45e --- /dev/null +++ b/public/bower_components/moment/locale/tl-ph.js @@ -0,0 +1,61 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var tlPh = moment.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 (number) { + return number; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return tlPh; + +}))); diff --git a/public/bower_components/moment/locale/tlh.js b/public/bower_components/moment/locale/tlh.js new file mode 100644 index 0000000..7ea953b --- /dev/null +++ b/public/bower_components/moment/locale/tlh.js @@ -0,0 +1,121 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_'); + + function translateFuture(output) { + var time = output; + time = (output.indexOf('jaj') !== -1) ? + time.slice(0, -3) + 'leS' : + (output.indexOf('jar') !== -1) ? + time.slice(0, -3) + 'waQ' : + (output.indexOf('DIS') !== -1) ? + time.slice(0, -3) + 'nem' : + time + ' pIq'; + return time; + } + + function translatePast(output) { + var time = output; + time = (output.indexOf('jaj') !== -1) ? + time.slice(0, -3) + 'Hu’' : + (output.indexOf('jar') !== -1) ? + time.slice(0, -3) + 'wen' : + (output.indexOf('DIS') !== -1) ? + time.slice(0, -3) + 'ben' : + time + ' ret'; + return time; + } + + function translate(number, withoutSuffix, string, isFuture) { + var numberNoun = numberAsNoun(number); + switch (string) { + case 'ss': + return numberNoun + ' lup'; + case 'mm': + return numberNoun + ' tup'; + case 'hh': + return numberNoun + ' rep'; + case 'dd': + return numberNoun + ' jaj'; + case 'MM': + return numberNoun + ' jar'; + case 'yy': + return numberNoun + ' DIS'; + } + } + + function numberAsNoun(number) { + var hundred = Math.floor((number % 1000) / 100), + ten = Math.floor((number % 100) / 10), + one = number % 10, + word = ''; + if (hundred > 0) { + word += numbersNouns[hundred] + 'vatlh'; + } + if (ten > 0) { + word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH'; + } + if (one > 0) { + word += ((word !== '') ? ' ' : '') + numbersNouns[one]; + } + return (word === '') ? 'pagh' : word; + } + + var tlh = moment.defineLocale('tlh', { + months : 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'), + monthsShort : 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'), + monthsParseExact : true, + weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'), + weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'), + weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.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: '[DaHjaj] LT', + nextDay: '[wa’leS] LT', + nextWeek: 'LLL', + lastDay: '[wa’Hu’] LT', + lastWeek: 'LLL', + sameElse: 'L' + }, + relativeTime : { + future : translateFuture, + past : translatePast, + s : 'puS lup', + ss : translate, + m : 'wa’ tup', + mm : translate, + h : 'wa’ rep', + hh : translate, + d : 'wa’ jaj', + dd : translate, + M : 'wa’ jar', + MM : translate, + y : 'wa’ DIS', + yy : translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return tlh; + +}))); diff --git a/public/bower_components/moment/locale/tr.js b/public/bower_components/moment/locale/tr.js new file mode 100644 index 0000000..e3fa275 --- /dev/null +++ b/public/bower_components/moment/locale/tr.js @@ -0,0 +1,93 @@ + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + var suffixes = { + 1: '\'inci', + 5: '\'inci', + 8: '\'inci', + 70: '\'inci', + 80: '\'inci', + 2: '\'nci', + 7: '\'nci', + 20: '\'nci', + 50: '\'nci', + 3: '\'üncü', + 4: '\'üncü', + 100: '\'üncü', + 6: '\'ncı', + 9: '\'uncu', + 10: '\'uncu', + 30: '\'uncu', + 60: '\'ıncı', + 90: '\'ıncı' + }; + + var tr = moment.defineLocale('tr', { + months : 'Ocak_Åžubat_Mart_Nisan_Mayıs_Haziran_Temmuz_AÄŸustos_Eylül_Ekim_Kasım_Aralık'.split('_'), + monthsShort : 'Oca_Åžub_Mar_Nis_May_Haz_Tem_AÄŸu_Eyl_Eki_Kas_Ara'.split('_'), + weekdays : 'Pazar_Pazartesi_Salı_ÇarÅŸamba_PerÅŸembe_Cuma_Cumartesi'.split('_'), + weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'), + weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.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 : '[bugün saat] LT', + nextDay : '[yarın saat] LT', + nextWeek : '[gelecek] dddd [saat] LT', + lastDay : '[dün] LT', + lastWeek : '[geçen] dddd [saat] LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s sonra', + past : '%s önce', + s : 'birkaç saniye', + ss : '%d saniye', + m : 'bir dakika', + mm : '%d dakika', + h : 'bir saat', + hh : '%d saat', + d : 'bir gün', + dd : '%d gün', + M : 'bir ay', + MM : '%d ay', + y : 'bir yıl', + yy : '%d yıl' + }, + ordinal: function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'Do': + case 'DD': + return number; + default: + if (number === 0) { // special case for zero + return number + '\'ıncı'; + } + var a = number % 10, + b = number % 100 - a, + c = number >= 100 ? 100 : null; + return number + (suffixes[a] || suffixes[b] || suffixes[c]); + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + return tr; + +}))); diff --git a/public/bower_components/moment/locale/tzl.js b/public/bower_components/moment/locale/tzl.js new file mode 100644 index 0000000..d32601b --- /dev/null +++ b/public/bower_components/moment/locale/tzl.js @@ -0,0 +1,90 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals. + // This is currently too difficult (maybe even impossible) to add. + var tzl = moment.defineLocale('tzl', { + months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'), + monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'), + weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'), + weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'), + weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'), + longDateFormat : { + LT : 'HH.mm', + LTS : 'HH.mm.ss', + L : 'DD.MM.YYYY', + LL : 'D. MMMM [dallas] YYYY', + LLL : 'D. MMMM [dallas] YYYY HH.mm', + LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm' + }, + meridiemParse: /d\'o|d\'a/i, + isPM : function (input) { + return 'd\'o' === input.toLowerCase(); + }, + meridiem : function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'd\'o' : 'D\'O'; + } else { + return isLower ? 'd\'a' : 'D\'A'; + } + }, + calendar : { + sameDay : '[oxhi à ] LT', + nextDay : '[demà à ] LT', + nextWeek : 'dddd [à ] LT', + lastDay : '[ieiri à ] LT', + lastWeek : '[sür el] dddd [lasteu à ] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'osprei %s', + past : 'ja%s', + s : processRelativeTime, + ss : processRelativeTime, + m : processRelativeTime, + mm : processRelativeTime, + h : processRelativeTime, + hh : processRelativeTime, + d : processRelativeTime, + dd : processRelativeTime, + M : processRelativeTime, + MM : processRelativeTime, + y : processRelativeTime, + yy : processRelativeTime + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + 's': ['viensas secunds', '\'iensas secunds'], + 'ss': [number + ' secunds', '' + number + ' secunds'], + 'm': ['\'n mÃut', '\'iens mÃut'], + 'mm': [number + ' mÃuts', '' + number + ' mÃuts'], + 'h': ['\'n þora', '\'iensa þora'], + 'hh': [number + ' þoras', '' + number + ' þoras'], + 'd': ['\'n ziua', '\'iensa ziua'], + 'dd': [number + ' ziuas', '' + number + ' ziuas'], + 'M': ['\'n mes', '\'iens mes'], + 'MM': [number + ' mesen', '' + number + ' mesen'], + 'y': ['\'n ar', '\'iens ar'], + 'yy': [number + ' ars', '' + number + ' ars'] + }; + return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]); + } + + return tzl; + +}))); diff --git a/public/bower_components/moment/locale/tzm-latn.js b/public/bower_components/moment/locale/tzm-latn.js new file mode 100644 index 0000000..b7a2aed --- /dev/null +++ b/public/bower_components/moment/locale/tzm-latn.js @@ -0,0 +1,57 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var tzmLatn = moment.defineLocale('tzm-latn', { + months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_É£wÅ¡t_Å¡wtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'), + monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_É£wÅ¡t_Å¡wtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'), + weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas'.split('_'), + weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas'.split('_'), + weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas'.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: '[asdkh g] LT', + nextDay: '[aska g] LT', + nextWeek: 'dddd [g] LT', + lastDay: '[assant g] LT', + lastWeek: 'dddd [g] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'dadkh s yan %s', + past : 'yan %s', + s : 'imik', + ss : '%d imik', + m : 'minuá¸', + mm : '%d minuá¸', + h : 'saÉ›a', + hh : '%d tassaÉ›in', + d : 'ass', + dd : '%d ossan', + M : 'ayowr', + MM : '%d iyyirn', + y : 'asgas', + yy : '%d isgasn' + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } + }); + + return tzmLatn; + +}))); diff --git a/public/bower_components/moment/locale/tzm.js b/public/bower_components/moment/locale/tzm.js new file mode 100644 index 0000000..48d7123 --- /dev/null +++ b/public/bower_components/moment/locale/tzm.js @@ -0,0 +1,57 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var tzm = moment.defineLocale('tzm', { + 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 oⵙⵙⴰâµ', + M : 'â´°âµ¢oⵓⵔ', + MM : '%d ⵉⵢⵢⵉⵔâµ', + y : 'ⴰⵙⴳⴰⵙ', + yy : '%d ⵉⵙⴳⴰⵙâµ' + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } + }); + + return tzm; + +}))); diff --git a/public/bower_components/moment/locale/ug-cn.js b/public/bower_components/moment/locale/ug-cn.js new file mode 100644 index 0000000..d6c9d65 --- /dev/null +++ b/public/bower_components/moment/locale/ug-cn.js @@ -0,0 +1,118 @@ +//! moment.js language configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var ugCn = moment.defineLocale('ug-cn', { + months: 'يانۋار_ÙÛۋرال_مارت_ئاپرÛÙ„_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سÛنتەبىر_ئۆكتەبىر_نويابىر_دÛكابىر'.split( + '_' + ), + monthsShort: 'يانۋار_ÙÛۋرال_مارت_ئاپرÛÙ„_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سÛنتەبىر_ئۆكتەبىر_نويابىر_دÛكابىر'.split( + '_' + ), + weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split( + '_' + ), + weekdaysShort: 'ÙŠÛ•_دۈ_سە_چا_Ù¾Û•_جۈ_Ø´Û•'.split('_'), + weekdaysMin: 'ÙŠÛ•_دۈ_سە_چا_Ù¾Û•_جۈ_Ø´Û•'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY-MM-DD', + LL: 'YYYY-يىلىM-ئاينىÚD-كۈنى', + LLL: 'YYYY-يىلىM-ئاينىÚD-كۈنى، HH:mm', + LLLL: 'ddddØŒ YYYY-يىلىM-ئاينىÚD-كۈنى، HH:mm' + }, + meridiemParse: /ÙŠÛØ±Ù‰Ù… ÙƒÛÚ†Û•|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن ÙƒÛيىن|ÙƒÛ•Ú†/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if ( + meridiem === 'ÙŠÛØ±Ù‰Ù… ÙƒÛÚ†Û•' || + meridiem === 'سەھەر' || + meridiem === 'چۈشتىن بۇرۇن' + ) { + return hour; + } else if (meridiem === 'چۈشتىن ÙƒÛيىن' || meridiem === 'ÙƒÛ•Ú†') { + return hour + 12; + } else { + return hour >= 11 ? hour : hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + var hm = hour * 100 + minute; + if (hm < 600) { + return 'ÙŠÛØ±Ù‰Ù… ÙƒÛÚ†Û•'; + } else if (hm < 900) { + return 'سەھەر'; + } else if (hm < 1130) { + return 'چۈشتىن بۇرۇن'; + } else if (hm < 1230) { + return 'چۈش'; + } else if (hm < 1800) { + return 'چۈشتىن ÙƒÛيىن'; + } else { + return 'ÙƒÛ•Ú†'; + } + }, + 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 (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + '-كۈنى'; + case 'w': + case 'W': + return number + '-ھەپتە'; + default: + return number; + } + }, + preparse: function (string) { + return string.replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/,/g, 'ØŒ'); + }, + week: { + // GB/T 7408-1994《数æ®å…ƒå’Œäº¤æ¢æ ¼å¼Â·ä¿¡æ¯äº¤æ¢Â·æ—¥æœŸå’Œæ—¶é—´è¡¨ç¤ºæ³•》与ISO 8601:1988ç‰æ•ˆ + dow: 1, // Monday is the first day of the week. + doy: 7 // The week that contains Jan 1st is the first week of the year. + } + }); + + return ugCn; + +}))); diff --git a/public/bower_components/moment/locale/uk.js b/public/bower_components/moment/locale/uk.js new file mode 100644 index 0000000..70761a1 --- /dev/null +++ b/public/bower_components/moment/locale/uk.js @@ -0,0 +1,153 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + function plural(word, num) { + var forms = word.split('_'); + return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]); + } + function relativeTimeWithPlural(number, withoutSuffix, key) { + var format = { + 'ss': withoutSuffix ? 'Ñекунда_Ñекунди_Ñекунд' : 'Ñекунду_Ñекунди_Ñекунд', + 'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин', + 'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин', + 'dd': 'день_дні_днів', + 'MM': 'міÑÑць_міÑÑці_міÑÑців', + 'yy': 'рік_роки_років' + }; + if (key === 'm') { + return withoutSuffix ? 'хвилина' : 'хвилину'; + } + else if (key === 'h') { + return withoutSuffix ? 'година' : 'годину'; + } + else { + return number + ' ' + plural(format[key], +number); + } + } + function weekdaysCaseReplace(m, format) { + var weekdays = { + 'nominative': 'неділÑ_понеділок_вівторок_Ñереда_четвер_п’ÑтницÑ_Ñубота'.split('_'), + 'accusative': 'неділю_понеділок_вівторок_Ñереду_четвер_п’Ñтницю_Ñуботу'.split('_'), + 'genitive': 'неділі_понеділка_вівторка_Ñереди_четверга_п’Ñтниці_Ñуботи'.split('_') + }; + + if (m === true) { + return weekdays['nominative'].slice(1, 7).concat(weekdays['nominative'].slice(0, 1)); + } + if (!m) { + return weekdays['nominative']; + } + + var nounCase = (/(\[[ВвУу]\]) ?dddd/).test(format) ? + 'accusative' : + ((/\[?(?:минулої|наÑтупної)? ?\] ?dddd/).test(format) ? + 'genitive' : + 'nominative'); + return weekdays[nounCase][m.day()]; + } + function processHoursFunction(str) { + return function () { + return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT'; + }; + } + + var uk = moment.defineLocale('uk', { + months : { + 'format': 'ÑічнÑ_лютого_березнÑ_квітнÑ_травнÑ_червнÑ_липнÑ_ÑерпнÑ_вереÑнÑ_жовтнÑ_лиÑтопада_груднÑ'.split('_'), + 'standalone': 'Ñічень_лютий_березень_квітень_травень_червень_липень_Ñерпень_вереÑень_жовтень_лиÑтопад_грудень'.split('_') + }, + monthsShort : 'Ñіч_лют_бер_квіт_трав_черв_лип_Ñерп_вер_жовт_лиÑÑ‚_груд'.split('_'), + weekdays : weekdaysCaseReplace, + 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: processHoursFunction('[Сьогодні '), + nextDay: processHoursFunction('[Завтра '), + lastDay: processHoursFunction('[Вчора '), + nextWeek: processHoursFunction('[У] dddd ['), + lastWeek: function () { + switch (this.day()) { + case 0: + case 3: + case 5: + case 6: + return processHoursFunction('[Минулої] dddd [').call(this); + case 1: + case 2: + case 4: + return processHoursFunction('[Минулого] dddd [').call(this); + } + }, + sameElse: 'L' + }, + relativeTime : { + future : 'за %s', + past : '%s тому', + s : 'декілька Ñекунд', + ss : relativeTimeWithPlural, + m : relativeTimeWithPlural, + mm : relativeTimeWithPlural, + h : 'годину', + hh : relativeTimeWithPlural, + d : 'день', + dd : relativeTimeWithPlural, + M : 'міÑÑць', + MM : relativeTimeWithPlural, + y : 'рік', + yy : relativeTimeWithPlural + }, + // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason + meridiemParse: /ночі|ранку|днÑ|вечора/, + isPM: function (input) { + return /^(днÑ|вечора)$/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'ночі'; + } else if (hour < 12) { + return 'ранку'; + } else if (hour < 17) { + return 'днÑ'; + } else { + return 'вечора'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/, + ordinal: function (number, period) { + switch (period) { + case 'M': + case 'd': + case 'DDD': + case 'w': + case 'W': + return number + '-й'; + case 'D': + return number + '-го'; + default: + return number; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + return uk; + +}))); diff --git a/public/bower_components/moment/locale/ur.js b/public/bower_components/moment/locale/ur.js new file mode 100644 index 0000000..1609312 --- /dev/null +++ b/public/bower_components/moment/locale/ur.js @@ -0,0 +1,97 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var months = [ + 'جنوری', + 'ÙØ±ÙˆØ±ÛŒ', + 'مارچ', + 'اپریل', + 'مئی', + 'جون', + 'جولائی', + 'اگست', + 'ستمبر', + 'اکتوبر', + 'نومبر', + 'دسمبر' + ]; + var days = [ + 'اتوار', + 'پیر', + 'منگل', + 'بدھ', + 'جمعرات', + 'جمعÛ', + 'ÛÙØªÛ' + ]; + + var ur = moment.defineLocale('ur', { + months : months, + monthsShort : months, + weekdays : days, + weekdaysShort : days, + weekdaysMin : days, + 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 (input) { + return 'شام' === input; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'صبØ'; + } + return 'شام'; + }, + 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 (string) { + return string.replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/,/g, 'ØŒ'); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return ur; + +}))); diff --git a/public/bower_components/moment/locale/uz-latn.js b/public/bower_components/moment/locale/uz-latn.js new file mode 100644 index 0000000..41a348c --- /dev/null +++ b/public/bower_components/moment/locale/uz-latn.js @@ -0,0 +1,57 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var uzLatn = moment.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, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + return uzLatn; + +}))); diff --git a/public/bower_components/moment/locale/uz.js b/public/bower_components/moment/locale/uz.js new file mode 100644 index 0000000..0e4ad22 --- /dev/null +++ b/public/bower_components/moment/locale/uz.js @@ -0,0 +1,57 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var uz = moment.defineLocale('uz', { + 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 : 'D MMMM YYYY, dddd 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 йил' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 4th is the first week of the year. + } + }); + + return uz; + +}))); diff --git a/public/bower_components/moment/locale/vi.js b/public/bower_components/moment/locale/vi.js new file mode 100644 index 0000000..6fcbeaf --- /dev/null +++ b/public/bower_components/moment/locale/vi.js @@ -0,0 +1,78 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var vi = moment.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 : true, + 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 : true, + meridiemParse: /sa|ch/i, + isPM : function (input) { + return /^ch$/i.test(input); + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 12) { + return isLower ? 'sa' : 'SA'; + } else { + return isLower ? '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 (number) { + return number; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return vi; + +}))); diff --git a/public/bower_components/moment/locale/x-pseudo.js b/public/bower_components/moment/locale/x-pseudo.js new file mode 100644 index 0000000..9723c7b --- /dev/null +++ b/public/bower_components/moment/locale/x-pseudo.js @@ -0,0 +1,67 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var xPseudo = moment.defineLocale('x-pseudo', { + months : 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Ãp~rÃl_~Máý_~Júñé~_Júl~ý_Ãú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'), + monthsShort : 'J~áñ_~Féb_~Már_~Ãpr_~Máý_~Júñ_~Júl_~Ãúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'), + monthsParseExact : true, + weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~FrÃd~áý_S~átúr~dáý'.split('_'), + weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~FrÃ_~Sát'.split('_'), + weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + L : 'DD/MM/YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY HH:mm', + LLLL : 'dddd, D MMMM YYYY HH:mm' + }, + calendar : { + sameDay : '[T~ódá~ý át] LT', + nextDay : '[T~ómó~rró~w át] LT', + nextWeek : 'dddd [át] LT', + lastDay : '[Ã~ést~érdá~ý át] LT', + lastWeek : '[L~ást] dddd [át] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'Ã~ñ %s', + past : '%s á~gó', + s : 'á ~féw ~sécó~ñds', + ss : '%d s~écóñ~ds', + m : 'á ~mÃñ~úté', + mm : '%d m~Ãñú~tés', + h : 'á~ñ hó~úr', + hh : '%d h~óúrs', + d : 'á ~dáý', + dd : '%d d~áýs', + M : 'á ~móñ~th', + MM : '%d m~óñt~hs', + y : 'á ~ýéár', + yy : '%d ý~éárs' + }, + dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return xPseudo; + +}))); diff --git a/public/bower_components/moment/locale/yo.js b/public/bower_components/moment/locale/yo.js new file mode 100644 index 0000000..1a356dc --- /dev/null +++ b/public/bower_components/moment/locale/yo.js @@ -0,0 +1,59 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var yo = moment.defineLocale('yo', { + months : 'SẹÌrẹÌ_EÌ€reÌ€leÌ€_Ẹrẹ̀naÌ€_IÌ€gbeÌ_EÌ€bibi_OÌ€kuÌ€du_Agẹmo_OÌ€guÌn_Owewe_Ọ̀waÌ€raÌ€_BeÌluÌ_Ọ̀pẹ̀̀'.split('_'), + monthsShort : 'SẹÌr_EÌ€rl_Ẹrn_IÌ€gb_EÌ€bi_OÌ€kuÌ€_Agẹ_OÌ€guÌ_Owe_Ọ̀waÌ€_BeÌl_Ọ̀pẹ̀̀'.split('_'), + weekdays : 'AÌ€iÌ€kuÌ_AjeÌ_IÌ€sẹÌgun_Ọjá»ÌruÌ_Ọjá»Ìbá»_ẸtiÌ€_AÌ€baÌmẹÌta'.split('_'), + weekdaysShort : 'AÌ€iÌ€k_AjeÌ_IÌ€sẹÌ_Ọjr_Ọjb_ẸtiÌ€_AÌ€baÌ'.split('_'), + weekdaysMin : 'AÌ€iÌ€_Aj_IÌ€s_Ọr_Ọb_Ẹt_AÌ€b'.split('_'), + 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 : '[OÌ€niÌ€ ni] LT', + nextDay : '[Ọ̀la ni] LT', + nextWeek : 'dddd [Ọsẹ̀ toÌn\'bá»] [ni] LT', + lastDay : '[AÌ€na ni] LT', + lastWeek : 'dddd [Ọsẹ̀ toÌlá»Ì] [ni] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'niÌ %s', + past : '%s ká»jaÌ', + s : 'iÌ€sẹjuÌ aayaÌ die', + ss :'aayaÌ %d', + m : 'iÌ€sẹjuÌ kan', + mm : 'iÌ€sẹjuÌ %d', + h : 'waÌkati kan', + hh : 'waÌkati %d', + d : 'á»já»Ì kan', + dd : 'á»já»Ì %d', + M : 'osuÌ€ kan', + MM : 'osuÌ€ %d', + y : 'á»duÌn kan', + yy : 'á»duÌn %d' + }, + dayOfMonthOrdinalParse : /á»já»Ì\s\d{1,2}/, + ordinal : 'á»já»Ì %d', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return yo; + +}))); diff --git a/public/bower_components/moment/locale/zh-cn.js b/public/bower_components/moment/locale/zh-cn.js new file mode 100644 index 0000000..b051f33 --- /dev/null +++ b/public/bower_components/moment/locale/zh-cn.js @@ -0,0 +1,109 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var zhCn = moment.defineLocale('zh-cn', { + months : '一月_二月_三月_四月_五月_å…æœˆ_七月_八月_乿œˆ_åæœˆ_å一月_å二月'.split('_'), + monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), + weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期å…'.split('_'), + weekdaysShort : '周日_周一_周二_周三_周四_周五_周å…'.split('_'), + weekdaysMin : 'æ—¥_一_二_三_å››_五_å…'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY/MM/DD', + LL : 'YYYYå¹´M月Dæ—¥', + LLL : 'YYYYå¹´M月Dæ—¥Ah点mm分', + LLLL : 'YYYYå¹´M月Dæ—¥ddddAh点mm分', + l : 'YYYY/M/D', + ll : 'YYYYå¹´M月Dæ—¥', + lll : 'YYYYå¹´M月Dæ—¥ HH:mm', + llll : 'YYYYå¹´M月Dæ—¥dddd HH:mm' + }, + meridiemParse: /凌晨|早上|上åˆ|ä¸åˆ|下åˆ|晚上/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === '凌晨' || meridiem === '早上' || + meridiem === '上åˆ') { + return hour; + } else if (meridiem === '下åˆ' || meridiem === '晚上') { + return hour + 12; + } else { + // 'ä¸åˆ' + return hour >= 11 ? hour : hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + var hm = hour * 100 + minute; + if (hm < 600) { + return '凌晨'; + } else if (hm < 900) { + return '早上'; + } else if (hm < 1130) { + return '上åˆ'; + } else if (hm < 1230) { + return 'ä¸åˆ'; + } else if (hm < 1800) { + return '下åˆ'; + } else { + return '晚上'; + } + }, + calendar : { + sameDay : '[今天]LT', + nextDay : '[明天]LT', + nextWeek : '[下]ddddLT', + lastDay : '[昨天]LT', + lastWeek : '[上]ddddLT', + sameElse : 'L' + }, + dayOfMonthOrdinalParse: /\d{1,2}(æ—¥|月|周)/, + ordinal : function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + 'æ—¥'; + case 'M': + return number + '月'; + case 'w': + case 'W': + return number + '周'; + default: + return number; + } + }, + relativeTime : { + future : '%s内', + past : '%så‰', + s : 'å‡ ç§’', + ss : '%d ç§’', + m : '1 分钟', + mm : '%d 分钟', + h : '1 å°æ—¶', + hh : '%d å°æ—¶', + d : '1 天', + dd : '%d 天', + M : '1 个月', + MM : '%d 个月', + y : '1 å¹´', + yy : '%d å¹´' + }, + week : { + // GB/T 7408-1994《数æ®å…ƒå’Œäº¤æ¢æ ¼å¼Â·ä¿¡æ¯äº¤æ¢Â·æ—¥æœŸå’Œæ—¶é—´è¡¨ç¤ºæ³•》与ISO 8601:1988ç‰æ•ˆ + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return zhCn; + +}))); diff --git a/public/bower_components/moment/locale/zh-hk.js b/public/bower_components/moment/locale/zh-hk.js new file mode 100644 index 0000000..0ad0ae3 --- /dev/null +++ b/public/bower_components/moment/locale/zh-hk.js @@ -0,0 +1,102 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var zhHk = moment.defineLocale('zh-hk', { + months : '一月_二月_三月_四月_五月_å…æœˆ_七月_八月_乿œˆ_åæœˆ_å一月_å二月'.split('_'), + monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), + weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期å…'.split('_'), + weekdaysShort : '週日_週一_週二_週三_週四_週五_週å…'.split('_'), + weekdaysMin : 'æ—¥_一_二_三_å››_五_å…'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY/MM/DD', + LL : 'YYYYå¹´M月Dæ—¥', + LLL : 'YYYYå¹´M月Dæ—¥ HH:mm', + LLLL : 'YYYYå¹´M月Dæ—¥dddd HH:mm', + l : 'YYYY/M/D', + ll : 'YYYYå¹´M月Dæ—¥', + lll : 'YYYYå¹´M月Dæ—¥ HH:mm', + llll : 'YYYYå¹´M月Dæ—¥dddd HH:mm' + }, + meridiemParse: /凌晨|早上|上åˆ|ä¸åˆ|下åˆ|晚上/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上åˆ') { + return hour; + } else if (meridiem === 'ä¸åˆ') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === '下åˆ' || meridiem === '晚上') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + var hm = hour * 100 + minute; + if (hm < 600) { + return '凌晨'; + } else if (hm < 900) { + return '早上'; + } else if (hm < 1130) { + return '上åˆ'; + } else if (hm < 1230) { + return 'ä¸åˆ'; + } else if (hm < 1800) { + return '下åˆ'; + } else { + return '晚上'; + } + }, + calendar : { + sameDay : '[今天]LT', + nextDay : '[明天]LT', + nextWeek : '[下]ddddLT', + lastDay : '[昨天]LT', + lastWeek : '[上]ddddLT', + sameElse : 'L' + }, + dayOfMonthOrdinalParse: /\d{1,2}(æ—¥|月|週)/, + ordinal : function (number, period) { + switch (period) { + case 'd' : + case 'D' : + case 'DDD' : + return number + 'æ—¥'; + case 'M' : + return number + '月'; + case 'w' : + case 'W' : + return number + '週'; + default : + return number; + } + }, + relativeTime : { + future : '%så…§', + past : '%så‰', + s : '幾秒', + ss : '%d ç§’', + m : '1 分é˜', + mm : '%d 分é˜', + h : '1 å°æ™‚', + hh : '%d å°æ™‚', + d : '1 天', + dd : '%d 天', + M : '1 個月', + MM : '%d 個月', + y : '1 å¹´', + yy : '%d å¹´' + } + }); + + return zhHk; + +}))); diff --git a/public/bower_components/moment/locale/zh-tw.js b/public/bower_components/moment/locale/zh-tw.js new file mode 100644 index 0000000..6875cfe --- /dev/null +++ b/public/bower_components/moment/locale/zh-tw.js @@ -0,0 +1,102 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var zhTw = moment.defineLocale('zh-tw', { + months : '一月_二月_三月_四月_五月_å…æœˆ_七月_八月_乿œˆ_åæœˆ_å一月_å二月'.split('_'), + monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), + weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期å…'.split('_'), + weekdaysShort : '週日_週一_週二_週三_週四_週五_週å…'.split('_'), + weekdaysMin : 'æ—¥_一_二_三_å››_五_å…'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY/MM/DD', + LL : 'YYYYå¹´M月Dæ—¥', + LLL : 'YYYYå¹´M月Dæ—¥ HH:mm', + LLLL : 'YYYYå¹´M月Dæ—¥dddd HH:mm', + l : 'YYYY/M/D', + ll : 'YYYYå¹´M月Dæ—¥', + lll : 'YYYYå¹´M月Dæ—¥ HH:mm', + llll : 'YYYYå¹´M月Dæ—¥dddd HH:mm' + }, + meridiemParse: /凌晨|早上|上åˆ|ä¸åˆ|下åˆ|晚上/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上åˆ') { + return hour; + } else if (meridiem === 'ä¸åˆ') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === '下åˆ' || meridiem === '晚上') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + var hm = hour * 100 + minute; + if (hm < 600) { + return '凌晨'; + } else if (hm < 900) { + return '早上'; + } else if (hm < 1130) { + return '上åˆ'; + } else if (hm < 1230) { + return 'ä¸åˆ'; + } else if (hm < 1800) { + return '下åˆ'; + } else { + return '晚上'; + } + }, + calendar : { + sameDay : '[今天] LT', + nextDay : '[明天] LT', + nextWeek : '[下]dddd LT', + lastDay : '[昨天] LT', + lastWeek : '[上]dddd LT', + sameElse : 'L' + }, + dayOfMonthOrdinalParse: /\d{1,2}(æ—¥|月|週)/, + ordinal : function (number, period) { + switch (period) { + case 'd' : + case 'D' : + case 'DDD' : + return number + 'æ—¥'; + case 'M' : + return number + '月'; + case 'w' : + case 'W' : + return number + '週'; + default : + return number; + } + }, + relativeTime : { + future : '%så…§', + past : '%så‰', + s : '幾秒', + ss : '%d ç§’', + m : '1 分é˜', + mm : '%d 分é˜', + h : '1 å°æ™‚', + hh : '%d å°æ™‚', + d : '1 天', + dd : '%d 天', + M : '1 個月', + MM : '%d 個月', + y : '1 å¹´', + yy : '%d å¹´' + } + }); + + return zhTw; + +}))); diff --git a/public/bower_components/moment/min/locales.js b/public/bower_components/moment/min/locales.js new file mode 100644 index 0000000..9b8b206 --- /dev/null +++ b/public/bower_components/moment/min/locales.js @@ -0,0 +1,10178 @@ +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + moment.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 (input) { + return /^nm$/i.test(input); + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 12) { + return isLower ? 'vm' : 'VM'; + } else { + return isLower ? '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 (number) { + return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter + }, + week : { + dow : 1, // Maandag is die eerste dag van die week. + doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('ar-dz', { + months : 'جانÙÙŠ_ÙÙŠÙØ±ÙŠ_مارس_Ø£ÙØ±ÙŠÙ„_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), + monthsShort : 'جانÙÙŠ_ÙÙŠÙØ±ÙŠ_مارس_Ø£ÙØ±ÙŠÙ„_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), + weekdays : 'Ø§Ù„Ø£ØØ¯_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort : 'Ø§ØØ¯_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin : 'Ø£Ø_إث_ثلا_أر_خم_جم_سب'.split('_'), + weekdaysParseExact : true, + 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 سنوات' + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('ar-kw', { + months : 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), + monthsShort : 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), + weekdays : 'Ø§Ù„Ø£ØØ¯_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort : 'Ø§ØØ¯_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin : 'Ø_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), + weekdaysParseExact : true, + 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 سنوات' + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var symbolMap = { + '1': '1', + '2': '2', + '3': '3', + '4': '4', + '5': '5', + '6': '6', + '7': '7', + '8': '8', + '9': '9', + '0': '0' + }, pluralForm = function (n) { + return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5; + }, plurals = { + s : ['أقل من ثانية', 'ثانية ÙˆØ§ØØ¯Ø©', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'], + m : ['أقل من دقيقة', 'دقيقة ÙˆØ§ØØ¯Ø©', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'], + h : ['أقل من ساعة', 'ساعة ÙˆØ§ØØ¯Ø©', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'], + d : ['أقل من يوم', 'يوم ÙˆØ§ØØ¯', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'], + M : ['أقل من شهر', 'شهر ÙˆØ§ØØ¯', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'], + y : ['أقل من عام', 'عام ÙˆØ§ØØ¯', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام'] + }, pluralize = function (u) { + return function (number, withoutSuffix, string, isFuture) { + var f = pluralForm(number), + str = plurals[u][pluralForm(number)]; + if (f === 2) { + str = str[withoutSuffix ? 0 : 1]; + } + return str.replace(/%d/i, number); + }; + }, months = [ + 'يناير', + 'ÙØ¨Ø±Ø§ÙŠØ±', + 'مارس', + 'أبريل', + 'مايو', + 'يونيو', + 'يوليو', + 'أغسطس', + 'سبتمبر', + 'أكتوبر', + 'نوÙمبر', + 'ديسمبر' + ]; + + moment.defineLocale('ar-ly', { + months : months, + monthsShort : months, + weekdays : 'Ø§Ù„Ø£ØØ¯_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort : 'Ø£ØØ¯_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin : 'Ø_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'D/\u200FM/\u200FYYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY HH:mm', + LLLL : 'dddd D MMMM YYYY HH:mm' + }, + meridiemParse: /ص|Ù…/, + isPM : function (input) { + return 'Ù…' === input; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'ص'; + } else { + return 'Ù…'; + } + }, + calendar : { + sameDay: '[اليوم عند الساعة] LT', + nextDay: '[غدًا عند الساعة] LT', + nextWeek: 'dddd [عند الساعة] LT', + lastDay: '[أمس عند الساعة] LT', + lastWeek: 'dddd [عند الساعة] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'بعد %s', + past : 'منذ %s', + s : pluralize('s'), + ss : pluralize('s'), + m : pluralize('m'), + mm : pluralize('m'), + h : pluralize('h'), + hh : pluralize('h'), + d : pluralize('d'), + dd : pluralize('d'), + M : pluralize('M'), + MM : pluralize('M'), + y : pluralize('y'), + yy : pluralize('y') + }, + preparse: function (string) { + return string.replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }).replace(/,/g, 'ØŒ'); + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('ar-ma', { + months : 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), + monthsShort : 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), + weekdays : 'Ø§Ù„Ø£ØØ¯_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort : 'Ø§ØØ¯_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin : 'Ø_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), + weekdaysParseExact : true, + 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 سنوات' + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var symbolMap$1 = { + '1': 'Ù¡', + '2': 'Ù¢', + '3': 'Ù£', + '4': 'Ù¤', + '5': 'Ù¥', + '6': 'Ù¦', + '7': 'Ù§', + '8': 'Ù¨', + '9': 'Ù©', + '0': 'Ù ' + }, numberMap = { + 'Ù¡': '1', + 'Ù¢': '2', + 'Ù£': '3', + 'Ù¤': '4', + 'Ù¥': '5', + 'Ù¦': '6', + 'Ù§': '7', + 'Ù¨': '8', + 'Ù©': '9', + 'Ù ': '0' + }; + + moment.defineLocale('ar-sa', { + months : 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), + monthsShort : 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), + weekdays : 'Ø§Ù„Ø£ØØ¯_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort : 'Ø£ØØ¯_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin : 'Ø_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), + weekdaysParseExact : true, + 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 (input) { + return 'Ù…' === input; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'ص'; + } else { + return 'Ù…'; + } + }, + 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 (string) { + return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { + return numberMap[match]; + }).replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$1[match]; + }).replace(/,/g, 'ØŒ'); + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('ar-tn', { + months: 'جانÙÙŠ_ÙÙŠÙØ±ÙŠ_مارس_Ø£ÙØ±ÙŠÙ„_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), + monthsShort: 'جانÙÙŠ_ÙÙŠÙØ±ÙŠ_مارس_Ø£ÙØ±ÙŠÙ„_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), + weekdays: 'Ø§Ù„Ø£ØØ¯_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort: 'Ø£ØØ¯_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin: 'Ø_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), + weekdaysParseExact : true, + 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 سنوات' + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var symbolMap$2 = { + '1': 'Ù¡', + '2': 'Ù¢', + '3': 'Ù£', + '4': 'Ù¤', + '5': 'Ù¥', + '6': 'Ù¦', + '7': 'Ù§', + '8': 'Ù¨', + '9': 'Ù©', + '0': 'Ù ' + }, numberMap$1 = { + 'Ù¡': '1', + 'Ù¢': '2', + 'Ù£': '3', + 'Ù¤': '4', + 'Ù¥': '5', + 'Ù¦': '6', + 'Ù§': '7', + 'Ù¨': '8', + 'Ù©': '9', + 'Ù ': '0' + }, pluralForm$1 = function (n) { + return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5; + }, plurals$1 = { + s : ['أقل من ثانية', 'ثانية ÙˆØ§ØØ¯Ø©', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'], + m : ['أقل من دقيقة', 'دقيقة ÙˆØ§ØØ¯Ø©', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'], + h : ['أقل من ساعة', 'ساعة ÙˆØ§ØØ¯Ø©', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'], + d : ['أقل من يوم', 'يوم ÙˆØ§ØØ¯', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'], + M : ['أقل من شهر', 'شهر ÙˆØ§ØØ¯', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'], + y : ['أقل من عام', 'عام ÙˆØ§ØØ¯', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام'] + }, pluralize$1 = function (u) { + return function (number, withoutSuffix, string, isFuture) { + var f = pluralForm$1(number), + str = plurals$1[u][pluralForm$1(number)]; + if (f === 2) { + str = str[withoutSuffix ? 0 : 1]; + } + return str.replace(/%d/i, number); + }; + }, months$1 = [ + 'يناير', + 'ÙØ¨Ø±Ø§ÙŠØ±', + 'مارس', + 'أبريل', + 'مايو', + 'يونيو', + 'يوليو', + 'أغسطس', + 'سبتمبر', + 'أكتوبر', + 'نوÙمبر', + 'ديسمبر' + ]; + + moment.defineLocale('ar', { + months : months$1, + monthsShort : months$1, + weekdays : 'Ø§Ù„Ø£ØØ¯_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort : 'Ø£ØØ¯_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin : 'Ø_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'D/\u200FM/\u200FYYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY HH:mm', + LLLL : 'dddd D MMMM YYYY HH:mm' + }, + meridiemParse: /ص|Ù…/, + isPM : function (input) { + return 'Ù…' === input; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'ص'; + } else { + return 'Ù…'; + } + }, + calendar : { + sameDay: '[اليوم عند الساعة] LT', + nextDay: '[غدًا عند الساعة] LT', + nextWeek: 'dddd [عند الساعة] LT', + lastDay: '[أمس عند الساعة] LT', + lastWeek: 'dddd [عند الساعة] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'بعد %s', + past : 'منذ %s', + s : pluralize$1('s'), + ss : pluralize$1('s'), + m : pluralize$1('m'), + mm : pluralize$1('m'), + h : pluralize$1('h'), + hh : pluralize$1('h'), + d : pluralize$1('d'), + dd : pluralize$1('d'), + M : pluralize$1('M'), + MM : pluralize$1('M'), + y : pluralize$1('y'), + yy : pluralize$1('y') + }, + preparse: function (string) { + return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { + return numberMap$1[match]; + }).replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$2[match]; + }).replace(/,/g, 'ØŒ'); + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var suffixes = { + 1: '-inci', + 5: '-inci', + 8: '-inci', + 70: '-inci', + 80: '-inci', + 2: '-nci', + 7: '-nci', + 20: '-nci', + 50: '-nci', + 3: '-üncü', + 4: '-üncü', + 100: '-üncü', + 6: '-ncı', + 9: '-uncu', + 10: '-uncu', + 30: '-uncu', + 60: '-ıncı', + 90: '-ıncı' + }; + + moment.defineLocale('az', { + months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'), + monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'), + weekdays : 'Bazar_Bazar ertÉ™si_ÇərÅŸÉ™nbÉ™ axÅŸamı_ÇərÅŸÉ™nbÉ™_CümÉ™ axÅŸamı_CümÉ™_ŞənbÉ™'.split('_'), + weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'), + weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'), + weekdaysParseExact : true, + 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 : '[bugün saat] LT', + nextDay : '[sabah saat] LT', + nextWeek : '[gÉ™lÉ™n hÉ™ftÉ™] dddd [saat] LT', + lastDay : '[dünÉ™n] LT', + lastWeek : '[keçən hÉ™ftÉ™] dddd [saat] LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s sonra', + past : '%s É™vvÉ™l', + s : 'birneçə saniyÉ™', + ss : '%d saniyÉ™', + m : 'bir dÉ™qiqÉ™', + mm : '%d dÉ™qiqÉ™', + h : 'bir saat', + hh : '%d saat', + d : 'bir gün', + dd : '%d gün', + M : 'bir ay', + MM : '%d ay', + y : 'bir il', + yy : '%d il' + }, + meridiemParse: /gecÉ™|sÉ™hÉ™r|gündüz|axÅŸam/, + isPM : function (input) { + return /^(gündüz|axÅŸam)$/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'gecÉ™'; + } else if (hour < 12) { + return 'sÉ™hÉ™r'; + } else if (hour < 17) { + return 'gündüz'; + } else { + return 'axÅŸam'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/, + ordinal : function (number) { + if (number === 0) { // special case for zero + return number + '-ıncı'; + } + var a = number % 10, + b = number % 100 - a, + c = number >= 100 ? 100 : null; + return number + (suffixes[a] || suffixes[b] || suffixes[c]); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function plural(word, num) { + var forms = word.split('_'); + return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]); + } + function relativeTimeWithPlural(number, withoutSuffix, key) { + var format = { + 'ss': withoutSuffix ? 'Ñекунда_Ñекунды_Ñекунд' : 'Ñекунду_Ñекунды_Ñекунд', + 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін', + 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін', + 'dd': 'дзень_дні_дзён', + 'MM': 'меÑÑц_меÑÑцы_меÑÑцаў', + 'yy': 'год_гады_гадоў' + }; + if (key === 'm') { + return withoutSuffix ? 'хвіліна' : 'хвіліну'; + } + else if (key === 'h') { + return withoutSuffix ? 'гадзіна' : 'гадзіну'; + } + else { + return number + ' ' + plural(format[key], +number); + } + } + + moment.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 : relativeTimeWithPlural, + mm : relativeTimeWithPlural, + h : relativeTimeWithPlural, + hh : relativeTimeWithPlural, + d : 'дзень', + dd : relativeTimeWithPlural, + M : 'меÑÑц', + MM : relativeTimeWithPlural, + y : 'год', + yy : relativeTimeWithPlural + }, + meridiemParse: /ночы|раніцы|днÑ|вечара/, + isPM : function (input) { + return /^(днÑ|вечара)$/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'ночы'; + } else if (hour < 12) { + return 'раніцы'; + } else if (hour < 17) { + return 'днÑ'; + } else { + return 'вечара'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(Ñ–|Ñ‹|га)/, + ordinal: function (number, period) { + switch (period) { + case 'M': + case 'd': + case 'DDD': + case 'w': + case 'W': + return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-Ñ–' : number + '-Ñ‹'; + case 'D': + return number + '-га'; + default: + return number; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('bg', { + months : 'Ñнуари_февруари_март_април_май_юни_юли_авгуÑÑ‚_Ñептември_октомври_ноември_декември'.split('_'), + monthsShort : 'Ñнр_фев_мар_апр_май_юни_юли_авг_Ñеп_окт_ное_дек'.split('_'), + weekdays : 'неделÑ_понеделник_вторник_ÑÑ€Ñда_четвъртък_петък_Ñъбота'.split('_'), + weekdaysShort : 'нед_пон_вто_ÑÑ€Ñ_чет_пет_Ñъб'.split('_'), + weekdaysMin : 'нд_пн_вт_ÑÑ€_чт_пт_Ñб'.split('_'), + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'D.MM.YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY H:mm', + LLLL : 'dddd, D MMMM YYYY H:mm' + }, + calendar : { + sameDay : '[Ð”Ð½ÐµÑ Ð²] LT', + nextDay : '[Утре в] LT', + nextWeek : 'dddd [в] LT', + lastDay : '[Вчера в] LT', + lastWeek : function () { + switch (this.day()) { + case 0: + case 3: + case 6: + return '[Ð’ изминалата] dddd [в] LT'; + case 1: + case 2: + case 4: + case 5: + return '[Ð’ изминалиÑ] 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 (number) { + var lastDigit = number % 10, + last2Digits = number % 100; + if (number === 0) { + return number + '-ев'; + } else if (last2Digits === 0) { + return number + '-ен'; + } else if (last2Digits > 10 && last2Digits < 20) { + return number + '-ти'; + } else if (lastDigit === 1) { + return number + '-ви'; + } else if (lastDigit === 2) { + return number + '-ри'; + } else if (lastDigit === 7 || lastDigit === 8) { + return number + '-ми'; + } else { + return number + '-ти'; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('bm', { + months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_MÉ›kalo_ZuwÉ›nkalo_Zuluyekalo_Utikalo_SÉ›tanburukalo_É”kutÉ”burukalo_Nowanburukalo_Desanburukalo'.split('_'), + monthsShort : 'Zan_Few_Mar_Awi_MÉ›_Zuw_Zul_Uti_SÉ›t_É”ku_Now_Des'.split('_'), + weekdays : 'Kari_NtÉ›nÉ›n_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'), + weekdaysShort : 'Kar_NtÉ›_Tar_Ara_Ala_Jum_Sib'.split('_'), + weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD/MM/YYYY', + LL : 'MMMM [tile] D [san] YYYY', + LLL : 'MMMM [tile] D [san] YYYY [lÉ›rÉ›] HH:mm', + LLLL : 'dddd MMMM [tile] D [san] YYYY [lÉ›rÉ›] HH:mm' + }, + calendar : { + sameDay : '[Bi lÉ›rÉ›] LT', + nextDay : '[Sini lÉ›rÉ›] LT', + nextWeek : 'dddd [don lÉ›rÉ›] LT', + lastDay : '[Kunu lÉ›rÉ›] LT', + lastWeek : 'dddd [tÉ›mÉ›nen lÉ›rÉ›] LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s kÉ”nÉ”', + past : 'a bÉ› %s bÉ”', + s : 'sanga dama dama', + ss : 'sekondi %d', + m : 'miniti kelen', + mm : 'miniti %d', + h : 'lÉ›rÉ› kelen', + hh : 'lÉ›rÉ› %d', + d : 'tile kelen', + dd : 'tile %d', + M : 'kalo kelen', + MM : 'kalo %d', + y : 'san kelen', + yy : 'san %d' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var symbolMap$3 = { + '1': 'à§§', + '2': '২', + '3': 'à§©', + '4': '৪', + '5': 'à§«', + '6': '৬', + '7': 'à§', + '8': 'à§®', + '9': '৯', + '0': '০' + }, + numberMap$2 = { + 'à§§': '1', + '২': '2', + 'à§©': '3', + '৪': '4', + 'à§«': '5', + '৬': '6', + 'à§': '7', + 'à§®': '8', + '৯': '9', + '০': '0' + }; + + moment.defineLocale('bn', { + months : 'জানà§à§Ÿà¦¾à¦°à§€_ফেবà§à¦°à§à§Ÿà¦¾à¦°à¦¿_মারà§à¦š_à¦à¦ªà§à¦°à¦¿à¦²_মে_জà§à¦¨_জà§à¦²à¦¾à¦‡_আগসà§à¦Ÿ_সেপà§à¦Ÿà§‡à¦®à§à¦¬à¦°_অকà§à¦Ÿà§‹à¦¬à¦°_নà¦à§‡à¦®à§à¦¬à¦°_ডিসেমà§à¦¬à¦°'.split('_'), + monthsShort : 'জানà§_ফেব_মারà§à¦š_à¦à¦ªà§à¦°_মে_জà§à¦¨_জà§à¦²_আগ_সেপà§à¦Ÿ_অকà§à¦Ÿà§‹_নà¦à§‡_ডিসে'.split('_'), + 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 : 'কয়েক সেকেনà§à¦¡', + ss : '%d সেকেনà§à¦¡', + m : 'à¦à¦• মিনিট', + mm : '%d মিনিট', + h : 'à¦à¦• ঘনà§à¦Ÿà¦¾', + hh : '%d ঘনà§à¦Ÿà¦¾', + d : 'à¦à¦• দিন', + dd : '%d দিন', + M : 'à¦à¦• মাস', + MM : '%d মাস', + y : 'à¦à¦• বছর', + yy : '%d বছর' + }, + preparse: function (string) { + return string.replace(/[১২৩৪৫৬à§à§®à§¯à§¦]/g, function (match) { + return numberMap$2[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$3[match]; + }); + }, + meridiemParse: /রাত|সকাল|দà§à¦ªà§à¦°|বিকাল|রাত/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if ((meridiem === 'রাত' && hour >= 4) || + (meridiem === 'দà§à¦ªà§à¦°' && hour < 5) || + meridiem === 'বিকাল') { + return hour + 12; + } else { + return hour; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'রাত'; + } else if (hour < 10) { + return 'সকাল'; + } else if (hour < 17) { + return 'দà§à¦ªà§à¦°'; + } else if (hour < 20) { + return 'বিকাল'; + } else { + return 'রাত'; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var symbolMap$4 = { + '1': '༡', + '2': '༢', + '3': '༣', + '4': '༤', + '5': '༥', + '6': '༦', + '7': '༧', + '8': '༨', + '9': '༩', + '0': '༠' + }, + numberMap$3 = { + '༡': '1', + '༢': '2', + '༣': '3', + '༤': '4', + '༥': '5', + '༦': '6', + '༧': '7', + '༨': '8', + '༩': '9', + '༠': '0' + }; + + moment.defineLocale('bo', { + months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'), + monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'), + 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 : '[བདུན་ཕྲག་རྗེས་མ], 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 (string) { + return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) { + return numberMap$3[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$4[match]; + }); + }, + meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if ((meridiem === 'མཚན་མོ' && hour >= 4) || + (meridiem === 'ཉིན་གུང' && hour < 5) || + meridiem === 'དགོང་དག') { + return hour + 12; + } else { + return hour; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'མཚན་མོ'; + } else if (hour < 10) { + return 'ཞོགས་ཀས'; + } else if (hour < 17) { + return 'ཉིན་གུང'; + } else if (hour < 20) { + return 'དགོང་དག'; + } else { + return 'མཚན་མོ'; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function relativeTimeWithMutation(number, withoutSuffix, key) { + var format = { + 'mm': 'munutenn', + 'MM': 'miz', + 'dd': 'devezh' + }; + return number + ' ' + mutation(format[key], number); + } + function specialMutationForYears(number) { + switch (lastNumber(number)) { + case 1: + case 3: + case 4: + case 5: + case 9: + return number + ' bloaz'; + default: + return number + ' vloaz'; + } + } + function lastNumber(number) { + if (number > 9) { + return lastNumber(number % 10); + } + return number; + } + function mutation(text, number) { + if (number === 2) { + return softMutation(text); + } + return text; + } + function softMutation(text) { + var mutationTable = { + 'm': 'v', + 'b': 'v', + 'd': 'z' + }; + if (mutationTable[text.charAt(0)] === undefined) { + return text; + } + return mutationTable[text.charAt(0)] + text.substring(1); + } + + moment.defineLocale('br', { + months : 'Genver_C\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'), + monthsShort : 'Gen_C\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'), + weekdays : 'Sul_Lun_Meurzh_Merc\'her_Yaou_Gwener_Sadorn'.split('_'), + weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'), + weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'h[e]mm A', + LTS : 'h[e]mm:ss A', + L : 'DD/MM/YYYY', + LL : 'D [a viz] MMMM YYYY', + LLL : 'D [a viz] MMMM YYYY h[e]mm A', + LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A' + }, + calendar : { + sameDay : '[Hiziv da] LT', + nextDay : '[Warc\'hoazh da] LT', + nextWeek : 'dddd [da] LT', + lastDay : '[Dec\'h da] LT', + lastWeek : 'dddd [paset da] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'a-benn %s', + past : '%s \'zo', + s : 'un nebeud segondennoù', + ss : '%d eilenn', + m : 'ur vunutenn', + mm : relativeTimeWithMutation, + h : 'un eur', + hh : '%d eur', + d : 'un devezh', + dd : relativeTimeWithMutation, + M : 'ur miz', + MM : relativeTimeWithMutation, + y : 'ur bloaz', + yy : specialMutationForYears + }, + dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/, + ordinal : function (number) { + var output = (number === 1) ? 'añ' : 'vet'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function translate(number, withoutSuffix, key) { + var result = number + ' '; + switch (key) { + case 'ss': + if (number === 1) { + result += 'sekunda'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'sekunde'; + } else { + result += 'sekundi'; + } + return result; + case 'm': + return withoutSuffix ? 'jedna minuta' : 'jedne minute'; + case 'mm': + if (number === 1) { + result += 'minuta'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'minute'; + } else { + result += 'minuta'; + } + return result; + case 'h': + return withoutSuffix ? 'jedan sat' : 'jednog sata'; + case 'hh': + if (number === 1) { + result += 'sat'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'sata'; + } else { + result += 'sati'; + } + return result; + case 'dd': + if (number === 1) { + result += 'dan'; + } else { + result += 'dana'; + } + return result; + case 'MM': + if (number === 1) { + result += 'mjesec'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'mjeseca'; + } else { + result += 'mjeseci'; + } + return result; + case 'yy': + if (number === 1) { + result += 'godina'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'godine'; + } else { + result += 'godina'; + } + return result; + } + } + + moment.defineLocale('bs', { + months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'), + monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'), + monthsParseExact: true, + weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota'.split('_'), + weekdaysShort : 'ned._pon._uto._sri._Äet._pet._sub.'.split('_'), + weekdaysMin : 'ne_po_ut_sr_Äe_pe_su'.split('_'), + weekdaysParseExact : true, + 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 : '[danas u] LT', + nextDay : '[sutra u] LT', + nextWeek : function () { + switch (this.day()) { + case 0: + return '[u] [nedjelju] [u] LT'; + case 3: + return '[u] [srijedu] [u] LT'; + case 6: + return '[u] [subotu] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[u] dddd [u] LT'; + } + }, + lastDay : '[juÄer u] LT', + lastWeek : function () { + switch (this.day()) { + case 0: + case 3: + return '[proÅ¡lu] dddd [u] LT'; + case 6: + return '[proÅ¡le] [subote] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[proÅ¡li] dddd [u] LT'; + } + }, + sameElse : 'L' + }, + relativeTime : { + future : 'za %s', + past : 'prije %s', + s : 'par sekundi', + ss : translate, + m : translate, + mm : translate, + h : translate, + hh : translate, + d : 'dan', + dd : translate, + M : 'mjesec', + MM : translate, + y : 'godinu', + yy : translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('ca', { + months : { + standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'), + format: 'de gener_de febrer_de març_d\'abril_de maig_de juny_de juliol_d\'agost_de setembre_d\'octubre_de novembre_de desembre'.split('_'), + isFormat: /D[oD]?(\s)+MMMM/ + }, + monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'), + monthsParseExact : true, + weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'), + weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'), + weekdaysMin : 'dg_dl_dt_dc_dj_dv_ds'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'DD/MM/YYYY', + LL : 'D MMMM [de] YYYY', + ll : 'D MMM YYYY', + LLL : 'D MMMM [de] YYYY [a les] H:mm', + lll : 'D MMM YYYY, H:mm', + LLLL : 'dddd D MMMM [de] YYYY [a les] H:mm', + llll : 'ddd D MMM YYYY, H:mm' + }, + calendar : { + sameDay : function () { + return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; + }, + nextDay : function () { + return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; + }, + nextWeek : function () { + return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; + }, + lastDay : function () { + return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; + }, + lastWeek : function () { + return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; + }, + sameElse : 'L' + }, + relativeTime : { + future : 'd\'aquà %s', + past : 'fa %s', + s : 'uns segons', + ss : '%d segons', + m : 'un minut', + mm : '%d minuts', + h : 'una hora', + hh : '%d hores', + d : 'un dia', + dd : '%d dies', + M : 'un mes', + MM : '%d mesos', + y : 'un any', + yy : '%d anys' + }, + dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/, + ordinal : function (number, period) { + var output = (number === 1) ? 'r' : + (number === 2) ? 'n' : + (number === 3) ? 'r' : + (number === 4) ? 't' : 'è'; + if (period === 'w' || period === 'W') { + output = 'a'; + } + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var months$2 = 'leden_únor_bÅ™ezen_duben_kvÄ›ten_Äerven_Äervenec_srpen_zářÃ_Å™Ãjen_listopad_prosinec'.split('_'), + monthsShort = 'led_úno_bÅ™e_dub_kvÄ›_Ävn_Ävc_srp_zář_Å™Ãj_lis_pro'.split('_'); + + var monthsParse = [/^led/i, /^úno/i, /^bÅ™e/i, /^dub/i, /^kvÄ›/i, /^(Ävn|Äerven$|Äervna)/i, /^(Ävc|Äervenec|Äervence)/i, /^srp/i, /^zář/i, /^Å™Ãj/i, /^lis/i, /^pro/i]; + // NOTE: 'Äerven' is substring of 'Äervenec'; therefore 'Äervenec' must precede 'Äerven' in the regex to be fully matched. + // Otherwise parser matches '1. Äervenec' as '1. Äerven' + 'ec'. + var monthsRegex = /^(leden|únor|bÅ™ezen|duben|kvÄ›ten|Äervenec|Äervence|Äerven|Äervna|srpen|zářÃ|Å™Ãjen|listopad|prosinec|led|úno|bÅ™e|dub|kvÄ›|Ävn|Ävc|srp|zář|Å™Ãj|lis|pro)/i; + + function plural$1(n) { + return (n > 1) && (n < 5) && (~~(n / 10) !== 1); + } + function translate$1(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + switch (key) { + case 's': // a few seconds / in a few seconds / a few seconds ago + return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami'; + case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago + if (withoutSuffix || isFuture) { + return result + (plural$1(number) ? 'sekundy' : 'sekund'); + } else { + return result + 'sekundami'; + } + break; + case 'm': // a minute / in a minute / a minute ago + return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou'); + case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago + if (withoutSuffix || isFuture) { + return result + (plural$1(number) ? 'minuty' : 'minut'); + } else { + return result + 'minutami'; + } + break; + case 'h': // an hour / in an hour / an hour ago + return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou'); + case 'hh': // 9 hours / in 9 hours / 9 hours ago + if (withoutSuffix || isFuture) { + return result + (plural$1(number) ? 'hodiny' : 'hodin'); + } else { + return result + 'hodinami'; + } + break; + case 'd': // a day / in a day / a day ago + return (withoutSuffix || isFuture) ? 'den' : 'dnem'; + case 'dd': // 9 days / in 9 days / 9 days ago + if (withoutSuffix || isFuture) { + return result + (plural$1(number) ? 'dny' : 'dnÃ'); + } else { + return result + 'dny'; + } + break; + case 'M': // a month / in a month / a month ago + return (withoutSuffix || isFuture) ? 'mÄ›sÃc' : 'mÄ›sÃcem'; + case 'MM': // 9 months / in 9 months / 9 months ago + if (withoutSuffix || isFuture) { + return result + (plural$1(number) ? 'mÄ›sÃce' : 'mÄ›sÃců'); + } else { + return result + 'mÄ›sÃci'; + } + break; + case 'y': // a year / in a year / a year ago + return (withoutSuffix || isFuture) ? 'rok' : 'rokem'; + case 'yy': // 9 years / in 9 years / 9 years ago + if (withoutSuffix || isFuture) { + return result + (plural$1(number) ? 'roky' : 'let'); + } else { + return result + 'lety'; + } + break; + } + } + + moment.defineLocale('cs', { + months : months$2, + monthsShort : monthsShort, + monthsRegex : monthsRegex, + monthsShortRegex : monthsRegex, + // NOTE: 'Äerven' is substring of 'Äervenec'; therefore 'Äervenec' must precede 'Äerven' in the regex to be fully matched. + // Otherwise parser matches '1. Äervenec' as '1. Äerven' + 'ec'. + monthsStrictRegex : /^(leden|ledna|února|únor|bÅ™ezen|bÅ™ezna|duben|dubna|kvÄ›ten|kvÄ›tna|Äervenec|Äervence|Äerven|Äervna|srpen|srpna|zářÃ|Å™Ãjen|Å™Ãjna|listopadu|listopad|prosinec|prosince)/i, + monthsShortStrictRegex : /^(led|úno|bÅ™e|dub|kvÄ›|Ävn|Ävc|srp|zář|Å™Ãj|lis|pro)/i, + monthsParse : monthsParse, + longMonthsParse : monthsParse, + shortMonthsParse : monthsParse, + weekdays : 'nedÄ›le_pondÄ›lÃ_úterý_stÅ™eda_Ätvrtek_pátek_sobota'.split('_'), + weekdaysShort : 'ne_po_út_st_Ät_pá_so'.split('_'), + weekdaysMin : 'ne_po_út_st_Ät_pá_so'.split('_'), + 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', + l : 'D. M. YYYY' + }, + calendar : { + sameDay: '[dnes v] LT', + nextDay: '[zÃtra v] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[v nedÄ›li v] LT'; + case 1: + case 2: + return '[v] dddd [v] LT'; + case 3: + return '[ve stÅ™edu v] LT'; + case 4: + return '[ve Ätvrtek v] LT'; + case 5: + return '[v pátek v] LT'; + case 6: + return '[v sobotu v] LT'; + } + }, + lastDay: '[vÄera v] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[minulou nedÄ›li v] LT'; + case 1: + case 2: + return '[minulé] dddd [v] LT'; + case 3: + return '[minulou stÅ™edu v] LT'; + case 4: + case 5: + return '[minulý] dddd [v] LT'; + case 6: + return '[minulou sobotu v] LT'; + } + }, + sameElse: 'L' + }, + relativeTime : { + future : 'za %s', + past : 'pÅ™ed %s', + s : translate$1, + ss : translate$1, + m : translate$1, + mm : translate$1, + h : translate$1, + hh : translate$1, + d : translate$1, + dd : translate$1, + M : translate$1, + MM : translate$1, + y : translate$1, + yy : translate$1 + }, + dayOfMonthOrdinalParse : /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('cv', { + months : 'кӑрлач_нарӑÑ_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'), + monthsShort : 'кӑр_нар_пуш_ака_май_Ò«Ó—Ñ€_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'), + weekdays : 'вырÑарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_Ñрнекун_шӑматкун'.split('_'), + weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_Ñрн_шӑм'.split('_'), + weekdaysMin : 'вр_тн_ыт_юн_кҫ_ÑÑ€_шм'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD-MM-YYYY', + LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]', + LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', + LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm' + }, + calendar : { + sameDay: '[ПаÑн] LT [Ñехетре]', + nextDay: '[Ыран] LT [Ñехетре]', + lastDay: '[Ӗнер] LT [Ñехетре]', + nextWeek: '[ҪитеÑ] dddd LT [Ñехетре]', + lastWeek: '[Иртнӗ] dddd LT [Ñехетре]', + sameElse: 'L' + }, + relativeTime : { + future : function (output) { + var affix = /Ñехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран'; + return output + affix; + }, + 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-мӗш', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('cy', { + months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'), + monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'), + weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'), + weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'), + weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'), + weekdaysParseExact : true, + // time formats are the same as en-gb + 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: '[Heddiw am] LT', + nextDay: '[Yfory am] LT', + nextWeek: 'dddd [am] LT', + lastDay: '[Ddoe am] LT', + lastWeek: 'dddd [diwethaf am] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'mewn %s', + past: '%s yn ôl', + s: 'ychydig eiliadau', + ss: '%d eiliad', + m: 'munud', + mm: '%d munud', + h: 'awr', + hh: '%d awr', + d: 'diwrnod', + dd: '%d diwrnod', + M: 'mis', + MM: '%d mis', + y: 'blwyddyn', + yy: '%d flynedd' + }, + dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/, + // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh + ordinal: function (number) { + var b = number, + output = '', + lookup = [ + '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed + 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed + ]; + if (b > 20) { + if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) { + output = 'fed'; // not 30ain, 70ain or 90ain + } else { + output = 'ain'; + } + } else if (b > 0) { + output = lookup[b]; + } + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('da', { + months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'), + monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), + weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), + weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'), + weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.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.] D. MMMM YYYY [kl.] HH:mm' + }, + calendar : { + sameDay : '[i dag kl.] LT', + nextDay : '[i morgen kl.] LT', + nextWeek : 'pÃ¥ dddd [kl.] LT', + lastDay : '[i gÃ¥r kl.] LT', + lastWeek : '[i] dddd[s kl.] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'om %s', + past : '%s siden', + s : 'fÃ¥ sekunder', + ss : '%d sekunder', + m : 'et minut', + mm : '%d minutter', + h : 'en time', + hh : '%d timer', + d : 'en dag', + dd : '%d dage', + M : 'en mÃ¥ned', + MM : '%d mÃ¥neder', + y : 'et Ã¥r', + yy : '%d Ã¥r' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + 'm': ['eine Minute', 'einer Minute'], + 'h': ['eine Stunde', 'einer Stunde'], + 'd': ['ein Tag', 'einem Tag'], + 'dd': [number + ' Tage', number + ' Tagen'], + 'M': ['ein Monat', 'einem Monat'], + 'MM': [number + ' Monate', number + ' Monaten'], + 'y': ['ein Jahr', 'einem Jahr'], + 'yy': [number + ' Jahre', number + ' Jahren'] + }; + return withoutSuffix ? format[key][0] : format[key][1]; + } + + moment.defineLocale('de-at', { + months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), + monthsShort : 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), + monthsParseExact : true, + weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), + weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), + weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), + weekdaysParseExact : true, + 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: '[heute um] LT [Uhr]', + sameElse: 'L', + nextDay: '[morgen um] LT [Uhr]', + nextWeek: 'dddd [um] LT [Uhr]', + lastDay: '[gestern um] LT [Uhr]', + lastWeek: '[letzten] dddd [um] LT [Uhr]' + }, + relativeTime : { + future : 'in %s', + past : 'vor %s', + s : 'ein paar Sekunden', + ss : '%d Sekunden', + m : processRelativeTime, + mm : '%d Minuten', + h : processRelativeTime, + hh : '%d Stunden', + d : processRelativeTime, + dd : processRelativeTime, + M : processRelativeTime, + MM : processRelativeTime, + y : processRelativeTime, + yy : processRelativeTime + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function processRelativeTime$1(number, withoutSuffix, key, isFuture) { + var format = { + 'm': ['eine Minute', 'einer Minute'], + 'h': ['eine Stunde', 'einer Stunde'], + 'd': ['ein Tag', 'einem Tag'], + 'dd': [number + ' Tage', number + ' Tagen'], + 'M': ['ein Monat', 'einem Monat'], + 'MM': [number + ' Monate', number + ' Monaten'], + 'y': ['ein Jahr', 'einem Jahr'], + 'yy': [number + ' Jahre', number + ' Jahren'] + }; + return withoutSuffix ? format[key][0] : format[key][1]; + } + + moment.defineLocale('de-ch', { + months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), + monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), + monthsParseExact : true, + weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), + weekdaysShort : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), + weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), + weekdaysParseExact : true, + 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: '[heute um] LT [Uhr]', + sameElse: 'L', + nextDay: '[morgen um] LT [Uhr]', + nextWeek: 'dddd [um] LT [Uhr]', + lastDay: '[gestern um] LT [Uhr]', + lastWeek: '[letzten] dddd [um] LT [Uhr]' + }, + relativeTime : { + future : 'in %s', + past : 'vor %s', + s : 'ein paar Sekunden', + ss : '%d Sekunden', + m : processRelativeTime$1, + mm : '%d Minuten', + h : processRelativeTime$1, + hh : '%d Stunden', + d : processRelativeTime$1, + dd : processRelativeTime$1, + M : processRelativeTime$1, + MM : processRelativeTime$1, + y : processRelativeTime$1, + yy : processRelativeTime$1 + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function processRelativeTime$2(number, withoutSuffix, key, isFuture) { + var format = { + 'm': ['eine Minute', 'einer Minute'], + 'h': ['eine Stunde', 'einer Stunde'], + 'd': ['ein Tag', 'einem Tag'], + 'dd': [number + ' Tage', number + ' Tagen'], + 'M': ['ein Monat', 'einem Monat'], + 'MM': [number + ' Monate', number + ' Monaten'], + 'y': ['ein Jahr', 'einem Jahr'], + 'yy': [number + ' Jahre', number + ' Jahren'] + }; + return withoutSuffix ? format[key][0] : format[key][1]; + } + + moment.defineLocale('de', { + months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), + monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), + monthsParseExact : true, + weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), + weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), + weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), + weekdaysParseExact : true, + 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: '[heute um] LT [Uhr]', + sameElse: 'L', + nextDay: '[morgen um] LT [Uhr]', + nextWeek: 'dddd [um] LT [Uhr]', + lastDay: '[gestern um] LT [Uhr]', + lastWeek: '[letzten] dddd [um] LT [Uhr]' + }, + relativeTime : { + future : 'in %s', + past : 'vor %s', + s : 'ein paar Sekunden', + ss : '%d Sekunden', + m : processRelativeTime$2, + mm : '%d Minuten', + h : processRelativeTime$2, + hh : '%d Stunden', + d : processRelativeTime$2, + dd : processRelativeTime$2, + M : processRelativeTime$2, + MM : processRelativeTime$2, + y : processRelativeTime$2, + yy : processRelativeTime$2 + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var months$3 = [ + 'Þ–Þ¬Þ‚ÞªÞ‡Þ¦ÞƒÞ©', + 'ÞŠÞ¬Þ„Þ°ÞƒÞªÞ‡Þ¦ÞƒÞ©', + 'Þ‰Þ§ÞƒÞ¨Þ—Þª', + 'Þ‡ÞÞ•Þ°ÞƒÞ©ÞÞª', + 'Þ‰Þ', + 'Þ–Þ«Þ‚Þ°', + 'Þ–ÞªÞÞ¦Þ‡Þ¨', + 'Þ‡Þ¯ÞŽÞ¦ÞÞ°Þ“Þª', + 'ÞÞ¬Þ•Þ°Þ“Þ¬Þ‰Þ°Þ„Þ¦ÞƒÞª', + 'Þ‡Þ®Þ†Þ°Þ“Þ¯Þ„Þ¦ÞƒÞª', + 'Þ‚Þ®ÞˆÞ¬Þ‰Þ°Þ„Þ¦ÞƒÞª', + 'Þ‘Þ¨ÞÞ¬Þ‰Þ°Þ„Þ¦ÞƒÞª' + ], weekdays = [ + 'އާދިއްތަ', + 'Þ€Þ¯Þ‰Þ¦', + 'Þ‡Þ¦Þ‚Þ°ÞŽÞ§ÞƒÞ¦', + 'Þ„ÞªÞ‹Þ¦', + 'Þ„ÞªÞƒÞ§Þްފަތި', + 'Þ€ÞªÞ†ÞªÞƒÞª', + 'Þ€Þ®Þ‚Þ¨Þ€Þ¨ÞƒÞª' + ]; + + moment.defineLocale('dv', { + months : months$3, + monthsShort : months$3, + weekdays : weekdays, + weekdaysShort : weekdays, + weekdaysMin : 'Þ‡Þ§Þ‹Þ¨_Þ€Þ¯Þ‰Þ¦_Þ‡Þ¦Þ‚Þ°_Þ„ÞªÞ‹Þ¦_Þ„ÞªÞƒÞ§_Þ€ÞªÞ†Þª_Þ€Þ®Þ‚Þ¨'.split('_'), + 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 (input) { + return 'Þ‰ÞŠ' === input; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'Þ‰Þ†'; + } else { + return 'Þ‰ÞŠ'; + } + }, + 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 (string) { + return string.replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/,/g, 'ØŒ'); + }, + week : { + dow : 7, // Sunday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } + }); + + function isFunction(input) { + return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]'; + } + + //! moment.js locale configuration + + moment.defineLocale('el', { + monthsNominativeEl : 'ΙανουάÏιος_ΦεβÏουάÏιος_ΜάÏτιος_ΑπÏίλιος_Μάιος_ΙοÏνιος_ΙοÏλιος_ΑÏγουστος_ΣεπτÎμβÏιος_ΟκτώβÏιος_ÎοÎμβÏιος_ΔεκÎμβÏιος'.split('_'), + monthsGenitiveEl : 'ΙανουαÏίου_ΦεβÏουαÏίου_ΜαÏτίου_ΑπÏιλίου_ΜαÎου_Ιουνίου_Ιουλίου_ΑυγοÏστου_ΣεπτεμβÏίου_ΟκτωβÏίου_ÎοεμβÏίου_ΔεκεμβÏίου'.split('_'), + months : function (momentToFormat, format) { + if (!momentToFormat) { + return this._monthsNominativeEl; + } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM' + return this._monthsGenitiveEl[momentToFormat.month()]; + } else { + return this._monthsNominativeEl[momentToFormat.month()]; + } + }, + monthsShort : 'Ιαν_Φεβ_ΜαÏ_ΑπÏ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Îοε_Δεκ'.split('_'), + weekdays : 'ΚυÏιακή_ΔευτÎÏα_ΤÏίτη_ΤετάÏτη_Î Îμπτη_ΠαÏασκευή_Σάββατο'.split('_'), + weekdaysShort : 'ΚυÏ_Δευ_ΤÏι_Τετ_Πεμ_ΠαÏ_Σαβ'.split('_'), + weekdaysMin : 'Κυ_Δε_ΤÏ_Τε_Πε_Πα_Σα'.split('_'), + meridiem : function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'μμ' : 'ΜΜ'; + } else { + return isLower ? 'πμ' : 'ΠΜ'; + } + }, + isPM : function (input) { + return ((input + '').toLowerCase()[0] === 'μ'); + }, + meridiemParse : /[ΠΜ]\.?Μ?\.?/i, + 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' + }, + calendarEl : { + sameDay : '[ΣήμεÏα {}] LT', + nextDay : '[ΑÏÏιο {}] LT', + nextWeek : 'dddd [{}] LT', + lastDay : '[Χθες {}] LT', + lastWeek : function () { + switch (this.day()) { + case 6: + return '[το Ï€ÏοηγοÏμενο] dddd [{}] LT'; + default: + return '[την Ï€ÏοηγοÏμενη] dddd [{}] LT'; + } + }, + sameElse : 'L' + }, + calendar : function (key, mom) { + var output = this._calendarEl[key], + hours = mom && mom.hours(); + if (isFunction(output)) { + output = output.apply(mom); + } + return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις')); + }, + 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η', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4st is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('en-SG', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.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 : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('en-au', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + 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 : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('en-ca', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + longDateFormat : { + LT : 'h:mm A', + LTS : 'h:mm:ss A', + L : 'YYYY-MM-DD', + LL : 'MMMM D, YYYY', + LLL : 'MMMM D, YYYY h:mm A', + LLLL : 'dddd, MMMM D, YYYY h:mm A' + }, + calendar : { + sameDay : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + } + }); + + //! moment.js locale configuration + + moment.defineLocale('en-gb', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.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 : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('en-ie', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.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 : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('en-il', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.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 : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + } + }); + + //! moment.js locale configuration + + moment.defineLocale('en-nz', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + 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 : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('eo', { + months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aÅgusto_septembro_oktobro_novembro_decembro'.split('_'), + monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aÅg_sep_okt_nov_dec'.split('_'), + weekdays : 'dimanĉo_lundo_mardo_merkredo_ĵaÅdo_vendredo_sabato'.split('_'), + weekdaysShort : 'dim_lun_mard_merk_ĵaÅ_ven_sab'.split('_'), + weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY-MM-DD', + LL : 'D[-a de] MMMM, YYYY', + LLL : 'D[-a de] MMMM, YYYY HH:mm', + LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm' + }, + meridiemParse: /[ap]\.t\.m/i, + isPM: function (input) { + return input.charAt(0).toLowerCase() === 'p'; + }, + meridiem : function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'p.t.m.' : 'P.T.M.'; + } else { + return isLower ? 'a.t.m.' : 'A.T.M.'; + } + }, + calendar : { + sameDay : '[HodiaÅ je] LT', + nextDay : '[MorgaÅ je] LT', + nextWeek : 'dddd [je] LT', + lastDay : '[HieraÅ je] LT', + lastWeek : '[pasinta] dddd [je] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'post %s', + past : 'antaÅ %s', + s : 'sekundoj', + ss : '%d sekundoj', + m : 'minuto', + mm : '%d minutoj', + h : 'horo', + hh : '%d horoj', + d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo + dd : '%d tagoj', + M : 'monato', + MM : '%d monatoj', + y : 'jaro', + yy : '%d jaroj' + }, + dayOfMonthOrdinalParse: /\d{1,2}a/, + ordinal : '%da', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'), + monthsShort$1 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'); + + var monthsParse$1 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i]; + var monthsRegex$1 = /^(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; + + moment.defineLocale('es-do', { + months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), + monthsShort : function (m, format) { + if (!m) { + return monthsShortDot; + } else if (/-MMM-/.test(format)) { + return monthsShort$1[m.month()]; + } else { + return monthsShortDot[m.month()]; + } + }, + monthsRegex: monthsRegex$1, + monthsShortRegex: monthsRegex$1, + 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: monthsParse$1, + longMonthsParse: monthsParse$1, + shortMonthsParse: monthsParse$1, + 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 : true, + 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' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + nextDay : function () { + return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + nextWeek : function () { + return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + lastDay : function () { + return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + lastWeek : function () { + return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? '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, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var monthsShortDot$1 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'), + monthsShort$2 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'); + + var monthsParse$2 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i]; + var monthsRegex$2 = /^(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; + + moment.defineLocale('es-us', { + months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), + monthsShort : function (m, format) { + if (!m) { + return monthsShortDot$1; + } else if (/-MMM-/.test(format)) { + return monthsShort$2[m.month()]; + } else { + return monthsShortDot$1[m.month()]; + } + }, + monthsRegex: monthsRegex$2, + monthsShortRegex: monthsRegex$2, + 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: monthsParse$2, + longMonthsParse: monthsParse$2, + shortMonthsParse: monthsParse$2, + 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 : true, + longDateFormat : { + LT : 'h:mm A', + LTS : 'h:mm:ss A', + L : 'MM/DD/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' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + nextDay : function () { + return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + nextWeek : function () { + return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + lastDay : function () { + return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + lastWeek : function () { + return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? '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 : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var monthsShortDot$2 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'), + monthsShort$3 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'); + + var monthsParse$3 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i]; + var monthsRegex$3 = /^(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; + + moment.defineLocale('es', { + months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), + monthsShort : function (m, format) { + if (!m) { + return monthsShortDot$2; + } else if (/-MMM-/.test(format)) { + return monthsShort$3[m.month()]; + } else { + return monthsShortDot$2[m.month()]; + } + }, + monthsRegex : monthsRegex$3, + monthsShortRegex : monthsRegex$3, + 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 : monthsParse$3, + longMonthsParse : monthsParse$3, + shortMonthsParse : monthsParse$3, + 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 : true, + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'DD/MM/YYYY', + LL : 'D [de] MMMM [de] YYYY', + LLL : 'D [de] MMMM [de] YYYY H:mm', + LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm' + }, + calendar : { + sameDay : function () { + return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + nextDay : function () { + return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + nextWeek : function () { + return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + lastDay : function () { + return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + lastWeek : function () { + return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? '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, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function processRelativeTime$3(number, withoutSuffix, key, isFuture) { + var format = { + 's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'], + 'ss': [number + 'sekundi', number + 'sekundit'], + 'm' : ['ühe minuti', 'üks minut'], + 'mm': [number + ' minuti', number + ' minutit'], + 'h' : ['ühe tunni', 'tund aega', 'üks tund'], + 'hh': [number + ' tunni', number + ' tundi'], + 'd' : ['ühe päeva', 'üks päev'], + 'M' : ['kuu aja', 'kuu aega', 'üks kuu'], + 'MM': [number + ' kuu', number + ' kuud'], + 'y' : ['ühe aasta', 'aasta', 'üks aasta'], + 'yy': [number + ' aasta', number + ' aastat'] + }; + if (withoutSuffix) { + return format[key][2] ? format[key][2] : format[key][1]; + } + return isFuture ? format[key][0] : format[key][1]; + } + + moment.defineLocale('et', { + months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'), + monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'), + weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'), + weekdaysShort : 'P_E_T_K_N_R_L'.split('_'), + weekdaysMin : 'P_E_T_K_N_R_L'.split('_'), + 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 : '[Täna,] LT', + nextDay : '[Homme,] LT', + nextWeek : '[Järgmine] dddd LT', + lastDay : '[Eile,] LT', + lastWeek : '[Eelmine] dddd LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s pärast', + past : '%s tagasi', + s : processRelativeTime$3, + ss : processRelativeTime$3, + m : processRelativeTime$3, + mm : processRelativeTime$3, + h : processRelativeTime$3, + hh : processRelativeTime$3, + d : processRelativeTime$3, + dd : '%d päeva', + M : processRelativeTime$3, + MM : processRelativeTime$3, + y : processRelativeTime$3, + yy : processRelativeTime$3 + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('eu', { + months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'), + monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'), + monthsParseExact : true, + weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'), + weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'), + weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY-MM-DD', + LL : 'YYYY[ko] MMMM[ren] D[a]', + LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm', + LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm', + l : 'YYYY-M-D', + ll : 'YYYY[ko] MMM D[a]', + lll : 'YYYY[ko] MMM D[a] HH:mm', + llll : 'ddd, YYYY[ko] MMM D[a] HH:mm' + }, + calendar : { + sameDay : '[gaur] LT[etan]', + nextDay : '[bihar] LT[etan]', + nextWeek : 'dddd LT[etan]', + lastDay : '[atzo] LT[etan]', + lastWeek : '[aurreko] dddd LT[etan]', + sameElse : 'L' + }, + relativeTime : { + future : '%s barru', + past : 'duela %s', + s : 'segundo batzuk', + ss : '%d segundo', + m : 'minutu bat', + mm : '%d minutu', + h : 'ordu bat', + hh : '%d ordu', + d : 'egun bat', + dd : '%d egun', + M : 'hilabete bat', + MM : '%d hilabete', + y : 'urte bat', + yy : '%d urte' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var symbolMap$5 = { + '1': 'Û±', + '2': 'Û²', + '3': 'Û³', + '4': 'Û´', + '5': 'Ûµ', + '6': 'Û¶', + '7': 'Û·', + '8': 'Û¸', + '9': 'Û¹', + '0': 'Û°' + }, numberMap$4 = { + 'Û±': '1', + 'Û²': '2', + 'Û³': '3', + 'Û´': '4', + 'Ûµ': '5', + 'Û¶': '6', + 'Û·': '7', + 'Û¸': '8', + 'Û¹': '9', + 'Û°': '0' + }; + + moment.defineLocale('fa', { + months : 'ژانویه_Ùوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'), + monthsShort : 'ژانویه_Ùوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'), + weekdays : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'), + weekdaysShort : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'), + weekdaysMin : 'ÛŒ_د_س_Ú†_Ù¾_ج_Ø´'.split('_'), + weekdaysParseExact : true, + 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 (input) { + return /بعد از ظهر/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'قبل از ظهر'; + } else { + return 'بعد از ظهر'; + } + }, + 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 (string) { + return string.replace(/[Û°-Û¹]/g, function (match) { + return numberMap$4[match]; + }).replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$5[match]; + }).replace(/,/g, 'ØŒ'); + }, + dayOfMonthOrdinalParse: /\d{1,2}Ù…/, + ordinal : '%dÙ…', + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '), + numbersFuture = [ + 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden', + numbersPast[7], numbersPast[8], numbersPast[9] + ]; + function translate$2(number, withoutSuffix, key, isFuture) { + var result = ''; + switch (key) { + case 's': + return isFuture ? 'muutaman sekunnin' : 'muutama sekunti'; + case 'ss': + return isFuture ? 'sekunnin' : 'sekuntia'; + case 'm': + return isFuture ? 'minuutin' : 'minuutti'; + case 'mm': + result = isFuture ? 'minuutin' : 'minuuttia'; + break; + case 'h': + return isFuture ? 'tunnin' : 'tunti'; + case 'hh': + result = isFuture ? 'tunnin' : 'tuntia'; + break; + case 'd': + return isFuture ? 'päivän' : 'päivä'; + case 'dd': + result = isFuture ? 'päivän' : 'päivää'; + break; + case 'M': + return isFuture ? 'kuukauden' : 'kuukausi'; + case 'MM': + result = isFuture ? 'kuukauden' : 'kuukautta'; + break; + case 'y': + return isFuture ? 'vuoden' : 'vuosi'; + case 'yy': + result = isFuture ? 'vuoden' : 'vuotta'; + break; + } + result = verbalNumber(number, isFuture) + ' ' + result; + return result; + } + function verbalNumber(number, isFuture) { + return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number; + } + + moment.defineLocale('fi', { + months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'), + monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'), + weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'), + weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'), + weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'), + longDateFormat : { + LT : 'HH.mm', + LTS : 'HH.mm.ss', + L : 'DD.MM.YYYY', + LL : 'Do MMMM[ta] YYYY', + LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm', + LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm', + l : 'D.M.YYYY', + ll : 'Do MMM YYYY', + lll : 'Do MMM YYYY, [klo] HH.mm', + llll : 'ddd, Do MMM YYYY, [klo] HH.mm' + }, + calendar : { + sameDay : '[tänään] [klo] LT', + nextDay : '[huomenna] [klo] LT', + nextWeek : 'dddd [klo] LT', + lastDay : '[eilen] [klo] LT', + lastWeek : '[viime] dddd[na] [klo] LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s päästä', + past : '%s sitten', + s : translate$2, + ss : translate$2, + m : translate$2, + mm : translate$2, + h : translate$2, + hh : translate$2, + d : translate$2, + dd : translate$2, + M : translate$2, + MM : translate$2, + y : translate$2, + yy : translate$2 + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('fo', { + months : 'januar_februar_mars_aprÃl_mai_juni_juli_august_september_oktober_november_desember'.split('_'), + monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), + weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_frÃggjadagur_leygardagur'.split('_'), + weekdaysShort : 'sun_mán_týs_mik_hós_frÃ_ley'.split('_'), + weekdaysMin : 'su_má_tý_mi_hó_fr_le'.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 : '[à dag kl.] LT', + nextDay : '[à morgin kl.] LT', + nextWeek : 'dddd [kl.] LT', + lastDay : '[à gjár kl.] LT', + lastWeek : '[sÃðstu] dddd [kl] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'um %s', + past : '%s sÃðani', + s : 'fá sekund', + ss : '%d sekundir', + m : 'ein minuttur', + mm : '%d minuttir', + h : 'ein tÃmi', + hh : '%d tÃmar', + d : 'ein dagur', + dd : '%d dagar', + M : 'ein mánaður', + MM : '%d mánaðir', + y : 'eitt ár', + yy : '%d ár' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('fr-ca', { + months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), + monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), + monthsParseExact : true, + weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), + weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), + weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY-MM-DD', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY HH:mm', + LLLL : 'dddd D MMMM YYYY HH:mm' + }, + calendar : { + sameDay : '[Aujourd’hui à ] LT', + nextDay : '[Demain à ] LT', + nextWeek : 'dddd [à ] LT', + lastDay : '[Hier à ] LT', + lastWeek : 'dddd [dernier à ] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'dans %s', + past : 'il y a %s', + s : 'quelques secondes', + ss : '%d secondes', + m : 'une minute', + mm : '%d minutes', + h : 'une heure', + hh : '%d heures', + d : 'un jour', + dd : '%d jours', + M : 'un mois', + MM : '%d mois', + y : 'un an', + yy : '%d ans' + }, + dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, + ordinal : function (number, period) { + switch (period) { + // Words with masculine grammatical gender: mois, trimestre, jour + default: + case 'M': + case 'Q': + case 'D': + case 'DDD': + case 'd': + return number + (number === 1 ? 'er' : 'e'); + + // Words with feminine grammatical gender: semaine + case 'w': + case 'W': + return number + (number === 1 ? 're' : 'e'); + } + } + }); + + //! moment.js locale configuration + + moment.defineLocale('fr-ch', { + months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), + monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), + monthsParseExact : true, + weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), + weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), + weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'), + weekdaysParseExact : true, + 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 : '[Aujourd’hui à ] LT', + nextDay : '[Demain à ] LT', + nextWeek : 'dddd [à ] LT', + lastDay : '[Hier à ] LT', + lastWeek : 'dddd [dernier à ] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'dans %s', + past : 'il y a %s', + s : 'quelques secondes', + ss : '%d secondes', + m : 'une minute', + mm : '%d minutes', + h : 'une heure', + hh : '%d heures', + d : 'un jour', + dd : '%d jours', + M : 'un mois', + MM : '%d mois', + y : 'un an', + yy : '%d ans' + }, + dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, + ordinal : function (number, period) { + switch (period) { + // Words with masculine grammatical gender: mois, trimestre, jour + default: + case 'M': + case 'Q': + case 'D': + case 'DDD': + case 'd': + return number + (number === 1 ? 'er' : 'e'); + + // Words with feminine grammatical gender: semaine + case 'w': + case 'W': + return number + (number === 1 ? 're' : 'e'); + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('fr', { + months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), + monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), + monthsParseExact : true, + weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), + weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), + weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'), + weekdaysParseExact : true, + 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 : '[Aujourd’hui à ] LT', + nextDay : '[Demain à ] LT', + nextWeek : 'dddd [à ] LT', + lastDay : '[Hier à ] LT', + lastWeek : 'dddd [dernier à ] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'dans %s', + past : 'il y a %s', + s : 'quelques secondes', + ss : '%d secondes', + m : 'une minute', + mm : '%d minutes', + h : 'une heure', + hh : '%d heures', + d : 'un jour', + dd : '%d jours', + M : 'un mois', + MM : '%d mois', + y : 'un an', + yy : '%d ans' + }, + dayOfMonthOrdinalParse: /\d{1,2}(er|)/, + ordinal : function (number, period) { + switch (period) { + // TODO: Return 'e' when day of month > 1. Move this case inside + // block for masculine words below. + // See https://github.com/moment/moment/issues/3375 + case 'D': + return number + (number === 1 ? 'er' : ''); + + // Words with masculine grammatical gender: mois, trimestre, jour + default: + case 'M': + case 'Q': + case 'DDD': + case 'd': + return number + (number === 1 ? 'er' : 'e'); + + // Words with feminine grammatical gender: semaine + case 'w': + case 'W': + return number + (number === 1 ? 're' : 'e'); + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'), + monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'); + + moment.defineLocale('fy', { + months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'), + monthsShort : function (m, format) { + if (!m) { + return monthsShortWithDots; + } else if (/-MMM-/.test(format)) { + return monthsShortWithoutDots[m.month()]; + } else { + return monthsShortWithDots[m.month()]; + } + }, + monthsParseExact : true, + weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'), + weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'), + weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'), + weekdaysParseExact : true, + 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: '[hjoed om] LT', + nextDay: '[moarn om] LT', + nextWeek: 'dddd [om] LT', + lastDay: '[juster om] LT', + lastWeek: '[ôfrûne] dddd [om] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'oer %s', + past : '%s lyn', + s : 'in pear sekonden', + ss : '%d sekonden', + m : 'ien minút', + mm : '%d minuten', + h : 'ien oere', + hh : '%d oeren', + d : 'ien dei', + dd : '%d dagen', + M : 'ien moanne', + MM : '%d moannen', + y : 'ien jier', + yy : '%d jierren' + }, + dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, + ordinal : function (number) { + return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + + var months$4 = [ + 'Eanáir', 'Feabhra', 'Márta', 'Aibreán', 'Bealtaine', 'Méitheamh', 'Iúil', 'Lúnasa', 'Meán Fómhair', 'Deaireadh Fómhair', 'Samhain', 'Nollaig' + ]; + + var monthsShort$4 = ['Eaná', 'Feab', 'Márt', 'Aibr', 'Beal', 'Méit', 'Iúil', 'Lúna', 'Meán', 'Deai', 'Samh', 'Noll']; + + var weekdays$1 = ['Dé Domhnaigh', 'Dé Luain', 'Dé Máirt', 'Dé Céadaoin', 'Déardaoin', 'Dé hAoine', 'Dé Satharn']; + + var weekdaysShort = ['Dom', 'Lua', 'Mái', 'Céa', 'Déa', 'hAo', 'Sat']; + + var weekdaysMin = ['Do', 'Lu', 'Má', 'Ce', 'Dé', 'hA', 'Sa']; + + moment.defineLocale('ga', { + months: months$4, + monthsShort: monthsShort$4, + monthsParseExact: true, + weekdays: weekdays$1, + weekdaysShort: weekdaysShort, + weekdaysMin: weekdaysMin, + 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: '[Inniu ag] LT', + nextDay: '[Amárach ag] LT', + nextWeek: 'dddd [ag] LT', + lastDay: '[Inné aig] LT', + lastWeek: 'dddd [seo caite] [ag] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'i %s', + past: '%s ó shin', + s: 'cúpla soicind', + ss: '%d soicind', + m: 'nóiméad', + mm: '%d nóiméad', + h: 'uair an chloig', + hh: '%d uair an chloig', + d: 'lá', + dd: '%d lá', + M: 'mÃ', + MM: '%d mÃ', + y: 'bliain', + yy: '%d bliain' + }, + dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/, + ordinal: function (number) { + var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; + return number + output; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var months$5 = [ + 'Am Faoilleach', 'An Gearran', 'Am Mà rt', 'An Giblean', 'An Cèitean', 'An t-Ã’gmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dà mhair', 'An t-Samhain', 'An Dùbhlachd' + ]; + + var monthsShort$5 = ['Faoi', 'Gear', 'Mà rt', 'Gibl', 'Cèit', 'Ã’gmh', 'Iuch', 'Lùn', 'Sult', 'Dà mh', 'Samh', 'Dùbh']; + + var weekdays$2 = ['Didòmhnaich', 'Diluain', 'Dimà irt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne']; + + var weekdaysShort$1 = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis']; + + var weekdaysMin$1 = ['Dò', 'Lu', 'Mà ', 'Ci', 'Ar', 'Ha', 'Sa']; + + moment.defineLocale('gd', { + months : months$5, + monthsShort : monthsShort$5, + monthsParseExact : true, + weekdays : weekdays$2, + weekdaysShort : weekdaysShort$1, + weekdaysMin : weekdaysMin$1, + 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 : '[An-diugh aig] LT', + nextDay : '[A-mà ireach aig] LT', + nextWeek : 'dddd [aig] LT', + lastDay : '[An-dè aig] LT', + lastWeek : 'dddd [seo chaidh] [aig] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'ann an %s', + past : 'bho chionn %s', + s : 'beagan diogan', + ss : '%d diogan', + m : 'mionaid', + mm : '%d mionaidean', + h : 'uair', + hh : '%d uairean', + d : 'latha', + dd : '%d latha', + M : 'mìos', + MM : '%d mìosan', + y : 'bliadhna', + yy : '%d bliadhna' + }, + dayOfMonthOrdinalParse : /\d{1,2}(d|na|mh)/, + ordinal : function (number) { + var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('gl', { + months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'), + monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'), + monthsParseExact: true, + weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'), + weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'), + weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'DD/MM/YYYY', + LL : 'D [de] MMMM [de] YYYY', + LLL : 'D [de] MMMM [de] YYYY H:mm', + LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm' + }, + calendar : { + sameDay : function () { + return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT'; + }, + nextDay : function () { + return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT'; + }, + nextWeek : function () { + return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT'; + }, + lastDay : function () { + return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT'; + }, + lastWeek : function () { + return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT'; + }, + sameElse : 'L' + }, + relativeTime : { + future : function (str) { + if (str.indexOf('un') === 0) { + return 'n' + str; + } + return 'en ' + str; + }, + past : 'hai %s', + s : 'uns segundos', + ss : '%d segundos', + m : 'un minuto', + mm : '%d minutos', + h : 'unha hora', + hh : '%d horas', + d : 'un dÃa', + dd : '%d dÃas', + M : 'un mes', + MM : '%d meses', + y : 'un ano', + yy : '%d anos' + }, + dayOfMonthOrdinalParse : /\d{1,2}º/, + ordinal : '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function processRelativeTime$4(number, withoutSuffix, key, isFuture) { + var format = { + 's': ['thodde secondanim', 'thodde second'], + 'ss': [number + ' secondanim', number + ' second'], + 'm': ['eka mintan', 'ek minute'], + 'mm': [number + ' mintanim', number + ' mintam'], + 'h': ['eka voran', 'ek vor'], + 'hh': [number + ' voranim', number + ' voram'], + 'd': ['eka disan', 'ek dis'], + 'dd': [number + ' disanim', number + ' dis'], + 'M': ['eka mhoinean', 'ek mhoino'], + 'MM': [number + ' mhoineanim', number + ' mhoine'], + 'y': ['eka vorsan', 'ek voros'], + 'yy': [number + ' vorsanim', number + ' vorsam'] + }; + return withoutSuffix ? format[key][0] : format[key][1]; + } + + moment.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 : true, + 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 : true, + 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 : processRelativeTime$4, + ss : processRelativeTime$4, + m : processRelativeTime$4, + mm : processRelativeTime$4, + h : processRelativeTime$4, + hh : processRelativeTime$4, + d : processRelativeTime$4, + dd : processRelativeTime$4, + M : processRelativeTime$4, + MM : processRelativeTime$4, + y : processRelativeTime$4, + yy : processRelativeTime$4 + }, + dayOfMonthOrdinalParse : /\d{1,2}(er)/, + ordinal : function (number, period) { + switch (period) { + // the ordinal 'er' only applies to day of the month + case 'D': + return number + 'er'; + default: + case 'M': + case 'Q': + case 'DDD': + case 'd': + case 'w': + case 'W': + return number; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + }, + meridiemParse: /rati|sokalli|donparam|sanje/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'rati') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'sokalli') { + return hour; + } else if (meridiem === 'donparam') { + return hour > 12 ? hour : hour + 12; + } else if (meridiem === 'sanje') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'rati'; + } else if (hour < 12) { + return 'sokalli'; + } else if (hour < 16) { + return 'donparam'; + } else if (hour < 20) { + return 'sanje'; + } else { + return 'rati'; + } + } + }); + + //! moment.js locale configuration + + var symbolMap$6 = { + '1': 'à«§', + '2': '૨', + '3': 'à«©', + '4': '૪', + '5': 'à««', + '6': '૬', + '7': 'à«', + '8': 'à«®', + '9': '૯', + '0': '૦' + }, + numberMap$5 = { + 'à«§': '1', + '૨': '2', + 'à«©': '3', + '૪': '4', + 'à««': '5', + '૬': '6', + 'à«': '7', + 'à«®': '8', + '૯': '9', + '૦': '0' + }; + + moment.defineLocale('gu', { + months: 'જાનà«àª¯à«àª†àª°à«€_ફેબà«àª°à«àª†àª°à«€_મારà«àªš_àªàªªà«àª°àª¿àª²_મે_જૂન_જà«àª²àª¾àªˆ_ઑગસà«àªŸ_સપà«àªŸà«‡àª®à«àª¬àª°_ઑકà«àªŸà«àª¬àª°_નવેમà«àª¬àª°_ડિસેમà«àª¬àª°'.split('_'), + monthsShort: 'જાનà«àª¯à«._ફેબà«àª°à«._મારà«àªš_àªàªªà«àª°àª¿._મે_જૂન_જà«àª²àª¾._ઑગ._સપà«àªŸà«‡._ઑકà«àªŸà«._નવે._ડિસે.'.split('_'), + monthsParseExact: true, + 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: 'અમà«àª• પળો', + ss: '%d સેકંડ', + m: 'àªàª• મિનિટ', + mm: '%d મિનિટ', + h: 'àªàª• કલાક', + hh: '%d કલાક', + d: 'àªàª• દિવસ', + dd: '%d દિવસ', + M: 'àªàª• મહિનો', + MM: '%d મહિનો', + y: 'àªàª• વરà«àª·', + yy: '%d વરà«àª·' + }, + preparse: function (string) { + return string.replace(/[૧૨૩૪૫૬à«à«®à«¯à«¦]/g, function (match) { + return numberMap$5[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$6[match]; + }); + }, + // Gujarati notation for meridiems are quite fuzzy in practice. While there exists + // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati. + meridiemParse: /રાત|બપોર|સવાર|સાંજ/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'રાત') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'સવાર') { + return hour; + } else if (meridiem === 'બપોર') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'સાંજ') { + return hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'રાત'; + } else if (hour < 10) { + return 'સવાર'; + } else if (hour < 17) { + return 'બપોર'; + } else if (hour < 20) { + return 'સાંજ'; + } else { + return 'રાત'; + } + }, + week: { + dow: 0, // Sunday is the first day of the week. + doy: 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('he', { + 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', + l : 'D/M/YYYY', + ll : 'D MMM YYYY', + lll : 'D MMM YYYY HH:mm', + llll : 'ddd, D MMM 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 : function (number) { + if (number === 2) { + return 'שעתיי×'; + } + return number + ' שעות'; + }, + d : 'יו×', + dd : function (number) { + if (number === 2) { + return 'יומיי×'; + } + return number + ' ימי×'; + }, + M : 'חודש', + MM : function (number) { + if (number === 2) { + return 'חודשיי×'; + } + return number + ' חודשי×'; + }, + y : '×©× ×”', + yy : function (number) { + if (number === 2) { + return '×©× ×ª×™×™×'; + } else if (number % 10 === 0 && number !== 10) { + return number + ' ×©× ×”'; + } + return number + ' ×©× ×™×'; + } + }, + meridiemParse: /××—×”"צ|×œ×¤× ×”"צ|×חרי הצהריי×|×œ×¤× ×™ הצהריי×|×œ×¤× ×•×ª בוקר|בבוקר|בערב/i, + isPM : function (input) { + return /^(××—×”"צ|×חרי הצהריי×|בערב)$/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 5) { + return '×œ×¤× ×•×ª בוקר'; + } else if (hour < 10) { + return 'בבוקר'; + } else if (hour < 12) { + return isLower ? '×œ×¤× ×”"צ' : '×œ×¤× ×™ הצהריי×'; + } else if (hour < 18) { + return isLower ? '××—×”"צ' : '×חרי הצהריי×'; + } else { + return 'בערב'; + } + } + }); + + //! moment.js locale configuration + + var symbolMap$7 = { + '1': '१', + '2': '२', + '3': '३', + '4': '४', + '5': '५', + '6': '६', + '7': 'à¥', + '8': '८', + '9': '९', + '0': '०' + }, + numberMap$6 = { + '१': '1', + '२': '2', + '३': '3', + '४': '4', + '५': '5', + '६': '6', + 'à¥': '7', + '८': '8', + '९': '9', + '०': '0' + }; + + moment.defineLocale('hi', { + months : 'जनवरी_फ़रवरी_मारà¥à¤š_अपà¥à¤°à¥ˆà¤²_मई_जून_जà¥à¤²à¤¾à¤ˆ_अगसà¥à¤¤_सितमà¥à¤¬à¤°_अकà¥à¤Ÿà¥‚बर_नवमà¥à¤¬à¤°_दिसमà¥à¤¬à¤°'.split('_'), + monthsShort : 'जन._फ़र._मारà¥à¤š_अपà¥à¤°à¥ˆ._मई_जून_जà¥à¤²._अग._सित._अकà¥à¤Ÿà¥‚._नव._दिस.'.split('_'), + monthsParseExact: true, + 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 : 'कà¥à¤› ही कà¥à¤·à¤£', + ss : '%d सेकंड', + m : 'à¤à¤• मिनट', + mm : '%d मिनट', + h : 'à¤à¤• घंटा', + hh : '%d घंटे', + d : 'à¤à¤• दिन', + dd : '%d दिन', + M : 'à¤à¤• महीने', + MM : '%d महीने', + y : 'à¤à¤• वरà¥à¤·', + yy : '%d वरà¥à¤·' + }, + preparse: function (string) { + return string.replace(/[१२३४५६à¥à¥®à¥¯à¥¦]/g, function (match) { + return numberMap$6[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$7[match]; + }); + }, + // Hindi notation for meridiems are quite fuzzy in practice. While there exists + // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi. + meridiemParse: /रात|सà¥à¤¬à¤¹|दोपहर|शाम/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'रात') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'सà¥à¤¬à¤¹') { + return hour; + } else if (meridiem === 'दोपहर') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'शाम') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'रात'; + } else if (hour < 10) { + return 'सà¥à¤¬à¤¹'; + } else if (hour < 17) { + return 'दोपहर'; + } else if (hour < 20) { + return 'शाम'; + } else { + return 'रात'; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function translate$3(number, withoutSuffix, key) { + var result = number + ' '; + switch (key) { + case 'ss': + if (number === 1) { + result += 'sekunda'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'sekunde'; + } else { + result += 'sekundi'; + } + return result; + case 'm': + return withoutSuffix ? 'jedna minuta' : 'jedne minute'; + case 'mm': + if (number === 1) { + result += 'minuta'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'minute'; + } else { + result += 'minuta'; + } + return result; + case 'h': + return withoutSuffix ? 'jedan sat' : 'jednog sata'; + case 'hh': + if (number === 1) { + result += 'sat'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'sata'; + } else { + result += 'sati'; + } + return result; + case 'dd': + if (number === 1) { + result += 'dan'; + } else { + result += 'dana'; + } + return result; + case 'MM': + if (number === 1) { + result += 'mjesec'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'mjeseca'; + } else { + result += 'mjeseci'; + } + return result; + case 'yy': + if (number === 1) { + result += 'godina'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'godine'; + } else { + result += 'godina'; + } + return result; + } + } + + moment.defineLocale('hr', { + months : { + format: 'sijeÄnja_veljaÄe_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'), + standalone: 'sijeÄanj_veljaÄa_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_') + }, + monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'), + monthsParseExact: true, + weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota'.split('_'), + weekdaysShort : 'ned._pon._uto._sri._Äet._pet._sub.'.split('_'), + weekdaysMin : 'ne_po_ut_sr_Äe_pe_su'.split('_'), + weekdaysParseExact : true, + 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 : '[danas u] LT', + nextDay : '[sutra u] LT', + nextWeek : function () { + switch (this.day()) { + case 0: + return '[u] [nedjelju] [u] LT'; + case 3: + return '[u] [srijedu] [u] LT'; + case 6: + return '[u] [subotu] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[u] dddd [u] LT'; + } + }, + lastDay : '[juÄer u] LT', + lastWeek : function () { + switch (this.day()) { + case 0: + case 3: + return '[proÅ¡lu] dddd [u] LT'; + case 6: + return '[proÅ¡le] [subote] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[proÅ¡li] dddd [u] LT'; + } + }, + sameElse : 'L' + }, + relativeTime : { + future : 'za %s', + past : 'prije %s', + s : 'par sekundi', + ss : translate$3, + m : translate$3, + mm : translate$3, + h : translate$3, + hh : translate$3, + d : 'dan', + dd : translate$3, + M : 'mjesec', + MM : translate$3, + y : 'godinu', + yy : translate$3 + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var weekEndings = 'vasárnap hétfÅ‘n kedden szerdán csütörtökön pénteken szombaton'.split(' '); + function translate$4(number, withoutSuffix, key, isFuture) { + var num = number; + switch (key) { + case 's': + return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce'; + case 'ss': + return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce'; + case 'm': + return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce'); + case 'mm': + return num + (isFuture || withoutSuffix ? ' perc' : ' perce'); + case 'h': + return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája'); + case 'hh': + return num + (isFuture || withoutSuffix ? ' óra' : ' órája'); + case 'd': + return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja'); + case 'dd': + return num + (isFuture || withoutSuffix ? ' nap' : ' napja'); + case 'M': + return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); + case 'MM': + return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); + case 'y': + return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve'); + case 'yy': + return num + (isFuture || withoutSuffix ? ' év' : ' éve'); + } + return ''; + } + function week(isFuture) { + return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]'; + } + + moment.defineLocale('hu', { + months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'), + monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'), + weekdays : 'vasárnap_hétfÅ‘_kedd_szerda_csütörtök_péntek_szombat'.split('_'), + weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'), + weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'), + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'YYYY.MM.DD.', + LL : 'YYYY. MMMM D.', + LLL : 'YYYY. MMMM D. H:mm', + LLLL : 'YYYY. MMMM D., dddd H:mm' + }, + meridiemParse: /de|du/i, + isPM: function (input) { + return input.charAt(1).toLowerCase() === 'u'; + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 12) { + return isLower === true ? 'de' : 'DE'; + } else { + return isLower === true ? 'du' : 'DU'; + } + }, + calendar : { + sameDay : '[ma] LT[-kor]', + nextDay : '[holnap] LT[-kor]', + nextWeek : function () { + return week.call(this, true); + }, + lastDay : '[tegnap] LT[-kor]', + lastWeek : function () { + return week.call(this, false); + }, + sameElse : 'L' + }, + relativeTime : { + future : '%s múlva', + past : '%s', + s : translate$4, + ss : translate$4, + m : translate$4, + mm : translate$4, + h : translate$4, + hh : translate$4, + d : translate$4, + dd : translate$4, + M : translate$4, + MM : translate$4, + y : translate$4, + yy : translate$4 + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('hy-am', { + months : { + format: 'Õ°Õ¸Ö‚Õ¶Õ¾Õ¡Ö€Õ«_ÖƒÕ¥Õ¿Ö€Õ¾Õ¡Ö€Õ«_Õ´Õ¡Ö€Õ¿Õ«_Õ¡ÕºÖ€Õ«Õ¬Õ«_Õ´Õ¡ÕµÕ«Õ½Õ«_Õ°Õ¸Ö‚Õ¶Õ«Õ½Õ«_Õ°Õ¸Ö‚Õ¬Õ«Õ½Õ«_Ö…Õ£Õ¸Õ½Õ¿Õ¸Õ½Õ«_Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«_Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«_Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö€Õ«_Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«'.split('_'), + standalone: 'Õ°Õ¸Ö‚Õ¶Õ¾Õ¡Ö€_ÖƒÕ¥Õ¿Ö€Õ¾Õ¡Ö€_Õ´Õ¡Ö€Õ¿_Õ¡ÕºÖ€Õ«Õ¬_Õ´Õ¡ÕµÕ«Õ½_Õ°Õ¸Ö‚Õ¶Õ«Õ½_Õ°Õ¸Ö‚Õ¬Õ«Õ½_Ö…Õ£Õ¸Õ½Õ¿Õ¸Õ½_Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö€_Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€_Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö€_Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€'.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: function () { + return 'dddd [Ö…Ö€Õ¨ ÕªÕ¡Õ´Õ¨] LT'; + }, + lastWeek: function () { + return '[Õ¡Õ¶ÖÕ¡Õ®] 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 Õ¿Õ¡Ö€Õ«' + }, + meridiemParse: /Õ£Õ«Õ·Õ¥Ö€Õ¾Õ¡|Õ¡Õ¼Õ¡Õ¾Õ¸Õ¿Õ¾Õ¡|ÖÕ¥Ö€Õ¥Õ¯Õ¾Õ¡|Õ¥Ö€Õ¥Õ¯Õ¸ÕµÕ¡Õ¶/, + isPM: function (input) { + return /^(ÖÕ¥Ö€Õ¥Õ¯Õ¾Õ¡|Õ¥Ö€Õ¥Õ¯Õ¸ÕµÕ¡Õ¶)$/.test(input); + }, + meridiem : function (hour) { + if (hour < 4) { + return 'Õ£Õ«Õ·Õ¥Ö€Õ¾Õ¡'; + } else if (hour < 12) { + return 'Õ¡Õ¼Õ¡Õ¾Õ¸Õ¿Õ¾Õ¡'; + } else if (hour < 17) { + return 'ÖÕ¥Ö€Õ¥Õ¯Õ¾Õ¡'; + } else { + return 'Õ¥Ö€Õ¥Õ¯Õ¸ÕµÕ¡Õ¶'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(Õ«Õ¶|Ö€Õ¤)/, + ordinal: function (number, period) { + switch (period) { + case 'DDD': + case 'w': + case 'W': + case 'DDDo': + if (number === 1) { + return number + '-Õ«Õ¶'; + } + return number + '-Ö€Õ¤'; + default: + return number; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('id', { + months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'), + weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'), + weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'), + weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'), + longDateFormat : { + LT : 'HH.mm', + LTS : 'HH.mm.ss', + L : 'DD/MM/YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY [pukul] HH.mm', + LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm' + }, + meridiemParse: /pagi|siang|sore|malam/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'pagi') { + return hour; + } else if (meridiem === 'siang') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'sore' || meridiem === 'malam') { + return hour + 12; + } + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 11) { + return 'pagi'; + } else if (hours < 15) { + return 'siang'; + } else if (hours < 19) { + return 'sore'; + } else { + return 'malam'; + } + }, + calendar : { + sameDay : '[Hari ini pukul] LT', + nextDay : '[Besok pukul] LT', + nextWeek : 'dddd [pukul] LT', + lastDay : '[Kemarin pukul] LT', + lastWeek : 'dddd [lalu pukul] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'dalam %s', + past : '%s yang lalu', + s : 'beberapa detik', + ss : '%d detik', + m : 'semenit', + mm : '%d menit', + h : 'sejam', + hh : '%d jam', + d : 'sehari', + dd : '%d hari', + M : 'sebulan', + MM : '%d bulan', + y : 'setahun', + yy : '%d tahun' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function plural$2(n) { + if (n % 100 === 11) { + return true; + } else if (n % 10 === 1) { + return false; + } + return true; + } + function translate$5(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + switch (key) { + case 's': + return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum'; + case 'ss': + if (plural$2(number)) { + return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum'); + } + return result + 'sekúnda'; + case 'm': + return withoutSuffix ? 'mÃnúta' : 'mÃnútu'; + case 'mm': + if (plural$2(number)) { + return result + (withoutSuffix || isFuture ? 'mÃnútur' : 'mÃnútum'); + } else if (withoutSuffix) { + return result + 'mÃnúta'; + } + return result + 'mÃnútu'; + case 'hh': + if (plural$2(number)) { + return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum'); + } + return result + 'klukkustund'; + case 'd': + if (withoutSuffix) { + return 'dagur'; + } + return isFuture ? 'dag' : 'degi'; + case 'dd': + if (plural$2(number)) { + if (withoutSuffix) { + return result + 'dagar'; + } + return result + (isFuture ? 'daga' : 'dögum'); + } else if (withoutSuffix) { + return result + 'dagur'; + } + return result + (isFuture ? 'dag' : 'degi'); + case 'M': + if (withoutSuffix) { + return 'mánuður'; + } + return isFuture ? 'mánuð' : 'mánuði'; + case 'MM': + if (plural$2(number)) { + if (withoutSuffix) { + return result + 'mánuðir'; + } + return result + (isFuture ? 'mánuði' : 'mánuðum'); + } else if (withoutSuffix) { + return result + 'mánuður'; + } + return result + (isFuture ? 'mánuð' : 'mánuði'); + case 'y': + return withoutSuffix || isFuture ? 'ár' : 'ári'; + case 'yy': + if (plural$2(number)) { + return result + (withoutSuffix || isFuture ? 'ár' : 'árum'); + } + return result + (withoutSuffix || isFuture ? 'ár' : 'ári'); + } + } + + moment.defineLocale('is', { + months : 'janúar_febrúar_mars_aprÃl_maÃ_júnÃ_júlÃ_ágúst_september_október_nóvember_desember'.split('_'), + monthsShort : 'jan_feb_mar_apr_maÃ_jún_júl_ágú_sep_okt_nóv_des'.split('_'), + weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'), + weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'), + weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'), + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'DD.MM.YYYY', + LL : 'D. MMMM YYYY', + LLL : 'D. MMMM YYYY [kl.] H:mm', + LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm' + }, + calendar : { + sameDay : '[à dag kl.] LT', + nextDay : '[á morgun kl.] LT', + nextWeek : 'dddd [kl.] LT', + lastDay : '[à gær kl.] LT', + lastWeek : '[sÃðasta] dddd [kl.] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'eftir %s', + past : 'fyrir %s sÃðan', + s : translate$5, + ss : translate$5, + m : translate$5, + mm : translate$5, + h : 'klukkustund', + hh : translate$5, + d : translate$5, + dd : translate$5, + M : translate$5, + MM : translate$5, + y : translate$5, + yy : translate$5 + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('it-ch', { + months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'), + monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), + weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'), + weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'), + weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.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: '[Oggi alle] LT', + nextDay: '[Domani alle] LT', + nextWeek: 'dddd [alle] LT', + lastDay: '[Ieri alle] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[la scorsa] dddd [alle] LT'; + default: + return '[lo scorso] dddd [alle] LT'; + } + }, + sameElse: 'L' + }, + relativeTime : { + future : function (s) { + return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s; + }, + past : '%s fa', + s : 'alcuni secondi', + ss : '%d secondi', + m : 'un minuto', + mm : '%d minuti', + h : 'un\'ora', + hh : '%d ore', + d : 'un giorno', + dd : '%d giorni', + M : 'un mese', + MM : '%d mesi', + y : 'un anno', + yy : '%d anni' + }, + dayOfMonthOrdinalParse : /\d{1,2}º/, + ordinal: '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('it', { + months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'), + monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), + weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'), + weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'), + weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.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: '[Oggi alle] LT', + nextDay: '[Domani alle] LT', + nextWeek: 'dddd [alle] LT', + lastDay: '[Ieri alle] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[la scorsa] dddd [alle] LT'; + default: + return '[lo scorso] dddd [alle] LT'; + } + }, + sameElse: 'L' + }, + relativeTime : { + future : function (s) { + return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s; + }, + past : '%s fa', + s : 'alcuni secondi', + ss : '%d secondi', + m : 'un minuto', + mm : '%d minuti', + h : 'un\'ora', + hh : '%d ore', + d : 'un giorno', + dd : '%d giorni', + M : 'un mese', + MM : '%d mesi', + y : 'un anno', + yy : '%d anni' + }, + dayOfMonthOrdinalParse : /\d{1,2}º/, + ordinal: '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('ja', { + months : '一月_二月_三月_四月_五月_å…æœˆ_七月_八月_乿œˆ_åæœˆ_å一月_å二月'.split('_'), + monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), + weekdays : '日曜日_月曜日_ç«æ›œæ—¥_水曜日_木曜日_金曜日_土曜日'.split('_'), + weekdaysShort : 'æ—¥_月_ç«_æ°´_木_金_土'.split('_'), + weekdaysMin : 'æ—¥_月_ç«_æ°´_木_金_土'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY/MM/DD', + LL : 'YYYYå¹´M月Dæ—¥', + LLL : 'YYYYå¹´M月Dæ—¥ HH:mm', + LLLL : 'YYYYå¹´M月Dæ—¥ dddd HH:mm', + l : 'YYYY/MM/DD', + ll : 'YYYYå¹´M月Dæ—¥', + lll : 'YYYYå¹´M月Dæ—¥ HH:mm', + llll : 'YYYYå¹´M月Dæ—¥(ddd) HH:mm' + }, + meridiemParse: /åˆå‰|åˆå¾Œ/i, + isPM : function (input) { + return input === 'åˆå¾Œ'; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'åˆå‰'; + } else { + return 'åˆå¾Œ'; + } + }, + calendar : { + sameDay : '[今日] LT', + nextDay : '[明日] LT', + nextWeek : function (now) { + if (now.week() < this.week()) { + return '[æ¥é€±]dddd LT'; + } else { + return 'dddd LT'; + } + }, + lastDay : '[昨日] LT', + lastWeek : function (now) { + if (this.week() < now.week()) { + return '[先週]dddd LT'; + } else { + return 'dddd LT'; + } + }, + sameElse : 'L' + }, + dayOfMonthOrdinalParse : /\d{1,2}æ—¥/, + ordinal : function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + 'æ—¥'; + default: + return number; + } + }, + relativeTime : { + future : '%s後', + past : '%så‰', + s : 'æ•°ç§’', + ss : '%dç§’', + m : '1分', + mm : '%d分', + h : '1時間', + hh : '%d時間', + d : '1æ—¥', + dd : '%dæ—¥', + M : '1ヶ月', + MM : '%dヶ月', + y : '1å¹´', + yy : '%då¹´' + } + }); + + //! moment.js locale configuration + + moment.defineLocale('jv', { + months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'), + weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'), + weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'), + weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'), + longDateFormat : { + LT : 'HH.mm', + LTS : 'HH.mm.ss', + L : 'DD/MM/YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY [pukul] HH.mm', + LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm' + }, + meridiemParse: /enjing|siyang|sonten|ndalu/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'enjing') { + return hour; + } else if (meridiem === 'siyang') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'sonten' || meridiem === 'ndalu') { + return hour + 12; + } + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 11) { + return 'enjing'; + } else if (hours < 15) { + return 'siyang'; + } else if (hours < 19) { + return 'sonten'; + } else { + return 'ndalu'; + } + }, + calendar : { + sameDay : '[Dinten puniko pukul] LT', + nextDay : '[Mbenjang pukul] LT', + nextWeek : 'dddd [pukul] LT', + lastDay : '[Kala wingi pukul] LT', + lastWeek : 'dddd [kepengker pukul] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'wonten ing %s', + past : '%s ingkang kepengker', + s : 'sawetawis detik', + ss : '%d detik', + m : 'setunggal menit', + mm : '%d menit', + h : 'setunggal jam', + hh : '%d jam', + d : 'sedinten', + dd : '%d dinten', + M : 'sewulan', + MM : '%d wulan', + y : 'setaun', + yy : '%d taun' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('ka', { + months : { + standalone: 'იáƒáƒœáƒ•áƒáƒ ი_თებერვáƒáƒšáƒ˜_მáƒáƒ ტი_áƒáƒžáƒ ილი_მáƒáƒ˜áƒ¡áƒ˜_ივნისი_ივლისი_áƒáƒ’ვისტáƒ_სექტემბერი_áƒáƒ¥áƒ¢áƒáƒ›áƒ‘ერი_ნáƒáƒ”მბერი_დეკემბერი'.split('_'), + format: 'იáƒáƒœáƒ•áƒáƒ ს_თებერვáƒáƒšáƒ¡_მáƒáƒ ტს_áƒáƒžáƒ ილის_მáƒáƒ˜áƒ¡áƒ¡_ივნისს_ივლისს_áƒáƒ’ვისტს_სექტემბერს_áƒáƒ¥áƒ¢áƒáƒ›áƒ‘ერს_ნáƒáƒ”მბერს_დეკემბერს'.split('_') + }, + monthsShort : 'იáƒáƒœ_თებ_მáƒáƒ _áƒáƒžáƒ _მáƒáƒ˜_ივნ_ივლ_áƒáƒ’ვ_სექ_áƒáƒ¥áƒ¢_ნáƒáƒ”_დეკ'.split('_'), + weekdays : { + standalone: 'კვირáƒ_áƒáƒ შáƒáƒ‘áƒáƒ—ი_სáƒáƒ›áƒ¨áƒáƒ‘áƒáƒ—ი_áƒáƒ—ხშáƒáƒ‘áƒáƒ—ი_ხუთშáƒáƒ‘áƒáƒ—ი_პáƒáƒ áƒáƒ¡áƒ™áƒ”ვი_შáƒáƒ‘áƒáƒ—ი'.split('_'), + format: 'კვირáƒáƒ¡_áƒáƒ შáƒáƒ‘áƒáƒ—ს_სáƒáƒ›áƒ¨áƒáƒ‘áƒáƒ—ს_áƒáƒ—ხშáƒáƒ‘áƒáƒ—ს_ხუთშáƒáƒ‘áƒáƒ—ს_პáƒáƒ áƒáƒ¡áƒ™áƒ”ვს_შáƒáƒ‘áƒáƒ—ს'.split('_'), + isFormat: /(წინáƒ|შემდეგ)/ + }, + weekdaysShort : 'კვი_áƒáƒ შ_სáƒáƒ›_áƒáƒ—ხ_ხუთ_პáƒáƒ _შáƒáƒ‘'.split('_'), + weekdaysMin : 'კვ_áƒáƒ _სáƒ_áƒáƒ—_ხუ_პáƒ_შáƒ'.split('_'), + 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 : '[დღეს] LT[-ზე]', + nextDay : '[ხვáƒáƒš] LT[-ზე]', + lastDay : '[გუშინ] LT[-ზე]', + nextWeek : '[შემდეგ] dddd LT[-ზე]', + lastWeek : '[წინáƒ] dddd LT-ზე', + sameElse : 'L' + }, + relativeTime : { + future : function (s) { + return (/(წáƒáƒ›áƒ˜|წუთი|სáƒáƒáƒ—ი|წელი)/).test(s) ? + s.replace(/ი$/, 'ში') : + s + 'ში'; + }, + past : function (s) { + if ((/(წáƒáƒ›áƒ˜|წუთი|სáƒáƒáƒ—ი|დღე|თვე)/).test(s)) { + return s.replace(/(ი|ე)$/, 'ის წინ'); + } + if ((/წელი/).test(s)) { + return s.replace(/წელი$/, 'წლის წინ'); + } + }, + s : 'რáƒáƒ›áƒ“ენიმე წáƒáƒ›áƒ˜', + ss : '%d წáƒáƒ›áƒ˜', + m : 'წუთი', + mm : '%d წუთი', + h : 'სáƒáƒáƒ—ი', + hh : '%d სáƒáƒáƒ—ი', + d : 'დღე', + dd : '%d დღე', + M : 'თვე', + MM : '%d თვე', + y : 'წელი', + yy : '%d წელი' + }, + dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/, + ordinal : function (number) { + if (number === 0) { + return number; + } + if (number === 1) { + return number + '-ლი'; + } + if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) { + return 'მე-' + number; + } + return number + '-ე'; + }, + week : { + dow : 1, + doy : 7 + } + }); + + //! moment.js locale configuration + + var suffixes$1 = { + 0: '-ші', + 1: '-ші', + 2: '-ші', + 3: '-ші', + 4: '-ші', + 5: '-ші', + 6: '-шы', + 7: '-ші', + 8: '-ші', + 9: '-шы', + 10: '-шы', + 20: '-шы', + 30: '-шы', + 40: '-шы', + 50: '-ші', + 60: '-шы', + 70: '-ші', + 80: '-ші', + 90: '-шы', + 100: '-ші' + }; + + moment.defineLocale('kk', { + 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 (number) { + var a = number % 10, + b = number >= 100 ? 100 : null; + return number + (suffixes$1[number] || suffixes$1[a] || suffixes$1[b]); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var symbolMap$8 = { + '1': '១', + '2': '២', + '3': '៣', + '4': '៤', + '5': '៥', + '6': '៦', + '7': '៧', + '8': '៨', + '9': '៩', + '0': '០' + }, numberMap$7 = { + '១': '1', + '២': '2', + '៣': '3', + '៤': '4', + '៥': '5', + '៦': '6', + '៧': '7', + '៨': '8', + '៩': '9', + '០': '0' + }; + + moment.defineLocale('km', { + months: 'មករា_កុម្ភៈ_មីនា_មáŸážŸáž¶_ឧសភា_មិážáž»áž“áž¶_កក្កដា_សីហា_កញ្ញា_ážáž»áž›áž¶_វិច្ឆិកា_ធ្នូ'.split( + '_' + ), + monthsShort: 'មករា_កុម្ភៈ_មីនា_មáŸážŸáž¶_ឧសភា_មិážáž»áž“áž¶_កក្កដា_សីហា_កញ្ញា_ážáž»áž›áž¶_វិច្ឆិកា_ធ្នូ'.split( + '_' + ), + weekdays: 'អាទិážáŸ’áž™_áž…áŸáž“្ទ_អង្គារ_ពុធ_ព្រហស្បážáž·áŸ_សុក្រ_សៅរáŸ'.split('_'), + weekdaysShort: 'អា_áž…_អ_áž–_ព្រ_សុ_ស'.split('_'), + weekdaysMin: 'អា_áž…_អ_áž–_ព្រ_សុ_ស'.split('_'), + weekdaysParseExact: true, + 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 (input) { + return input === 'ល្ងាច'; + }, + meridiem: function (hour, minute, isLower) { + if (hour < 12) { + return 'ព្រឹក'; + } else { + return 'ល្ងាច'; + } + }, + 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 (string) { + return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) { + return numberMap$7[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$8[match]; + }); + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var symbolMap$9 = { + '1': 'à³§', + '2': '೨', + '3': '೩', + '4': '೪', + '5': '೫', + '6': '೬', + '7': 'à³', + '8': 'à³®', + '9': '೯', + '0': '೦' + }, + numberMap$8 = { + 'à³§': '1', + '೨': '2', + '೩': '3', + '೪': '4', + '೫': '5', + '೬': '6', + 'à³': '7', + 'à³®': '8', + '೯': '9', + '೦': '0' + }; + + moment.defineLocale('kn', { + months : 'ಜನವರಿ_ಫೆಬà³à²°à²µà²°à²¿_ಮಾರà³à²šà³_à²à²ªà³à²°à²¿à²²à³_ಮೇ_ಜೂನà³_ಜà³à²²à³†à³–_ಆಗಸà³à²Ÿà³_ಸೆಪà³à²Ÿà³†à²‚ಬರà³_ಅಕà³à²Ÿà³†à³‚ೕಬರà³_ನವೆಂಬರà³_ಡಿಸೆಂಬರà³'.split('_'), + monthsShort : 'ಜನ_ಫೆಬà³à²°_ಮಾರà³à²šà³_à²à²ªà³à²°à²¿à²²à³_ಮೇ_ಜೂನà³_ಜà³à²²à³†à³–_ಆಗಸà³à²Ÿà³_ಸೆಪà³à²Ÿà³†à²‚_ಅಕà³à²Ÿà³†à³‚ೕ_ನವೆಂ_ಡಿಸೆಂ'.split('_'), + monthsParseExact: true, + 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 : 'ಕೆಲವೠಕà³à²·à²£à²—ಳà³', + ss : '%d ಸೆಕೆಂಡà³à²—ಳà³', + m : 'ಒಂದೠನಿಮಿಷ', + mm : '%d ನಿಮಿಷ', + h : 'ಒಂದೠಗಂಟೆ', + hh : '%d ಗಂಟೆ', + d : 'ಒಂದೠದಿನ', + dd : '%d ದಿನ', + M : 'ಒಂದೠತಿಂಗಳà³', + MM : '%d ತಿಂಗಳà³', + y : 'ಒಂದೠವರà³à²·', + yy : '%d ವರà³à²·' + }, + preparse: function (string) { + return string.replace(/[೧೨೩೪೫೬à³à³®à³¯à³¦]/g, function (match) { + return numberMap$8[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$9[match]; + }); + }, + meridiemParse: /ರಾತà³à²°à²¿|ಬೆಳಿಗà³à²—ೆ|ಮಧà³à²¯à²¾à²¹à³à²¨|ಸಂಜೆ/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'ರಾತà³à²°à²¿') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'ಬೆಳಿಗà³à²—ೆ') { + return hour; + } else if (meridiem === 'ಮಧà³à²¯à²¾à²¹à³à²¨') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'ಸಂಜೆ') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'ರಾತà³à²°à²¿'; + } else if (hour < 10) { + return 'ಬೆಳಿಗà³à²—ೆ'; + } else if (hour < 17) { + return 'ಮಧà³à²¯à²¾à²¹à³à²¨'; + } else if (hour < 20) { + return 'ಸಂಜೆ'; + } else { + return 'ರಾತà³à²°à²¿'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/, + ordinal : function (number) { + return number + 'ನೇ'; + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('ko', { + months : '1ì›”_2ì›”_3ì›”_4ì›”_5ì›”_6ì›”_7ì›”_8ì›”_9ì›”_10ì›”_11ì›”_12ì›”'.split('_'), + monthsShort : '1ì›”_2ì›”_3ì›”_4ì›”_5ì›”_6ì›”_7ì›”_8ì›”_9ì›”_10ì›”_11ì›”_12ì›”'.split('_'), + weekdays : 'ì¼ìš”ì¼_월요ì¼_화요ì¼_수요ì¼_목요ì¼_금요ì¼_í† ìš”ì¼'.split('_'), + weekdaysShort : 'ì¼_ì›”_í™”_수_목_금_í† '.split('_'), + weekdaysMin : 'ì¼_ì›”_í™”_수_목_금_í† '.split('_'), + longDateFormat : { + LT : 'A h:mm', + LTS : 'A h:mm:ss', + L : 'YYYY.MM.DD.', + LL : 'YYYYë…„ MMMM Dì¼', + LLL : 'YYYYë…„ MMMM Dì¼ A h:mm', + LLLL : 'YYYYë…„ MMMM Dì¼ dddd A h:mm', + l : 'YYYY.MM.DD.', + ll : 'YYYYë…„ MMMM Dì¼', + lll : 'YYYYë…„ MMMM Dì¼ A h:mm', + llll : 'YYYYë…„ MMMM Dì¼ dddd A h: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 : '1ë¶„', + mm : '%dë¶„', + h : '한 시간', + hh : '%d시간', + d : '하루', + dd : '%dì¼', + M : '한 달', + MM : '%d달', + y : 'ì¼ ë…„', + yy : '%dë…„' + }, + dayOfMonthOrdinalParse : /\d{1,2}(ì¼|ì›”|주)/, + ordinal : function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + 'ì¼'; + case 'M': + return number + 'ì›”'; + case 'w': + case 'W': + return number + '주'; + default: + return number; + } + }, + meridiemParse : /ì˜¤ì „|오후/, + isPM : function (token) { + return token === '오후'; + }, + meridiem : function (hour, minute, isUpper) { + return hour < 12 ? 'ì˜¤ì „' : '오후'; + } + }); + + //! moment.js locale configuration + + var symbolMap$a = { + '1': 'Ù¡', + '2': 'Ù¢', + '3': 'Ù£', + '4': 'Ù¤', + '5': 'Ù¥', + '6': 'Ù¦', + '7': 'Ù§', + '8': 'Ù¨', + '9': 'Ù©', + '0': 'Ù ' + }, numberMap$9 = { + 'Ù¡': '1', + 'Ù¢': '2', + 'Ù£': '3', + 'Ù¤': '4', + 'Ù¥': '5', + 'Ù¦': '6', + 'Ù§': '7', + 'Ù¨': '8', + 'Ù©': '9', + 'Ù ': '0' + }, + months$6 = [ + 'کانونی دووەم', + 'شوبات', + 'ئازار', + 'نیسان', + 'ئایار', + 'ØÙˆØ²Û•یران', + 'تەمموز', + 'ئاب', + 'ئەیلوول', + 'تشرینی یەكەم', + 'تشرینی دووەم', + 'كانونی یەکەم' + ]; + + + moment.defineLocale('ku', { + months : months$6, + monthsShort : months$6, + weekdays : 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split('_'), + weekdaysShort : 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'), + weekdaysMin : 'ÛŒ_د_س_Ú†_Ù¾_Ù‡_Ø´'.split('_'), + weekdaysParseExact : true, + 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 (input) { + return /ئێواره‌/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'به‌یانی'; + } else { + return 'ئێواره‌'; + } + }, + 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 (string) { + return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { + return numberMap$9[match]; + }).replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$a[match]; + }).replace(/,/g, 'ØŒ'); + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var suffixes$2 = { + 0: '-чү', + 1: '-чи', + 2: '-чи', + 3: '-чү', + 4: '-чү', + 5: '-чи', + 6: '-чы', + 7: '-чи', + 8: '-чи', + 9: '-чу', + 10: '-чу', + 20: '-чы', + 30: '-чу', + 40: '-чы', + 50: '-чү', + 60: '-чы', + 70: '-чи', + 80: '-чи', + 90: '-чу', + 100: '-чү' + }; + + moment.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 (number) { + var a = number % 10, + b = number >= 100 ? 100 : null; + return number + (suffixes$2[number] || suffixes$2[a] || suffixes$2[b]); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function processRelativeTime$5(number, withoutSuffix, key, isFuture) { + var format = { + 'm': ['eng Minutt', 'enger Minutt'], + 'h': ['eng Stonn', 'enger Stonn'], + 'd': ['een Dag', 'engem Dag'], + 'M': ['ee Mount', 'engem Mount'], + 'y': ['ee Joer', 'engem Joer'] + }; + return withoutSuffix ? format[key][0] : format[key][1]; + } + function processFutureTime(string) { + var number = string.substr(0, string.indexOf(' ')); + if (eifelerRegelAppliesToNumber(number)) { + return 'a ' + string; + } + return 'an ' + string; + } + function processPastTime(string) { + var number = string.substr(0, string.indexOf(' ')); + if (eifelerRegelAppliesToNumber(number)) { + return 'viru ' + string; + } + return 'virun ' + string; + } + /** + * Returns true if the word before the given number loses the '-n' ending. + * e.g. 'an 10 Deeg' but 'a 5 Deeg' + * + * @param number {integer} + * @returns {boolean} + */ + function eifelerRegelAppliesToNumber(number) { + number = parseInt(number, 10); + if (isNaN(number)) { + return false; + } + if (number < 0) { + // Negative Number --> always true + return true; + } else if (number < 10) { + // Only 1 digit + if (4 <= number && number <= 7) { + return true; + } + return false; + } else if (number < 100) { + // 2 digits + var lastDigit = number % 10, firstDigit = number / 10; + if (lastDigit === 0) { + return eifelerRegelAppliesToNumber(firstDigit); + } + return eifelerRegelAppliesToNumber(lastDigit); + } else if (number < 10000) { + // 3 or 4 digits --> recursively check first digit + while (number >= 10) { + number = number / 10; + } + return eifelerRegelAppliesToNumber(number); + } else { + // Anything larger than 4 digits: recursively check first n-3 digits + number = number / 1000; + return eifelerRegelAppliesToNumber(number); + } + } + + moment.defineLocale('lb', { + months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), + monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'), + monthsParseExact : true, + weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'), + weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'), + weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'), + weekdaysParseExact : true, + longDateFormat: { + LT: 'H:mm [Auer]', + LTS: 'H:mm:ss [Auer]', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY H:mm [Auer]', + LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]' + }, + calendar: { + sameDay: '[Haut um] LT', + sameElse: 'L', + nextDay: '[Muer um] LT', + nextWeek: 'dddd [um] LT', + lastDay: '[Gëschter um] LT', + lastWeek: function () { + // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule + switch (this.day()) { + case 2: + case 4: + return '[Leschten] dddd [um] LT'; + default: + return '[Leschte] dddd [um] LT'; + } + } + }, + relativeTime : { + future : processFutureTime, + past : processPastTime, + s : 'e puer Sekonnen', + ss : '%d Sekonnen', + m : processRelativeTime$5, + mm : '%d Minutten', + h : processRelativeTime$5, + hh : '%d Stonnen', + d : processRelativeTime$5, + dd : '%d Deeg', + M : processRelativeTime$5, + MM : '%d Méint', + y : processRelativeTime$5, + yy : '%d Joer' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('lo', { + months : 'ມັງàºàºàº™_àºàº¸àº¡àºžàº²_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_àºà»àº¥àº°àºàº»àº”_ສິງຫາ_àºàº±àº™àºàº²_ຕຸລາ_ພະຈິàº_ທັນວາ'.split('_'), + monthsShort : 'ມັງàºàºàº™_àºàº¸àº¡àºžàº²_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_àºà»àº¥àº°àºàº»àº”_ສິງຫາ_àºàº±àº™àºàº²_ຕຸລາ_ພະຈິàº_ທັນວາ'.split('_'), + weekdays : 'àºàº²àº—ິດ_ຈັນ_àºàº±àº‡àº„ານ_ພຸດ_ພະຫັດ_ສຸàº_ເສົາ'.split('_'), + weekdaysShort : 'ທິດ_ຈັນ_àºàº±àº‡àº„ານ_ພຸດ_ພະຫັດ_ສຸàº_ເສົາ'.split('_'), + weekdaysMin : 'ທ_ຈ_àºàº„_ພ_ພຫ_ສàº_ສ'.split('_'), + weekdaysParseExact : true, + 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 (input) { + return input === 'ຕàºàº™à»àº¥àº‡'; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'ຕàºàº™à»€àºŠàº»à»‰àº²'; + } else { + return 'ຕàºàº™à»àº¥àº‡'; + } + }, + calendar : { + sameDay : '[ມື້ນີ້ເວລາ] LT', + nextDay : '[ມື້àºàº·à»ˆàº™à»€àº§àº¥àº²] LT', + nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT', + lastDay : '[ມື້ວານນີ້ເວລາ] LT', + lastWeek : '[ວັນ]dddd[à»àº¥à»‰àº§àº™àºµà»‰à»€àº§àº¥àº²] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'àºàºµàº %s', + past : '%sຜ່ານມາ', + s : 'ບà»à»ˆà»€àº—ົ່າໃດວິນາທີ', + ss : '%d ວິນາທີ' , + m : '1 ນາທີ', + mm : '%d ນາທີ', + h : '1 ຊົ່ວໂມງ', + hh : '%d ຊົ່ວໂມງ', + d : '1 ມື້', + dd : '%d ມື້', + M : '1 ເດືàºàº™', + MM : '%d ເດືàºàº™', + y : '1 ປີ', + yy : '%d ປີ' + }, + dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/, + ordinal : function (number) { + return 'ທີ່' + number; + } + }); + + //! moment.js locale configuration + + var units = { + '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' + }; + function translateSeconds(number, withoutSuffix, key, isFuture) { + if (withoutSuffix) { + return 'kelios sekundÄ—s'; + } else { + return isFuture ? 'kelių sekundžių' : 'kelias sekundes'; + } + } + function translateSingular(number, withoutSuffix, key, isFuture) { + return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]); + } + function special(number) { + return number % 10 === 0 || (number > 10 && number < 20); + } + function forms(key) { + return units[key].split('_'); + } + function translate$6(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + if (number === 1) { + return result + translateSingular(number, withoutSuffix, key[0], isFuture); + } else if (withoutSuffix) { + return result + (special(number) ? forms(key)[1] : forms(key)[0]); + } else { + if (isFuture) { + return result + forms(key)[1]; + } else { + return result + (special(number) ? forms(key)[1] : forms(key)[2]); + } + } + } + moment.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 : true, + 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 : translateSeconds, + ss : translate$6, + m : translateSingular, + mm : translate$6, + h : translateSingular, + hh : translate$6, + d : translateSingular, + dd : translate$6, + M : translateSingular, + MM : translate$6, + y : translateSingular, + yy : translate$6 + }, + dayOfMonthOrdinalParse: /\d{1,2}-oji/, + ordinal : function (number) { + return number + '-oji'; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var units$1 = { + 'ss': 'sekundes_sekundÄ“m_sekunde_sekundes'.split('_'), + 'm': 'minÅ«tes_minÅ«tÄ“m_minÅ«te_minÅ«tes'.split('_'), + 'mm': 'minÅ«tes_minÅ«tÄ“m_minÅ«te_minÅ«tes'.split('_'), + 'h': 'stundas_stundÄm_stunda_stundas'.split('_'), + 'hh': 'stundas_stundÄm_stunda_stundas'.split('_'), + 'd': 'dienas_dienÄm_diena_dienas'.split('_'), + 'dd': 'dienas_dienÄm_diena_dienas'.split('_'), + 'M': 'mÄ“neÅ¡a_mÄ“neÅ¡iem_mÄ“nesis_mÄ“neÅ¡i'.split('_'), + 'MM': 'mÄ“neÅ¡a_mÄ“neÅ¡iem_mÄ“nesis_mÄ“neÅ¡i'.split('_'), + 'y': 'gada_gadiem_gads_gadi'.split('_'), + 'yy': 'gada_gadiem_gads_gadi'.split('_') + }; + /** + * @param withoutSuffix boolean true = a length of time; false = before/after a period of time. + */ + function format(forms, number, withoutSuffix) { + if (withoutSuffix) { + // E.g. "21 minÅ«te", "3 minÅ«tes". + return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3]; + } else { + // E.g. "21 minÅ«tes" as in "pÄ“c 21 minÅ«tes". + // E.g. "3 minÅ«tÄ“m" as in "pÄ“c 3 minÅ«tÄ“m". + return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1]; + } + } + function relativeTimeWithPlural$1(number, withoutSuffix, key) { + return number + ' ' + format(units$1[key], number, withoutSuffix); + } + function relativeTimeWithSingular(number, withoutSuffix, key) { + return format(units$1[key], number, withoutSuffix); + } + function relativeSeconds(number, withoutSuffix) { + return withoutSuffix ? 'dažas sekundes' : 'dažÄm sekundÄ“m'; + } + + moment.defineLocale('lv', { + months : 'janvÄris_februÄris_marts_aprÄ«lis_maijs_jÅ«nijs_jÅ«lijs_augusts_septembris_oktobris_novembris_decembris'.split('_'), + monthsShort : 'jan_feb_mar_apr_mai_jÅ«n_jÅ«l_aug_sep_okt_nov_dec'.split('_'), + weekdays : 'svÄ“tdiena_pirmdiena_otrdiena_treÅ¡diena_ceturtdiena_piektdiena_sestdiena'.split('_'), + weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'), + weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD.MM.YYYY.', + LL : 'YYYY. [gada] D. MMMM', + LLL : 'YYYY. [gada] D. MMMM, HH:mm', + LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm' + }, + calendar : { + sameDay : '[Å odien pulksten] LT', + nextDay : '[RÄ«t pulksten] LT', + nextWeek : 'dddd [pulksten] LT', + lastDay : '[Vakar pulksten] LT', + lastWeek : '[PagÄjuÅ¡Ä] dddd [pulksten] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'pÄ“c %s', + past : 'pirms %s', + s : relativeSeconds, + ss : relativeTimeWithPlural$1, + m : relativeTimeWithSingular, + mm : relativeTimeWithPlural$1, + h : relativeTimeWithSingular, + hh : relativeTimeWithPlural$1, + d : relativeTimeWithSingular, + dd : relativeTimeWithPlural$1, + M : relativeTimeWithSingular, + MM : relativeTimeWithPlural$1, + y : relativeTimeWithSingular, + yy : relativeTimeWithPlural$1 + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var translator = { + words: { //Different grammatical cases + ss: ['sekund', 'sekunda', 'sekundi'], + m: ['jedan minut', 'jednog minuta'], + mm: ['minut', 'minuta', 'minuta'], + h: ['jedan sat', 'jednog sata'], + hh: ['sat', 'sata', 'sati'], + dd: ['dan', 'dana', 'dana'], + MM: ['mjesec', 'mjeseca', 'mjeseci'], + yy: ['godina', 'godine', 'godina'] + }, + correctGrammaticalCase: function (number, wordKey) { + return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]); + }, + translate: function (number, withoutSuffix, key) { + var wordKey = translator.words[key]; + if (key.length === 1) { + return withoutSuffix ? wordKey[0] : wordKey[1]; + } else { + return number + ' ' + translator.correctGrammaticalCase(number, wordKey); + } + } + }; + + moment.defineLocale('me', { + months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'), + monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'), + monthsParseExact : true, + weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota'.split('_'), + weekdaysShort: 'ned._pon._uto._sri._Äet._pet._sub.'.split('_'), + weekdaysMin: 'ne_po_ut_sr_Äe_pe_su'.split('_'), + weekdaysParseExact : true, + 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: '[danas u] LT', + nextDay: '[sjutra u] LT', + + nextWeek: function () { + switch (this.day()) { + case 0: + return '[u] [nedjelju] [u] LT'; + case 3: + return '[u] [srijedu] [u] LT'; + case 6: + return '[u] [subotu] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[u] dddd [u] LT'; + } + }, + lastDay : '[juÄe u] LT', + lastWeek : function () { + var lastWeekDays = [ + '[proÅ¡le] [nedjelje] [u] LT', + '[proÅ¡log] [ponedjeljka] [u] LT', + '[proÅ¡log] [utorka] [u] LT', + '[proÅ¡le] [srijede] [u] LT', + '[proÅ¡log] [Äetvrtka] [u] LT', + '[proÅ¡log] [petka] [u] LT', + '[proÅ¡le] [subote] [u] LT' + ]; + return lastWeekDays[this.day()]; + }, + sameElse : 'L' + }, + relativeTime : { + future : 'za %s', + past : 'prije %s', + s : 'nekoliko sekundi', + ss : translator.translate, + m : translator.translate, + mm : translator.translate, + h : translator.translate, + hh : translator.translate, + d : 'dan', + dd : translator.translate, + M : 'mjesec', + MM : translator.translate, + y : 'godinu', + yy : translator.translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('mi', { + months: 'Kohi-tÄte_Hui-tanguru_PoutÅ«-te-rangi_Paenga-whÄwhÄ_Haratua_Pipiri_HÅngoingoi_Here-turi-kÅkÄ_Mahuru_Whiringa-Ä-nuku_Whiringa-Ä-rangi_Hakihea'.split('_'), + monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_HÅngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'), + monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, + monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, + monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, + monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i, + weekdays: 'RÄtapu_Mane_TÅ«rei_Wenerei_TÄite_Paraire_HÄtarei'.split('_'), + weekdaysShort: 'Ta_Ma_TÅ«_We_TÄi_Pa_HÄ'.split('_'), + weekdaysMin: 'Ta_Ma_TÅ«_We_TÄi_Pa_HÄ'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY [i] HH:mm', + LLLL: 'dddd, D MMMM YYYY [i] HH:mm' + }, + calendar: { + sameDay: '[i teie mahana, i] LT', + nextDay: '[apopo i] LT', + nextWeek: 'dddd [i] LT', + lastDay: '[inanahi i] LT', + lastWeek: 'dddd [whakamutunga i] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'i roto i %s', + past: '%s i mua', + s: 'te hÄ“kona ruarua', + ss: '%d hÄ“kona', + m: 'he meneti', + mm: '%d meneti', + h: 'te haora', + hh: '%d haora', + d: 'he ra', + dd: '%d ra', + M: 'he marama', + MM: '%d marama', + y: 'he tau', + yy: '%d tau' + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('mk', { + months : 'јануари_февруари_март_април_мај_јуни_јули_авгуÑÑ‚_Ñептември_октомври_ноември_декември'.split('_'), + monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_Ñеп_окт_ное_дек'.split('_'), + weekdays : 'недела_понеделник_вторник_Ñреда_четврток_петок_Ñабота'.split('_'), + weekdaysShort : 'нед_пон_вто_Ñре_чет_пет_Ñаб'.split('_'), + weekdaysMin : 'нe_пo_вт_ÑÑ€_че_пе_Ña'.split('_'), + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'D.MM.YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY H:mm', + LLLL : 'dddd, D MMMM YYYY H:mm' + }, + calendar : { + sameDay : '[Ð”ÐµÐ½ÐµÑ Ð²Ð¾] LT', + nextDay : '[Утре во] LT', + nextWeek : '[Во] dddd [во] LT', + lastDay : '[Вчера во] LT', + lastWeek : function () { + switch (this.day()) { + case 0: + case 3: + case 6: + return '[Изминатата] dddd [во] LT'; + case 1: + case 2: + case 4: + case 5: + return '[Изминатиот] 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 (number) { + var lastDigit = number % 10, + last2Digits = number % 100; + if (number === 0) { + return number + '-ев'; + } else if (last2Digits === 0) { + return number + '-ен'; + } else if (last2Digits > 10 && last2Digits < 20) { + return number + '-ти'; + } else if (lastDigit === 1) { + return number + '-ви'; + } else if (lastDigit === 2) { + return number + '-ри'; + } else if (lastDigit === 7 || lastDigit === 8) { + return number + '-ми'; + } else { + return number + '-ти'; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('ml', { + months : 'ജനàµà´µà´°à´¿_ഫെബàµà´°àµà´µà´°à´¿_മാർചàµà´šàµ_à´à´ªàµà´°à´¿àµ½_മേയàµ_ജൂൺ_ജൂലൈ_à´“à´—à´¸àµà´±àµà´±àµ_സെപàµà´±àµà´±à´‚ബർ_à´’à´•àµà´Ÿàµ‹à´¬àµ¼_നവംബർ_ഡിസംബർ'.split('_'), + monthsShort : 'ജനàµ._ഫെബàµà´°àµ._മാർ._à´à´ªàµà´°à´¿._മേയàµ_ജൂൺ_ജൂലൈ._à´“à´—._സെപàµà´±àµà´±._à´’à´•àµà´Ÿàµ‹._നവം._ഡിസം.'.split('_'), + monthsParseExact : true, + 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 : 'അൽപ നിമിഷങàµà´™àµ¾', + ss : '%d സെകàµà´•ൻഡàµ', + m : 'ഒരൠമിനിറàµà´±àµ', + mm : '%d മിനിറàµà´±àµ', + h : 'ഒരൠമണികàµà´•ൂർ', + hh : '%d മണികàµà´•ൂർ', + d : 'ഒരൠദിവസം', + dd : '%d ദിവസം', + M : 'ഒരൠമാസം', + MM : '%d മാസം', + y : 'ഒരൠവർഷം', + yy : '%d വർഷം' + }, + meridiemParse: /രാതàµà´°à´¿|രാവിലെ|ഉചàµà´š à´•à´´à´¿à´žàµà´žàµ|വൈകàµà´¨àµà´¨àµ‡à´°à´‚|രാതàµà´°à´¿/i, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if ((meridiem === 'രാതàµà´°à´¿' && hour >= 4) || + meridiem === 'ഉചàµà´š à´•à´´à´¿à´žàµà´žàµ' || + meridiem === 'വൈകàµà´¨àµà´¨àµ‡à´°à´‚') { + return hour + 12; + } else { + return hour; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'രാതàµà´°à´¿'; + } else if (hour < 12) { + return 'രാവിലെ'; + } else if (hour < 17) { + return 'ഉചàµà´š à´•à´´à´¿à´žàµà´žàµ'; + } else if (hour < 20) { + return 'വൈകàµà´¨àµà´¨àµ‡à´°à´‚'; + } else { + return 'രാതàµà´°à´¿'; + } + } + }); + + //! moment.js locale configuration + + function translate$7(number, withoutSuffix, key, isFuture) { + switch (key) { + case 's': + return withoutSuffix ? 'Ñ…ÑдхÑн Ñекунд' : 'Ñ…ÑдхÑн Ñекундын'; + case 'ss': + return number + (withoutSuffix ? ' Ñекунд' : ' Ñекундын'); + case 'm': + case 'mm': + return number + (withoutSuffix ? ' минут' : ' минутын'); + case 'h': + case 'hh': + return number + (withoutSuffix ? ' цаг' : ' цагийн'); + case 'd': + case 'dd': + return number + (withoutSuffix ? ' өдөр' : ' өдрийн'); + case 'M': + case 'MM': + return number + (withoutSuffix ? ' Ñар' : ' Ñарын'); + case 'y': + case 'yy': + return number + (withoutSuffix ? ' жил' : ' жилийн'); + default: + return number; + } + } + + moment.defineLocale('mn', { + months : 'ÐÑгдүгÑÑÑ€ Ñар_Хоёрдугаар Ñар_Гуравдугаар Ñар_ДөрөвдүгÑÑÑ€ Ñар_Тавдугаар Ñар_Зургадугаар Ñар_Долдугаар Ñар_Ðаймдугаар Ñар_ЕÑдүгÑÑÑ€ Ñар_Ðравдугаар Ñар_Ðрван нÑгдүгÑÑÑ€ Ñар_Ðрван хоёрдугаар Ñар'.split('_'), + monthsShort : '1 Ñар_2 Ñар_3 Ñар_4 Ñар_5 Ñар_6 Ñар_7 Ñар_8 Ñар_9 Ñар_10 Ñар_11 Ñар_12 Ñар'.split('_'), + monthsParseExact : true, + weekdays : 'ÐÑм_Даваа_МÑгмар_Лхагва_ПүрÑв_БааÑан_БÑмба'.split('_'), + weekdaysShort : 'ÐÑм_Дав_МÑг_Лха_Пүр_Баа_БÑм'.split('_'), + weekdaysMin : 'ÐÑ_Да_МÑ_Лх_Пү_Ба_БÑ'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY-MM-DD', + LL : 'YYYY оны MMMMын D', + LLL : 'YYYY оны MMMMын D HH:mm', + LLLL : 'dddd, YYYY оны MMMMын D HH:mm' + }, + meridiemParse: /Ò®Ó¨|ҮХ/i, + isPM : function (input) { + return input === 'ҮХ'; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'Ò®Ó¨'; + } else { + return 'ҮХ'; + } + }, + calendar : { + sameDay : '[Өнөөдөр] LT', + nextDay : '[Маргааш] LT', + nextWeek : '[ИрÑÑ…] dddd LT', + lastDay : '[Өчигдөр] LT', + lastWeek : '[ӨнгөрÑөн] dddd LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s дараа', + past : '%s өмнө', + s : translate$7, + ss : translate$7, + m : translate$7, + mm : translate$7, + h : translate$7, + hh : translate$7, + d : translate$7, + dd : translate$7, + M : translate$7, + MM : translate$7, + y : translate$7, + yy : translate$7 + }, + dayOfMonthOrdinalParse: /\d{1,2} өдөр/, + ordinal : function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + ' өдөр'; + default: + return number; + } + } + }); + + //! moment.js locale configuration + + var symbolMap$b = { + '1': '१', + '2': '२', + '3': '३', + '4': '४', + '5': '५', + '6': '६', + '7': 'à¥', + '8': '८', + '9': '९', + '0': '०' + }, + numberMap$a = { + '१': '1', + '२': '2', + '३': '3', + '४': '4', + '५': '5', + '६': '6', + 'à¥': '7', + '८': '8', + '९': '9', + '०': '0' + }; + + function relativeTimeMr(number, withoutSuffix, string, isFuture) + { + var output = ''; + if (withoutSuffix) { + switch (string) { + case 's': output = 'काही सेकंद'; break; + case 'ss': output = '%d सेकंद'; break; + case 'm': output = 'à¤à¤• मिनिट'; break; + case 'mm': output = '%d मिनिटे'; break; + case 'h': output = 'à¤à¤• तास'; break; + case 'hh': output = '%d तास'; break; + case 'd': output = 'à¤à¤• दिवस'; break; + case 'dd': output = '%d दिवस'; break; + case 'M': output = 'à¤à¤• महिना'; break; + case 'MM': output = '%d महिने'; break; + case 'y': output = 'à¤à¤• वरà¥à¤·'; break; + case 'yy': output = '%d वरà¥à¤·à¥‡'; break; + } + } + else { + switch (string) { + case 's': output = 'काही सेकंदां'; break; + case 'ss': output = '%d सेकंदां'; break; + case 'm': output = 'à¤à¤•ा मिनिटा'; break; + case 'mm': output = '%d मिनिटां'; break; + case 'h': output = 'à¤à¤•ा तासा'; break; + case 'hh': output = '%d तासां'; break; + case 'd': output = 'à¤à¤•ा दिवसा'; break; + case 'dd': output = '%d दिवसां'; break; + case 'M': output = 'à¤à¤•ा महिनà¥à¤¯à¤¾'; break; + case 'MM': output = '%d महिनà¥à¤¯à¤¾à¤‚'; break; + case 'y': output = 'à¤à¤•ा वरà¥à¤·à¤¾'; break; + case 'yy': output = '%d वरà¥à¤·à¤¾à¤‚'; break; + } + } + return output.replace(/%d/i, number); + } + + moment.defineLocale('mr', { + months : 'जानेवारी_फेबà¥à¤°à¥à¤µà¤¾à¤°à¥€_मारà¥à¤š_à¤à¤ªà¥à¤°à¤¿à¤²_मे_जून_जà¥à¤²à¥ˆ_ऑगसà¥à¤Ÿ_सपà¥à¤Ÿà¥‡à¤‚बर_ऑकà¥à¤Ÿà¥‹à¤¬à¤°_नोवà¥à¤¹à¥‡à¤‚बर_डिसेंबर'.split('_'), + monthsShort: 'जाने._फेबà¥à¤°à¥._मारà¥à¤š._à¤à¤ªà¥à¤°à¤¿._मे._जून._जà¥à¤²à¥ˆ._ऑग._सपà¥à¤Ÿà¥‡à¤‚._ऑकà¥à¤Ÿà¥‹._नोवà¥à¤¹à¥‡à¤‚._डिसें.'.split('_'), + monthsParseExact : true, + 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: relativeTimeMr, + ss: relativeTimeMr, + m: relativeTimeMr, + mm: relativeTimeMr, + h: relativeTimeMr, + hh: relativeTimeMr, + d: relativeTimeMr, + dd: relativeTimeMr, + M: relativeTimeMr, + MM: relativeTimeMr, + y: relativeTimeMr, + yy: relativeTimeMr + }, + preparse: function (string) { + return string.replace(/[१२३४५६à¥à¥®à¥¯à¥¦]/g, function (match) { + return numberMap$a[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$b[match]; + }); + }, + meridiemParse: /रातà¥à¤°à¥€|सकाळी|दà¥à¤ªà¤¾à¤°à¥€|सायंकाळी/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'रातà¥à¤°à¥€') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'सकाळी') { + return hour; + } else if (meridiem === 'दà¥à¤ªà¤¾à¤°à¥€') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'सायंकाळी') { + return hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'रातà¥à¤°à¥€'; + } else if (hour < 10) { + return 'सकाळी'; + } else if (hour < 17) { + return 'दà¥à¤ªà¤¾à¤°à¥€'; + } else if (hour < 20) { + return 'सायंकाळी'; + } else { + return 'रातà¥à¤°à¥€'; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('ms-my', { + months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'), + monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), + weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), + weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), + weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), + longDateFormat : { + LT : 'HH.mm', + LTS : 'HH.mm.ss', + L : 'DD/MM/YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY [pukul] HH.mm', + LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm' + }, + meridiemParse: /pagi|tengahari|petang|malam/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'pagi') { + return hour; + } else if (meridiem === 'tengahari') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'petang' || meridiem === 'malam') { + return hour + 12; + } + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 11) { + return 'pagi'; + } else if (hours < 15) { + return 'tengahari'; + } else if (hours < 19) { + return 'petang'; + } else { + return 'malam'; + } + }, + calendar : { + sameDay : '[Hari ini pukul] LT', + nextDay : '[Esok pukul] LT', + nextWeek : 'dddd [pukul] LT', + lastDay : '[Kelmarin pukul] LT', + lastWeek : 'dddd [lepas pukul] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'dalam %s', + past : '%s yang lepas', + s : 'beberapa saat', + ss : '%d saat', + m : 'seminit', + mm : '%d minit', + h : 'sejam', + hh : '%d jam', + d : 'sehari', + dd : '%d hari', + M : 'sebulan', + MM : '%d bulan', + y : 'setahun', + yy : '%d tahun' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('ms', { + months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'), + monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), + weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), + weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), + weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), + longDateFormat : { + LT : 'HH.mm', + LTS : 'HH.mm.ss', + L : 'DD/MM/YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY [pukul] HH.mm', + LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm' + }, + meridiemParse: /pagi|tengahari|petang|malam/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'pagi') { + return hour; + } else if (meridiem === 'tengahari') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'petang' || meridiem === 'malam') { + return hour + 12; + } + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 11) { + return 'pagi'; + } else if (hours < 15) { + return 'tengahari'; + } else if (hours < 19) { + return 'petang'; + } else { + return 'malam'; + } + }, + calendar : { + sameDay : '[Hari ini pukul] LT', + nextDay : '[Esok pukul] LT', + nextWeek : 'dddd [pukul] LT', + lastDay : '[Kelmarin pukul] LT', + lastWeek : 'dddd [lepas pukul] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'dalam %s', + past : '%s yang lepas', + s : 'beberapa saat', + ss : '%d saat', + m : 'seminit', + mm : '%d minit', + h : 'sejam', + hh : '%d jam', + d : 'sehari', + dd : '%d hari', + M : 'sebulan', + MM : '%d bulan', + y : 'setahun', + yy : '%d tahun' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('mt', { + months : 'Jannar_Frar_Marzu_April_Mejju_Ä unju_Lulju_Awwissu_Settembru_Ottubru_Novembru_DiÄ‹embru'.split('_'), + monthsShort : 'Jan_Fra_Mar_Apr_Mej_Ä un_Lul_Aww_Set_Ott_Nov_DiÄ‹'.split('_'), + weekdays : 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ä imgħa_Is-Sibt'.split('_'), + weekdaysShort : 'Ħad_Tne_Tli_Erb_Ħam_Ä im_Sib'.split('_'), + weekdaysMin : 'Ħa_Tn_Tl_Er_Ħa_Ä i_Si'.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 : '[Illum fil-]LT', + nextDay : '[Għada fil-]LT', + nextWeek : 'dddd [fil-]LT', + lastDay : '[Il-bieraħ fil-]LT', + lastWeek : 'dddd [li għadda] [fil-]LT', + sameElse : 'L' + }, + relativeTime : { + future : 'f’ %s', + past : '%s ilu', + s : 'ftit sekondi', + ss : '%d sekondi', + m : 'minuta', + mm : '%d minuti', + h : 'siegħa', + hh : '%d siegħat', + d : 'Ä¡urnata', + dd : '%d Ä¡ranet', + M : 'xahar', + MM : '%d xhur', + y : 'sena', + yy : '%d sni' + }, + dayOfMonthOrdinalParse : /\d{1,2}º/, + ordinal: '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var symbolMap$c = { + '1': 'á', + '2': 'á‚', + '3': 'áƒ', + '4': 'á„', + '5': 'á…', + '6': 'á†', + '7': 'á‡', + '8': 'áˆ', + '9': 'á‰', + '0': 'á€' + }, numberMap$b = { + 'á': '1', + 'á‚': '2', + 'áƒ': '3', + 'á„': '4', + 'á…': '5', + 'á†': '6', + 'á‡': '7', + 'áˆ': '8', + 'á‰': '9', + 'á€': '0' + }; + + moment.defineLocale('my', { + 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 နှစ်' + }, + preparse: function (string) { + return string.replace(/[áá‚áƒá„á…á†á‡áˆá‰á€]/g, function (match) { + return numberMap$b[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$c[match]; + }); + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('nb', { + months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'), + monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'), + monthsParseExact : true, + weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), + weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'), + weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD.MM.YYYY', + LL : 'D. MMMM YYYY', + LLL : 'D. MMMM YYYY [kl.] HH:mm', + LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm' + }, + calendar : { + sameDay: '[i dag kl.] LT', + nextDay: '[i morgen kl.] LT', + nextWeek: 'dddd [kl.] LT', + lastDay: '[i gÃ¥r kl.] LT', + lastWeek: '[forrige] dddd [kl.] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'om %s', + past : '%s siden', + s : 'noen sekunder', + ss : '%d sekunder', + m : 'ett minutt', + mm : '%d minutter', + h : 'en time', + hh : '%d timer', + d : 'en dag', + dd : '%d dager', + M : 'en mÃ¥ned', + MM : '%d mÃ¥neder', + y : 'ett Ã¥r', + yy : '%d Ã¥r' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var symbolMap$d = { + '1': '१', + '2': '२', + '3': '३', + '4': '४', + '5': '५', + '6': '६', + '7': 'à¥', + '8': '८', + '9': '९', + '0': '०' + }, + numberMap$c = { + '१': '1', + '२': '2', + '३': '3', + '४': '4', + '५': '5', + '६': '6', + 'à¥': '7', + '८': '8', + '९': '9', + '०': '0' + }; + + moment.defineLocale('ne', { + months : 'जनवरी_फेबà¥à¤°à¥à¤µà¤°à¥€_मारà¥à¤š_अपà¥à¤°à¤¿à¤²_मई_जà¥à¤¨_जà¥à¤²à¤¾à¤ˆ_अगषà¥à¤Ÿ_सेपà¥à¤Ÿà¥‡à¤®à¥à¤¬à¤°_अकà¥à¤Ÿà¥‹à¤¬à¤°_नोà¤à¥‡à¤®à¥à¤¬à¤°_डिसेमà¥à¤¬à¤°'.split('_'), + monthsShort : 'जन._फेबà¥à¤°à¥._मारà¥à¤š_अपà¥à¤°à¤¿._मई_जà¥à¤¨_जà¥à¤²à¤¾à¤ˆ._अग._सेपà¥à¤Ÿ._अकà¥à¤Ÿà¥‹._नोà¤à¥‡._डिसे.'.split('_'), + monthsParseExact : true, + weekdays : 'आइतबार_सोमबार_मङà¥à¤—लबार_बà¥à¤§à¤¬à¤¾à¤°_बिहिबार_शà¥à¤•à¥à¤°à¤¬à¤¾à¤°_शनिबार'.split('_'), + weekdaysShort : 'आइत._सोम._मङà¥à¤—ल._बà¥à¤§._बिहि._शà¥à¤•à¥à¤°._शनि.'.split('_'), + weekdaysMin : 'आ._सो._मं._बà¥._बि._शà¥._श.'.split('_'), + weekdaysParseExact : true, + 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 (string) { + return string.replace(/[१२३४५६à¥à¥®à¥¯à¥¦]/g, function (match) { + return numberMap$c[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$d[match]; + }); + }, + meridiemParse: /राति|बिहान|दिउà¤à¤¸à¥‹|साà¤à¤/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'राति') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'बिहान') { + return hour; + } else if (meridiem === 'दिउà¤à¤¸à¥‹') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'साà¤à¤') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 3) { + return 'राति'; + } else if (hour < 12) { + return 'बिहान'; + } else if (hour < 16) { + return 'दिउà¤à¤¸à¥‹'; + } else if (hour < 20) { + return 'साà¤à¤'; + } else { + return 'राति'; + } + }, + 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, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var monthsShortWithDots$1 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'), + monthsShortWithoutDots$1 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'); + + var monthsParse$4 = [/^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]; + var monthsRegex$4 = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; + + moment.defineLocale('nl-be', { + months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'), + monthsShort : function (m, format) { + if (!m) { + return monthsShortWithDots$1; + } else if (/-MMM-/.test(format)) { + return monthsShortWithoutDots$1[m.month()]; + } else { + return monthsShortWithDots$1[m.month()]; + } + }, + + monthsRegex: monthsRegex$4, + monthsShortRegex: monthsRegex$4, + monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, + monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, + + monthsParse : monthsParse$4, + longMonthsParse : monthsParse$4, + shortMonthsParse : monthsParse$4, + + 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 : true, + 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 (number) { + return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var monthsShortWithDots$2 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'), + monthsShortWithoutDots$2 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'); + + var monthsParse$5 = [/^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]; + var monthsRegex$5 = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; + + moment.defineLocale('nl', { + months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'), + monthsShort : function (m, format) { + if (!m) { + return monthsShortWithDots$2; + } else if (/-MMM-/.test(format)) { + return monthsShortWithoutDots$2[m.month()]; + } else { + return monthsShortWithDots$2[m.month()]; + } + }, + + monthsRegex: monthsRegex$5, + monthsShortRegex: monthsRegex$5, + monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, + monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, + + monthsParse : monthsParse$5, + longMonthsParse : monthsParse$5, + shortMonthsParse : monthsParse$5, + + 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 : true, + 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 (number) { + return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('nn', { + months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'), + monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), + weekdays : 'sundag_mÃ¥ndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'), + weekdaysShort : 'sun_mÃ¥n_tys_ons_tor_fre_lau'.split('_'), + weekdaysMin : 'su_mÃ¥_ty_on_to_fr_lø'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD.MM.YYYY', + LL : 'D. MMMM YYYY', + LLL : 'D. MMMM YYYY [kl.] H:mm', + LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm' + }, + calendar : { + sameDay: '[I dag klokka] LT', + nextDay: '[I morgon klokka] LT', + nextWeek: 'dddd [klokka] LT', + lastDay: '[I gÃ¥r klokka] LT', + lastWeek: '[FøregÃ¥ande] dddd [klokka] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'om %s', + past : '%s sidan', + s : 'nokre sekund', + ss : '%d sekund', + m : 'eit minutt', + mm : '%d minutt', + h : 'ein time', + hh : '%d timar', + d : 'ein dag', + dd : '%d dagar', + M : 'ein mÃ¥nad', + MM : '%d mÃ¥nader', + y : 'eit Ã¥r', + yy : '%d Ã¥r' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var symbolMap$e = { + '1': 'à©§', + '2': '੨', + '3': 'à©©', + '4': '੪', + '5': 'à©«', + '6': '੬', + '7': 'à©', + '8': 'à©®', + '9': '੯', + '0': '੦' + }, + numberMap$d = { + 'à©§': '1', + '੨': '2', + 'à©©': '3', + '੪': '4', + 'à©«': '5', + '੬': '6', + 'à©': '7', + 'à©®': '8', + '੯': '9', + '੦': '0' + }; + + moment.defineLocale('pa-in', { + // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi. + months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪà©à¨°à©ˆà¨²_ਮਈ_ਜੂਨ_ਜà©à¨²à¨¾à¨ˆ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'), + monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪà©à¨°à©ˆà¨²_ਮਈ_ਜੂਨ_ਜà©à¨²à¨¾à¨ˆ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'), + 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 : 'ਕà©à¨ ਸਕਿੰਟ', + ss : '%d ਸਕਿੰਟ', + m : 'ਇਕ ਮਿੰਟ', + mm : '%d ਮਿੰਟ', + h : 'ਇੱਕ ਘੰਟਾ', + hh : '%d ਘੰਟੇ', + d : 'ਇੱਕ ਦਿਨ', + dd : '%d ਦਿਨ', + M : 'ਇੱਕ ਮਹੀਨਾ', + MM : '%d ਮਹੀਨੇ', + y : 'ਇੱਕ ਸਾਲ', + yy : '%d ਸਾਲ' + }, + preparse: function (string) { + return string.replace(/[੧੨੩੪੫੬à©à©®à©¯à©¦]/g, function (match) { + return numberMap$d[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$e[match]; + }); + }, + // Punjabi notation for meridiems are quite fuzzy in practice. While there exists + // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi. + meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦà©à¨ªà¨¹à¨¿à¨°|ਸ਼ਾਮ/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'ਰਾਤ') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'ਸਵੇਰ') { + return hour; + } else if (meridiem === 'ਦà©à¨ªà¨¹à¨¿à¨°') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'ਸ਼ਾਮ') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'ਰਾਤ'; + } else if (hour < 10) { + return 'ਸਵੇਰ'; + } else if (hour < 17) { + return 'ਦà©à¨ªà¨¹à¨¿à¨°'; + } else if (hour < 20) { + return 'ਸ਼ਾਮ'; + } else { + return 'ਰਾਤ'; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var monthsNominative = 'styczeÅ„_luty_marzec_kwiecieÅ„_maj_czerwiec_lipiec_sierpieÅ„_wrzesieÅ„_październik_listopad_grudzieÅ„'.split('_'), + monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrzeÅ›nia_października_listopada_grudnia'.split('_'); + function plural$3(n) { + return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1); + } + function translate$8(number, withoutSuffix, key) { + var result = number + ' '; + switch (key) { + case 'ss': + return result + (plural$3(number) ? 'sekundy' : 'sekund'); + case 'm': + return withoutSuffix ? 'minuta' : 'minutÄ™'; + case 'mm': + return result + (plural$3(number) ? 'minuty' : 'minut'); + case 'h': + return withoutSuffix ? 'godzina' : 'godzinÄ™'; + case 'hh': + return result + (plural$3(number) ? 'godziny' : 'godzin'); + case 'MM': + return result + (plural$3(number) ? 'miesiÄ…ce' : 'miesiÄ™cy'); + case 'yy': + return result + (plural$3(number) ? 'lata' : 'lat'); + } + } + + moment.defineLocale('pl', { + months : function (momentToFormat, format) { + if (!momentToFormat) { + return monthsNominative; + } else if (format === '') { + // Hack: if format empty we know this is used to generate + // RegExp by moment. Give then back both valid forms of months + // in RegExp ready format. + return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')'; + } else if (/D MMMM/.test(format)) { + return monthsSubjective[momentToFormat.month()]; + } else { + return monthsNominative[momentToFormat.month()]; + } + }, + 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 : translate$8, + m : translate$8, + mm : translate$8, + h : translate$8, + hh : translate$8, + d : '1 dzieÅ„', + dd : '%d dni', + M : 'miesiÄ…c', + MM : translate$8, + y : 'rok', + yy : translate$8 + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('pt-br', { + months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'), + monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), + weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'), + weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), + weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD/MM/YYYY', + LL : 'D [de] MMMM [de] YYYY', + LLL : 'D [de] MMMM [de] YYYY [à s] HH:mm', + LLLL : 'dddd, D [de] MMMM [de] YYYY [à s] HH:mm' + }, + calendar : { + sameDay: '[Hoje à s] LT', + nextDay: '[Amanhã à s] LT', + nextWeek: 'dddd [à s] LT', + lastDay: '[Ontem à s] LT', + lastWeek: function () { + return (this.day() === 0 || this.day() === 6) ? + '[Último] dddd [à s] LT' : // Saturday + Sunday + '[Última] dddd [à s] LT'; // Monday - Friday + }, + sameElse: 'L' + }, + relativeTime : { + future : 'em %s', + past : 'há %s', + s : 'poucos segundos', + ss : '%d segundos', + m : 'um minuto', + mm : '%d minutos', + h : 'uma hora', + hh : '%d horas', + d : 'um dia', + dd : '%d dias', + M : 'um mês', + MM : '%d meses', + y : 'um ano', + yy : '%d anos' + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal : '%dº' + }); + + //! moment.js locale configuration + + moment.defineLocale('pt', { + months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'), + monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), + weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'), + weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), + weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD/MM/YYYY', + LL : 'D [de] MMMM [de] YYYY', + LLL : 'D [de] MMMM [de] YYYY HH:mm', + LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm' + }, + calendar : { + sameDay: '[Hoje à s] LT', + nextDay: '[Amanhã à s] LT', + nextWeek: 'dddd [à s] LT', + lastDay: '[Ontem à s] LT', + lastWeek: function () { + return (this.day() === 0 || this.day() === 6) ? + '[Último] dddd [à s] LT' : // Saturday + Sunday + '[Última] dddd [à s] LT'; // Monday - Friday + }, + sameElse: 'L' + }, + relativeTime : { + future : 'em %s', + past : 'há %s', + s : 'segundos', + ss : '%d segundos', + m : 'um minuto', + mm : '%d minutos', + h : 'uma hora', + hh : '%d horas', + d : 'um dia', + dd : '%d dias', + M : 'um mês', + MM : '%d meses', + y : 'um ano', + yy : '%d anos' + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal : '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function relativeTimeWithPlural$2(number, withoutSuffix, key) { + var format = { + 'ss': 'secunde', + 'mm': 'minute', + 'hh': 'ore', + 'dd': 'zile', + 'MM': 'luni', + 'yy': 'ani' + }, + separator = ' '; + if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) { + separator = ' de '; + } + return number + separator + format[key]; + } + + moment.defineLocale('ro', { + months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'), + monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'), + monthsParseExact: true, + weekdays : 'duminică_luni_marÈ›i_miercuri_joi_vineri_sâmbătă'.split('_'), + weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'), + weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'), + 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: '[azi la] LT', + nextDay: '[mâine la] LT', + nextWeek: 'dddd [la] LT', + lastDay: '[ieri la] LT', + lastWeek: '[fosta] dddd [la] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'peste %s', + past : '%s în urmă', + s : 'câteva secunde', + ss : relativeTimeWithPlural$2, + m : 'un minut', + mm : relativeTimeWithPlural$2, + h : 'o oră', + hh : relativeTimeWithPlural$2, + d : 'o zi', + dd : relativeTimeWithPlural$2, + M : 'o lună', + MM : relativeTimeWithPlural$2, + y : 'un an', + yy : relativeTimeWithPlural$2 + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function plural$4(word, num) { + var forms = word.split('_'); + return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]); + } + function relativeTimeWithPlural$3(number, withoutSuffix, key) { + var format = { + 'ss': withoutSuffix ? 'Ñекунда_Ñекунды_Ñекунд' : 'Ñекунду_Ñекунды_Ñекунд', + 'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут', + 'hh': 'чаÑ_чаÑа_чаÑов', + 'dd': 'день_днÑ_дней', + 'MM': 'меÑÑц_меÑÑца_меÑÑцев', + 'yy': 'год_года_лет' + }; + if (key === 'm') { + return withoutSuffix ? 'минута' : 'минуту'; + } + else { + return number + ' ' + plural$4(format[key], +number); + } + } + var monthsParse$6 = [/^Ñнв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йÑ]/i, /^июн/i, /^июл/i, /^авг/i, /^Ñен/i, /^окт/i, /^ноÑ/i, /^дек/i]; + + // http://new.gramota.ru/spravka/rules/139-prop : § 103 + // Ð¡Ð¾ÐºÑ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð¼ÐµÑÑцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637 + // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753 + moment.defineLocale('ru', { + months : { + format: 'ÑнварÑ_февралÑ_марта_апрелÑ_маÑ_июнÑ_июлÑ_авгуÑта_ÑентÑбрÑ_октÑбрÑ_ноÑбрÑ_декабрÑ'.split('_'), + standalone: 'Ñнварь_февраль_март_апрель_май_июнь_июль_авгуÑÑ‚_ÑентÑбрь_октÑбрь_ноÑбрь_декабрь'.split('_') + }, + monthsShort : { + // по CLDR именно "июл." и "июн.", но какой ÑмыÑл менÑть букву на точку ? + format: 'Ñнв._февр._мар._апр._маÑ_июнÑ_июлÑ_авг._Ñент._окт._ноÑб._дек.'.split('_'), + standalone: 'Ñнв._февр._март_апр._май_июнь_июль_авг._Ñент._окт._ноÑб._дек.'.split('_') + }, + weekdays : { + standalone: 'воÑкреÑенье_понедельник_вторник_Ñреда_четверг_пÑтница_Ñуббота'.split('_'), + format: 'воÑкреÑенье_понедельник_вторник_Ñреду_четверг_пÑтницу_Ñубботу'.split('_'), + isFormat: /\[ ?[Вв] ?(?:прошлую|Ñледующую|Ñту)? ?\] ?dddd/ + }, + weekdaysShort : 'вÑ_пн_вт_ÑÑ€_чт_пт_Ñб'.split('_'), + weekdaysMin : 'вÑ_пн_вт_ÑÑ€_чт_пт_Ñб'.split('_'), + monthsParse : monthsParse$6, + longMonthsParse : monthsParse$6, + shortMonthsParse : monthsParse$6, + + // полные Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ð°Ð´ÐµÐ¶Ð°Ð¼Ð¸, по три буквы, Ð´Ð»Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ…, по 4 буквы, ÑÐ¾ÐºÑ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ñ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹ и без точки + monthsRegex: /^(Ñнвар[ÑŒÑ]|Ñнв\.?|феврал[ÑŒÑ]|февр?\.?|марта?|мар\.?|апрел[ÑŒÑ]|апр\.?|ма[йÑ]|июн[ÑŒÑ]|июн\.?|июл[ÑŒÑ]|июл\.?|авгуÑта?|авг\.?|ÑентÑбр[ÑŒÑ]|Ñент?\.?|октÑбр[ÑŒÑ]|окт\.?|ноÑбр[ÑŒÑ]|ноÑб?\.?|декабр[ÑŒÑ]|дек\.?)/i, + + // ÐºÐ¾Ð¿Ð¸Ñ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ³Ð¾ + monthsShortRegex: /^(Ñнвар[ÑŒÑ]|Ñнв\.?|феврал[ÑŒÑ]|февр?\.?|марта?|мар\.?|апрел[ÑŒÑ]|апр\.?|ма[йÑ]|июн[ÑŒÑ]|июн\.?|июл[ÑŒÑ]|июл\.?|авгуÑта?|авг\.?|ÑентÑбр[ÑŒÑ]|Ñент?\.?|октÑбр[ÑŒÑ]|окт\.?|ноÑбр[ÑŒÑ]|ноÑб?\.?|декабр[ÑŒÑ]|дек\.?)/i, + + // полные Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ð°Ð´ÐµÐ¶Ð°Ð¼Ð¸ + monthsStrictRegex: /^(Ñнвар[ÑÑŒ]|феврал[ÑÑŒ]|марта?|апрел[ÑÑŒ]|ма[Ñй]|июн[ÑÑŒ]|июл[ÑÑŒ]|авгуÑта?|ÑентÑбр[ÑÑŒ]|октÑбр[ÑÑŒ]|ноÑбр[ÑÑŒ]|декабр[ÑÑŒ])/i, + + // Выражение, которое ÑоотвеÑтвует только Ñокращённым формам + monthsShortStrictRegex: /^(Ñнв\.|февр?\.|мар[Ñ‚.]|апр\.|ма[Ñй]|июн[ÑŒÑ.]|июл[ÑŒÑ.]|авг\.|Ñент?\.|окт\.|ноÑб?\.|дек\.)/i, + 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: '[СегоднÑ, в] LT', + nextDay: '[Завтра, в] LT', + lastDay: '[Вчера, в] LT', + nextWeek: function (now) { + if (now.week() !== this.week()) { + switch (this.day()) { + case 0: + return '[Ð’ Ñледующее] dddd, [в] LT'; + case 1: + case 2: + case 4: + return '[Ð’ Ñледующий] dddd, [в] LT'; + case 3: + case 5: + case 6: + return '[Ð’ Ñледующую] dddd, [в] LT'; + } + } else { + if (this.day() === 2) { + return '[Во] dddd, [в] LT'; + } else { + return '[Ð’] dddd, [в] LT'; + } + } + }, + lastWeek: function (now) { + if (now.week() !== this.week()) { + switch (this.day()) { + case 0: + return '[Ð’ прошлое] dddd, [в] LT'; + case 1: + case 2: + case 4: + return '[Ð’ прошлый] dddd, [в] LT'; + case 3: + case 5: + case 6: + return '[Ð’ прошлую] dddd, [в] LT'; + } + } else { + if (this.day() === 2) { + return '[Во] dddd, [в] LT'; + } else { + return '[Ð’] dddd, [в] LT'; + } + } + }, + sameElse: 'L' + }, + relativeTime : { + future : 'через %s', + past : '%s назад', + s : 'неÑколько Ñекунд', + ss : relativeTimeWithPlural$3, + m : relativeTimeWithPlural$3, + mm : relativeTimeWithPlural$3, + h : 'чаÑ', + hh : relativeTimeWithPlural$3, + d : 'день', + dd : relativeTimeWithPlural$3, + M : 'меÑÑц', + MM : relativeTimeWithPlural$3, + y : 'год', + yy : relativeTimeWithPlural$3 + }, + meridiemParse: /ночи|утра|днÑ|вечера/i, + isPM : function (input) { + return /^(днÑ|вечера)$/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'ночи'; + } else if (hour < 12) { + return 'утра'; + } else if (hour < 17) { + return 'днÑ'; + } else { + return 'вечера'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(й|го|Ñ)/, + ordinal: function (number, period) { + switch (period) { + case 'M': + case 'd': + case 'DDD': + return number + '-й'; + case 'D': + return number + '-го'; + case 'w': + case 'W': + return number + '-Ñ'; + default: + return number; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var months$7 = [ + 'جنوري', + 'Ùيبروري', + 'مارچ', + 'اپريل', + 'مئي', + 'جون', + 'جولاءÙ', + 'آگسٽ', + 'سيپٽمبر', + 'آڪٽوبر', + 'نومبر', + 'ڊسمبر' + ]; + var days = [ + 'آچر', + 'سومر', + 'اڱارو', + 'اربع', + 'خميس', + 'جمع', + 'ڇنڇر' + ]; + + moment.defineLocale('sd', { + months : months$7, + monthsShort : months$7, + weekdays : days, + weekdaysShort : days, + weekdaysMin : days, + 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 (input) { + return 'شام' === input; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'صبØ'; + } + return 'شام'; + }, + 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 (string) { + return string.replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/,/g, 'ØŒ'); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.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, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + /*jshint -W100*/ + moment.defineLocale('si', { + months : 'ජනවà·à¶»à·’_පෙබරවà·à¶»à·’_මà·à¶»à·Šà¶à·”_à¶…à¶´à·Šâ€à¶»à·šà¶½à·Š_මà·à¶ºà·’_ජූනි_ජූලි_à¶…à¶œà·à·ƒà·Šà¶à·”_à·ƒà·à¶´à·Šà¶à·à¶¸à·Šà¶¶à¶»à·Š_ඔක්à¶à·à¶¶à¶»à·Š_නොවà·à¶¸à·Šà¶¶à¶»à·Š_දෙසà·à¶¸à·Šà¶¶à¶»à·Š'.split('_'), + monthsShort : 'ජන_පෙබ_මà·à¶»à·Š_à¶…à¶´à·Š_මà·à¶ºà·’_ජූනි_ජූලි_à¶…à¶œà·_à·ƒà·à¶´à·Š_ඔක්_නොවà·_දෙසà·'.split('_'), + weekdays : 'ඉරිදà·_සඳුදà·_අඟහරුවà·à¶¯à·_බදà·à¶¯à·_à¶¶à·Šâ€à¶»à·„ස්පà¶à·’න්දà·_සිකුරà·à¶¯à·_සෙනසුරà·à¶¯à·'.split('_'), + weekdaysShort : 'ඉරි_සඳු_à¶…à¶Ÿ_බදà·_à¶¶à·Šâ€à¶»à·„_සිකු_සෙන'.split('_'), + weekdaysMin : 'ඉ_à·ƒ_à¶…_à¶¶_à¶¶à·Šâ€à¶»_සි_සෙ'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'a h:mm', + LTS : 'a h:mm:ss', + L : 'YYYY/MM/DD', + LL : 'YYYY MMMM D', + LLL : 'YYYY MMMM D, a h:mm', + LLLL : 'YYYY MMMM D [à·€à·à¶±à·’] dddd, a h:mm:ss' + }, + 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 (number) { + return number + ' à·€à·à¶±à·’'; + }, + meridiemParse : /පෙර වරු|පස් වරු|à¶´à·™.à·€|à¶´.à·€./, + isPM : function (input) { + return input === 'à¶´.à·€.' || input === 'පස් වරු'; + }, + meridiem : function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'à¶´.à·€.' : 'පස් වරු'; + } else { + return isLower ? 'à¶´à·™.à·€.' : 'පෙර වරු'; + } + } + }); + + //! moment.js locale configuration + + var months$8 = 'január_február_marec_aprÃl_máj_jún_júl_august_september_október_november_december'.split('_'), + monthsShort$6 = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_'); + function plural$5(n) { + return (n > 1) && (n < 5); + } + function translate$9(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + switch (key) { + case 's': // a few seconds / in a few seconds / a few seconds ago + return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami'; + case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago + if (withoutSuffix || isFuture) { + return result + (plural$5(number) ? 'sekundy' : 'sekúnd'); + } else { + return result + 'sekundami'; + } + break; + case 'm': // a minute / in a minute / a minute ago + return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou'); + case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago + if (withoutSuffix || isFuture) { + return result + (plural$5(number) ? 'minúty' : 'minút'); + } else { + return result + 'minútami'; + } + break; + case 'h': // an hour / in an hour / an hour ago + return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou'); + case 'hh': // 9 hours / in 9 hours / 9 hours ago + if (withoutSuffix || isFuture) { + return result + (plural$5(number) ? 'hodiny' : 'hodÃn'); + } else { + return result + 'hodinami'; + } + break; + case 'd': // a day / in a day / a day ago + return (withoutSuffix || isFuture) ? 'deň' : 'dňom'; + case 'dd': // 9 days / in 9 days / 9 days ago + if (withoutSuffix || isFuture) { + return result + (plural$5(number) ? 'dni' : 'dnÃ'); + } else { + return result + 'dňami'; + } + break; + case 'M': // a month / in a month / a month ago + return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom'; + case 'MM': // 9 months / in 9 months / 9 months ago + if (withoutSuffix || isFuture) { + return result + (plural$5(number) ? 'mesiace' : 'mesiacov'); + } else { + return result + 'mesiacmi'; + } + break; + case 'y': // a year / in a year / a year ago + return (withoutSuffix || isFuture) ? 'rok' : 'rokom'; + case 'yy': // 9 years / in 9 years / 9 years ago + if (withoutSuffix || isFuture) { + return result + (plural$5(number) ? 'roky' : 'rokov'); + } else { + return result + 'rokmi'; + } + break; + } + } + + moment.defineLocale('sk', { + months : months$8, + monthsShort : monthsShort$6, + weekdays : 'nedeľa_pondelok_utorok_streda_Å¡tvrtok_piatok_sobota'.split('_'), + weekdaysShort : 'ne_po_ut_st_Å¡t_pi_so'.split('_'), + weekdaysMin : 'ne_po_ut_st_Å¡t_pi_so'.split('_'), + 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: '[dnes o] LT', + nextDay: '[zajtra o] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[v nedeľu o] LT'; + case 1: + case 2: + return '[v] dddd [o] LT'; + case 3: + return '[v stredu o] LT'; + case 4: + return '[vo Å¡tvrtok o] LT'; + case 5: + return '[v piatok o] LT'; + case 6: + return '[v sobotu o] LT'; + } + }, + lastDay: '[vÄera o] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[minulú nedeľu o] LT'; + case 1: + case 2: + return '[minulý] dddd [o] LT'; + case 3: + return '[minulú stredu o] LT'; + case 4: + case 5: + return '[minulý] dddd [o] LT'; + case 6: + return '[minulú sobotu o] LT'; + } + }, + sameElse: 'L' + }, + relativeTime : { + future : 'za %s', + past : 'pred %s', + s : translate$9, + ss : translate$9, + m : translate$9, + mm : translate$9, + h : translate$9, + hh : translate$9, + d : translate$9, + dd : translate$9, + M : translate$9, + MM : translate$9, + y : translate$9, + yy : translate$9 + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function processRelativeTime$6(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + switch (key) { + case 's': + return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami'; + case 'ss': + if (number === 1) { + result += withoutSuffix ? 'sekundo' : 'sekundi'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah'; + } else { + result += 'sekund'; + } + return result; + case 'm': + return withoutSuffix ? 'ena minuta' : 'eno minuto'; + case 'mm': + if (number === 1) { + result += withoutSuffix ? 'minuta' : 'minuto'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'minuti' : 'minutama'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'minute' : 'minutami'; + } else { + result += withoutSuffix || isFuture ? 'minut' : 'minutami'; + } + return result; + case 'h': + return withoutSuffix ? 'ena ura' : 'eno uro'; + case 'hh': + if (number === 1) { + result += withoutSuffix ? 'ura' : 'uro'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'uri' : 'urama'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'ure' : 'urami'; + } else { + result += withoutSuffix || isFuture ? 'ur' : 'urami'; + } + return result; + case 'd': + return withoutSuffix || isFuture ? 'en dan' : 'enim dnem'; + case 'dd': + if (number === 1) { + result += withoutSuffix || isFuture ? 'dan' : 'dnem'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'dni' : 'dnevoma'; + } else { + result += withoutSuffix || isFuture ? 'dni' : 'dnevi'; + } + return result; + case 'M': + return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem'; + case 'MM': + if (number === 1) { + result += withoutSuffix || isFuture ? 'mesec' : 'mesecem'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'meseca' : 'mesecema'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'mesece' : 'meseci'; + } else { + result += withoutSuffix || isFuture ? 'mesecev' : 'meseci'; + } + return result; + case 'y': + return withoutSuffix || isFuture ? 'eno leto' : 'enim letom'; + case 'yy': + if (number === 1) { + result += withoutSuffix || isFuture ? 'leto' : 'letom'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'leti' : 'letoma'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'leta' : 'leti'; + } else { + result += withoutSuffix || isFuture ? 'let' : 'leti'; + } + return result; + } + } + + moment.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: true, + 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 : true, + 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 : processRelativeTime$6, + ss : processRelativeTime$6, + m : processRelativeTime$6, + mm : processRelativeTime$6, + h : processRelativeTime$6, + hh : processRelativeTime$6, + d : processRelativeTime$6, + dd : processRelativeTime$6, + M : processRelativeTime$6, + MM : processRelativeTime$6, + y : processRelativeTime$6, + yy : processRelativeTime$6 + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('sq', { + months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'), + monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'), + weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'), + weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'), + weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'), + weekdaysParseExact : true, + meridiemParse: /PD|MD/, + isPM: function (input) { + return input.charAt(0) === 'M'; + }, + meridiem : function (hours, minutes, isLower) { + return hours < 12 ? 'PD' : 'MD'; + }, + 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 : '[Sot në] LT', + nextDay : '[Nesër në] LT', + nextWeek : 'dddd [në] LT', + lastDay : '[Dje në] LT', + lastWeek : 'dddd [e kaluar në] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'në %s', + past : '%s më parë', + s : 'disa sekonda', + ss : '%d sekonda', + m : 'një minutë', + mm : '%d minuta', + h : 'një orë', + hh : '%d orë', + d : 'një ditë', + dd : '%d ditë', + M : 'një muaj', + MM : '%d muaj', + y : 'një vit', + yy : '%d vite' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var translator$1 = { + words: { //Different grammatical cases + ss: ['Ñекунда', 'Ñекунде', 'Ñекунди'], + m: ['један минут', 'једне минуте'], + mm: ['минут', 'минуте', 'минута'], + h: ['један Ñат', 'једног Ñата'], + hh: ['Ñат', 'Ñата', 'Ñати'], + dd: ['дан', 'дана', 'дана'], + MM: ['меÑец', 'меÑеца', 'меÑеци'], + yy: ['година', 'године', 'година'] + }, + correctGrammaticalCase: function (number, wordKey) { + return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]); + }, + translate: function (number, withoutSuffix, key) { + var wordKey = translator$1.words[key]; + if (key.length === 1) { + return withoutSuffix ? wordKey[0] : wordKey[1]; + } else { + return number + ' ' + translator$1.correctGrammaticalCase(number, wordKey); + } + } + }; + + moment.defineLocale('sr-cyrl', { + months: 'јануар_фебруар_март_април_мај_јун_јул_авгуÑÑ‚_Ñептембар_октобар_новембар_децембар'.split('_'), + monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._Ñеп._окт._нов._дец.'.split('_'), + monthsParseExact: true, + weekdays: 'недеља_понедељак_уторак_Ñреда_четвртак_петак_Ñубота'.split('_'), + weekdaysShort: 'нед._пон._уто._Ñре._чет._пет._Ñуб.'.split('_'), + weekdaysMin: 'не_по_ут_ÑÑ€_че_пе_Ñу'.split('_'), + weekdaysParseExact : true, + 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: '[Ð´Ð°Ð½Ð°Ñ Ñƒ] LT', + nextDay: '[Ñутра у] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[у] [недељу] [у] LT'; + case 3: + return '[у] [Ñреду] [у] LT'; + case 6: + return '[у] [Ñуботу] [у] LT'; + case 1: + case 2: + case 4: + case 5: + return '[у] dddd [у] LT'; + } + }, + lastDay : '[јуче у] LT', + lastWeek : function () { + var lastWeekDays = [ + '[прошле] [недеље] [у] LT', + '[прошлог] [понедељка] [у] LT', + '[прошлог] [уторка] [у] LT', + '[прошле] [Ñреде] [у] LT', + '[прошлог] [четвртка] [у] LT', + '[прошлог] [петка] [у] LT', + '[прошле] [Ñуботе] [у] LT' + ]; + return lastWeekDays[this.day()]; + }, + sameElse : 'L' + }, + relativeTime : { + future : 'за %s', + past : 'пре %s', + s : 'неколико Ñекунди', + ss : translator$1.translate, + m : translator$1.translate, + mm : translator$1.translate, + h : translator$1.translate, + hh : translator$1.translate, + d : 'дан', + dd : translator$1.translate, + M : 'меÑец', + MM : translator$1.translate, + y : 'годину', + yy : translator$1.translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var translator$2 = { + words: { //Different grammatical cases + ss: ['sekunda', 'sekunde', 'sekundi'], + m: ['jedan minut', 'jedne minute'], + mm: ['minut', 'minute', 'minuta'], + h: ['jedan sat', 'jednog sata'], + hh: ['sat', 'sata', 'sati'], + dd: ['dan', 'dana', 'dana'], + MM: ['mesec', 'meseca', 'meseci'], + yy: ['godina', 'godine', 'godina'] + }, + correctGrammaticalCase: function (number, wordKey) { + return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]); + }, + translate: function (number, withoutSuffix, key) { + var wordKey = translator$2.words[key]; + if (key.length === 1) { + return withoutSuffix ? wordKey[0] : wordKey[1]; + } else { + return number + ' ' + translator$2.correctGrammaticalCase(number, wordKey); + } + } + }; + + moment.defineLocale('sr', { + months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'), + monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'), + monthsParseExact: true, + weekdays: 'nedelja_ponedeljak_utorak_sreda_Äetvrtak_petak_subota'.split('_'), + weekdaysShort: 'ned._pon._uto._sre._Äet._pet._sub.'.split('_'), + weekdaysMin: 'ne_po_ut_sr_Äe_pe_su'.split('_'), + weekdaysParseExact : true, + 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: '[danas u] LT', + nextDay: '[sutra u] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[u] [nedelju] [u] LT'; + case 3: + return '[u] [sredu] [u] LT'; + case 6: + return '[u] [subotu] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[u] dddd [u] LT'; + } + }, + lastDay : '[juÄe u] LT', + lastWeek : function () { + var lastWeekDays = [ + '[proÅ¡le] [nedelje] [u] LT', + '[proÅ¡log] [ponedeljka] [u] LT', + '[proÅ¡log] [utorka] [u] LT', + '[proÅ¡le] [srede] [u] LT', + '[proÅ¡log] [Äetvrtka] [u] LT', + '[proÅ¡log] [petka] [u] LT', + '[proÅ¡le] [subote] [u] LT' + ]; + return lastWeekDays[this.day()]; + }, + sameElse : 'L' + }, + relativeTime : { + future : 'za %s', + past : 'pre %s', + s : 'nekoliko sekundi', + ss : translator$2.translate, + m : translator$2.translate, + mm : translator$2.translate, + h : translator$2.translate, + hh : translator$2.translate, + d : 'dan', + dd : translator$2.translate, + M : 'mesec', + MM : translator$2.translate, + y : 'godinu', + yy : translator$2.translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.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 : true, + 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 (hours, minutes, isLower) { + if (hours < 11) { + return 'ekuseni'; + } else if (hours < 15) { + return 'emini'; + } else if (hours < 19) { + return 'entsambama'; + } else { + return 'ebusuku'; + } + }, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'ekuseni') { + return hour; + } else if (meridiem === 'emini') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') { + if (hour === 0) { + return 0; + } + return hour + 12; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}/, + ordinal : '%d', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('sv', { + months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'), + monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), + weekdays : 'söndag_mÃ¥ndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'), + weekdaysShort : 'sön_mÃ¥n_tis_ons_tor_fre_lör'.split('_'), + weekdaysMin : 'sö_mÃ¥_ti_on_to_fr_lö'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY-MM-DD', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY [kl.] HH:mm', + LLLL : 'dddd D MMMM YYYY [kl.] HH:mm', + lll : 'D MMM YYYY HH:mm', + llll : 'ddd D MMM YYYY HH:mm' + }, + calendar : { + sameDay: '[Idag] LT', + nextDay: '[Imorgon] LT', + lastDay: '[IgÃ¥r] LT', + nextWeek: '[PÃ¥] dddd LT', + lastWeek: '[I] dddd[s] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'om %s', + past : 'för %s sedan', + s : 'nÃ¥gra sekunder', + ss : '%d sekunder', + m : 'en minut', + mm : '%d minuter', + h : 'en timme', + hh : '%d timmar', + d : 'en dag', + dd : '%d dagar', + M : 'en mÃ¥nad', + MM : '%d mÃ¥nader', + y : 'ett Ã¥r', + yy : '%d Ã¥r' + }, + dayOfMonthOrdinalParse: /\d{1,2}(e|a)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'e' : + (b === 1) ? 'a' : + (b === 2) ? 'a' : + (b === 3) ? 'e' : 'e'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('sw', { + months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'), + monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'), + weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'), + weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'), + weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'), + weekdaysParseExact : true, + 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 : '[leo saa] LT', + nextDay : '[kesho saa] LT', + nextWeek : '[wiki ijayo] dddd [saat] LT', + lastDay : '[jana] LT', + lastWeek : '[wiki iliyopita] dddd [saat] LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s baadaye', + past : 'tokea %s', + s : 'hivi punde', + ss : 'sekunde %d', + m : 'dakika moja', + mm : 'dakika %d', + h : 'saa limoja', + hh : 'masaa %d', + d : 'siku moja', + dd : 'masiku %d', + M : 'mwezi mmoja', + MM : 'miezi %d', + y : 'mwaka mmoja', + yy : 'miaka %d' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var symbolMap$f = { + '1': '௧', + '2': '௨', + '3': '௩', + '4': '௪', + '5': '௫', + '6': '௬', + '7': 'à¯', + '8': '௮', + '9': '௯', + '0': '௦' + }, numberMap$e = { + '௧': '1', + '௨': '2', + '௩': '3', + '௪': '4', + '௫': '5', + '௬': '6', + 'à¯': '7', + '௮': '8', + '௯': '9', + '௦': '0' + }; + + moment.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 (number) { + return number + 'வதà¯'; + }, + preparse: function (string) { + return string.replace(/[௧௨௩௪௫௬à¯à¯®à¯¯à¯¦]/g, function (match) { + return numberMap$e[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$f[match]; + }); + }, + // refer http://ta.wikipedia.org/s/1er1 + meridiemParse: /யாமமà¯|வைகறை|காலை|நணà¯à®ªà®•லà¯|எறà¯à®ªà®¾à®Ÿà¯|மாலை/, + meridiem : function (hour, minute, isLower) { + if (hour < 2) { + return ' யாமமà¯'; + } else if (hour < 6) { + return ' வைகறை'; // வைகறை + } else if (hour < 10) { + return ' காலை'; // காலை + } else if (hour < 14) { + return ' நணà¯à®ªà®•லà¯'; // நணà¯à®ªà®•ல௠+ } else if (hour < 18) { + return ' எறà¯à®ªà®¾à®Ÿà¯'; // எறà¯à®ªà®¾à®Ÿà¯ + } else if (hour < 22) { + return ' மாலை'; // மாலை + } else { + return ' யாமமà¯'; + } + }, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'யாமமà¯') { + return hour < 2 ? hour : hour + 12; + } else if (meridiem === 'வைகறை' || meridiem === 'காலை') { + return hour; + } else if (meridiem === 'நணà¯à®ªà®•லà¯') { + return hour >= 10 ? hour : hour + 12; + } else { + return hour + 12; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('te', { + months : 'జనవరి_à°«à°¿à°¬à±à°°à°µà°°à°¿_మారà±à°šà°¿_à°à°ªà±à°°à°¿à°²à±_మే_జూనà±_à°œà±à°²à±ˆ_ఆగసà±à°Ÿà±_సెపà±à°Ÿà±†à°‚బరà±_à°…à°•à±à°Ÿà±‹à°¬à°°à±_నవంబరà±_డిసెంబరà±'.split('_'), + monthsShort : 'జన._à°«à°¿à°¬à±à°°._మారà±à°šà°¿_à°à°ªà±à°°à°¿._మే_జూనà±_à°œà±à°²à±ˆ_ఆగ._సెపà±._à°…à°•à±à°Ÿà±‹._నవ._డిసె.'.split('_'), + monthsParseExact : true, + 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 : 'కొనà±à°¨à°¿ à°•à±à°·à°£à°¾à°²à±', + ss : '%d సెకనà±à°²à±', + m : 'à°’à°• నిమిషం', + mm : '%d నిమిషాలà±', + h : 'à°’à°• à°—à°‚à°Ÿ', + hh : '%d à°—à°‚à°Ÿà°²à±', + d : 'à°’à°• రోజà±', + dd : '%d రోజà±à°²à±', + M : 'à°’à°• నెల', + MM : '%d నెలలà±', + y : 'à°’à°• సంవతà±à°¸à°°à°‚', + yy : '%d సంవతà±à°¸à°°à°¾à°²à±' + }, + dayOfMonthOrdinalParse : /\d{1,2}à°µ/, + ordinal : '%dà°µ', + meridiemParse: /రాతà±à°°à°¿|ఉదయం|మధà±à°¯à°¾à°¹à±à°¨à°‚|సాయంతà±à°°à°‚/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'రాతà±à°°à°¿') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'ఉదయం') { + return hour; + } else if (meridiem === 'మధà±à°¯à°¾à°¹à±à°¨à°‚') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'సాయంతà±à°°à°‚') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'రాతà±à°°à°¿'; + } else if (hour < 10) { + return 'ఉదయం'; + } else if (hour < 17) { + return 'మధà±à°¯à°¾à°¹à±à°¨à°‚'; + } else if (hour < 20) { + return 'సాయంతà±à°°à°‚'; + } else { + return 'రాతà±à°°à°¿'; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('tet', { + months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'), + monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), + weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'), + weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'), + weekdaysMin : 'Do_Seg_Te_Ku_Ki_Ses_Sa'.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: '[Ohin iha] LT', + nextDay: '[Aban iha] LT', + nextWeek: 'dddd [iha] LT', + lastDay: '[Horiseik iha] LT', + lastWeek: 'dddd [semana kotuk] [iha] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'iha %s', + past : '%s liuba', + s : 'minutu balun', + ss : 'minutu %d', + m : 'minutu ida', + mm : 'minutu %d', + h : 'oras ida', + hh : 'oras %d', + d : 'loron ida', + dd : 'loron %d', + M : 'fulan ida', + MM : 'fulan %d', + y : 'tinan ida', + yy : 'tinan %d' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var suffixes$3 = { + 0: '-ум', + 1: '-ум', + 2: '-юм', + 3: '-юм', + 4: '-ум', + 5: '-ум', + 6: '-ум', + 7: '-ум', + 8: '-ум', + 9: '-ум', + 10: '-ум', + 12: '-ум', + 13: '-ум', + 20: '-ум', + 30: '-юм', + 40: '-ум', + 50: '-ум', + 60: '-ум', + 70: '-ум', + 80: '-ум', + 90: '-ум', + 100: '-ум' + }; + + moment.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 (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'шаб') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'Ñубҳ') { + return hour; + } else if (meridiem === 'рӯз') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'бегоҳ') { + return hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'шаб'; + } else if (hour < 11) { + return 'Ñубҳ'; + } else if (hour < 16) { + return 'рӯз'; + } else if (hour < 19) { + return 'бегоҳ'; + } else { + return 'шаб'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/, + ordinal: function (number) { + var a = number % 10, + b = number >= 100 ? 100 : null; + return number + (suffixes$3[number] || suffixes$3[a] || suffixes$3[b]); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 1th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('th', { + months : 'มà¸à¸£à¸²à¸„ม_à¸à¸¸à¸¡à¸ าพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_à¸à¸£à¸à¸Žà¸²à¸„ม_สิงหาคม_à¸à¸±à¸™à¸¢à¸²à¸¢à¸™_ตุลาคม_พฤศจิà¸à¸²à¸¢à¸™_ธันวาคม'.split('_'), + monthsShort : 'ม.ค._à¸.พ._มี.ค._เม.ย._พ.ค._มิ.ย._à¸.ค._ส.ค._à¸.ย._ต.ค._พ.ย._ธ.ค.'.split('_'), + monthsParseExact: true, + weekdays : 'à¸à¸²à¸—ิตย์_จันทร์_à¸à¸±à¸‡à¸„าร_พุธ_พฤหัสบดี_ศุà¸à¸£à¹Œ_เสาร์'.split('_'), + weekdaysShort : 'à¸à¸²à¸—ิตย์_จันทร์_à¸à¸±à¸‡à¸„าร_พุธ_พฤหัส_ศุà¸à¸£à¹Œ_เสาร์'.split('_'), // yes, three characters difference + weekdaysMin : 'à¸à¸²._จ._à¸._พ._พฤ._ศ._ส.'.split('_'), + weekdaysParseExact : true, + 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' + }, + meridiemParse: /à¸à¹ˆà¸à¸™à¹€à¸—ี่ยง|หลังเที่ยง/, + isPM: function (input) { + return input === 'หลังเที่ยง'; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'à¸à¹ˆà¸à¸™à¹€à¸—ี่ยง'; + } else { + return 'หลังเที่ยง'; + } + }, + calendar : { + sameDay : '[วันนี้ เวลา] LT', + nextDay : '[พรุ่งนี้ เวลา] LT', + nextWeek : 'dddd[หน้า เวลา] LT', + lastDay : '[เมื่à¸à¸§à¸²à¸™à¸™à¸µà¹‰ เวลา] LT', + lastWeek : '[วัน]dddd[ที่à¹à¸¥à¹‰à¸§ เวลา] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'à¸à¸µà¸ %s', + past : '%sที่à¹à¸¥à¹‰à¸§', + s : 'ไม่à¸à¸µà¹ˆà¸§à¸´à¸™à¸²à¸—ี', + ss : '%d วินาที', + m : '1 นาที', + mm : '%d นาที', + h : '1 ชั่วโมง', + hh : '%d ชั่วโมง', + d : '1 วัน', + dd : '%d วัน', + M : '1 เดืà¸à¸™', + MM : '%d เดืà¸à¸™', + y : '1 ปี', + yy : '%d ปี' + } + }); + + //! moment.js locale configuration + + moment.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 (number) { + return number; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_'); + + function translateFuture(output) { + var time = output; + time = (output.indexOf('jaj') !== -1) ? + time.slice(0, -3) + 'leS' : + (output.indexOf('jar') !== -1) ? + time.slice(0, -3) + 'waQ' : + (output.indexOf('DIS') !== -1) ? + time.slice(0, -3) + 'nem' : + time + ' pIq'; + return time; + } + + function translatePast(output) { + var time = output; + time = (output.indexOf('jaj') !== -1) ? + time.slice(0, -3) + 'Hu’' : + (output.indexOf('jar') !== -1) ? + time.slice(0, -3) + 'wen' : + (output.indexOf('DIS') !== -1) ? + time.slice(0, -3) + 'ben' : + time + ' ret'; + return time; + } + + function translate$a(number, withoutSuffix, string, isFuture) { + var numberNoun = numberAsNoun(number); + switch (string) { + case 'ss': + return numberNoun + ' lup'; + case 'mm': + return numberNoun + ' tup'; + case 'hh': + return numberNoun + ' rep'; + case 'dd': + return numberNoun + ' jaj'; + case 'MM': + return numberNoun + ' jar'; + case 'yy': + return numberNoun + ' DIS'; + } + } + + function numberAsNoun(number) { + var hundred = Math.floor((number % 1000) / 100), + ten = Math.floor((number % 100) / 10), + one = number % 10, + word = ''; + if (hundred > 0) { + word += numbersNouns[hundred] + 'vatlh'; + } + if (ten > 0) { + word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH'; + } + if (one > 0) { + word += ((word !== '') ? ' ' : '') + numbersNouns[one]; + } + return (word === '') ? 'pagh' : word; + } + + moment.defineLocale('tlh', { + months : 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'), + monthsShort : 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'), + monthsParseExact : true, + weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'), + weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'), + weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.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: '[DaHjaj] LT', + nextDay: '[wa’leS] LT', + nextWeek: 'LLL', + lastDay: '[wa’Hu’] LT', + lastWeek: 'LLL', + sameElse: 'L' + }, + relativeTime : { + future : translateFuture, + past : translatePast, + s : 'puS lup', + ss : translate$a, + m : 'wa’ tup', + mm : translate$a, + h : 'wa’ rep', + hh : translate$a, + d : 'wa’ jaj', + dd : translate$a, + M : 'wa’ jar', + MM : translate$a, + y : 'wa’ DIS', + yy : translate$a + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + var suffixes$4 = { + 1: '\'inci', + 5: '\'inci', + 8: '\'inci', + 70: '\'inci', + 80: '\'inci', + 2: '\'nci', + 7: '\'nci', + 20: '\'nci', + 50: '\'nci', + 3: '\'üncü', + 4: '\'üncü', + 100: '\'üncü', + 6: '\'ncı', + 9: '\'uncu', + 10: '\'uncu', + 30: '\'uncu', + 60: '\'ıncı', + 90: '\'ıncı' + }; + + moment.defineLocale('tr', { + months : 'Ocak_Åžubat_Mart_Nisan_Mayıs_Haziran_Temmuz_AÄŸustos_Eylül_Ekim_Kasım_Aralık'.split('_'), + monthsShort : 'Oca_Åžub_Mar_Nis_May_Haz_Tem_AÄŸu_Eyl_Eki_Kas_Ara'.split('_'), + weekdays : 'Pazar_Pazartesi_Salı_ÇarÅŸamba_PerÅŸembe_Cuma_Cumartesi'.split('_'), + weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'), + weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.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 : '[bugün saat] LT', + nextDay : '[yarın saat] LT', + nextWeek : '[gelecek] dddd [saat] LT', + lastDay : '[dün] LT', + lastWeek : '[geçen] dddd [saat] LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s sonra', + past : '%s önce', + s : 'birkaç saniye', + ss : '%d saniye', + m : 'bir dakika', + mm : '%d dakika', + h : 'bir saat', + hh : '%d saat', + d : 'bir gün', + dd : '%d gün', + M : 'bir ay', + MM : '%d ay', + y : 'bir yıl', + yy : '%d yıl' + }, + ordinal: function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'Do': + case 'DD': + return number; + default: + if (number === 0) { // special case for zero + return number + '\'ıncı'; + } + var a = number % 10, + b = number % 100 - a, + c = number >= 100 ? 100 : null; + return number + (suffixes$4[a] || suffixes$4[b] || suffixes$4[c]); + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals. + // This is currently too difficult (maybe even impossible) to add. + moment.defineLocale('tzl', { + months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'), + monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'), + weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'), + weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'), + weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'), + longDateFormat : { + LT : 'HH.mm', + LTS : 'HH.mm.ss', + L : 'DD.MM.YYYY', + LL : 'D. MMMM [dallas] YYYY', + LLL : 'D. MMMM [dallas] YYYY HH.mm', + LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm' + }, + meridiemParse: /d\'o|d\'a/i, + isPM : function (input) { + return 'd\'o' === input.toLowerCase(); + }, + meridiem : function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'd\'o' : 'D\'O'; + } else { + return isLower ? 'd\'a' : 'D\'A'; + } + }, + calendar : { + sameDay : '[oxhi à ] LT', + nextDay : '[demà à ] LT', + nextWeek : 'dddd [à ] LT', + lastDay : '[ieiri à ] LT', + lastWeek : '[sür el] dddd [lasteu à ] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'osprei %s', + past : 'ja%s', + s : processRelativeTime$7, + ss : processRelativeTime$7, + m : processRelativeTime$7, + mm : processRelativeTime$7, + h : processRelativeTime$7, + hh : processRelativeTime$7, + d : processRelativeTime$7, + dd : processRelativeTime$7, + M : processRelativeTime$7, + MM : processRelativeTime$7, + y : processRelativeTime$7, + yy : processRelativeTime$7 + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + function processRelativeTime$7(number, withoutSuffix, key, isFuture) { + var format = { + 's': ['viensas secunds', '\'iensas secunds'], + 'ss': [number + ' secunds', '' + number + ' secunds'], + 'm': ['\'n mÃut', '\'iens mÃut'], + 'mm': [number + ' mÃuts', '' + number + ' mÃuts'], + 'h': ['\'n þora', '\'iensa þora'], + 'hh': [number + ' þoras', '' + number + ' þoras'], + 'd': ['\'n ziua', '\'iensa ziua'], + 'dd': [number + ' ziuas', '' + number + ' ziuas'], + 'M': ['\'n mes', '\'iens mes'], + 'MM': [number + ' mesen', '' + number + ' mesen'], + 'y': ['\'n ar', '\'iens ar'], + 'yy': [number + ' ars', '' + number + ' ars'] + }; + return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]); + } + + //! moment.js locale configuration + + moment.defineLocale('tzm-latn', { + months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_É£wÅ¡t_Å¡wtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'), + monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_É£wÅ¡t_Å¡wtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'), + weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas'.split('_'), + weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas'.split('_'), + weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas'.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: '[asdkh g] LT', + nextDay: '[aska g] LT', + nextWeek: 'dddd [g] LT', + lastDay: '[assant g] LT', + lastWeek: 'dddd [g] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'dadkh s yan %s', + past : 'yan %s', + s : 'imik', + ss : '%d imik', + m : 'minuá¸', + mm : '%d minuá¸', + h : 'saÉ›a', + hh : '%d tassaÉ›in', + d : 'ass', + dd : '%d ossan', + M : 'ayowr', + MM : '%d iyyirn', + y : 'asgas', + yy : '%d isgasn' + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('tzm', { + 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 oⵙⵙⴰâµ', + M : 'â´°âµ¢oⵓⵔ', + MM : '%d ⵉⵢⵢⵉⵔâµ', + y : 'ⴰⵙⴳⴰⵙ', + yy : '%d ⵉⵙⴳⴰⵙâµ' + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } + }); + + //! moment.js language configuration + + moment.defineLocale('ug-cn', { + months: 'يانۋار_ÙÛۋرال_مارت_ئاپرÛÙ„_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سÛنتەبىر_ئۆكتەبىر_نويابىر_دÛكابىر'.split( + '_' + ), + monthsShort: 'يانۋار_ÙÛۋرال_مارت_ئاپرÛÙ„_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سÛنتەبىر_ئۆكتەبىر_نويابىر_دÛكابىر'.split( + '_' + ), + weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split( + '_' + ), + weekdaysShort: 'ÙŠÛ•_دۈ_سە_چا_Ù¾Û•_جۈ_Ø´Û•'.split('_'), + weekdaysMin: 'ÙŠÛ•_دۈ_سە_چا_Ù¾Û•_جۈ_Ø´Û•'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY-MM-DD', + LL: 'YYYY-يىلىM-ئاينىÚD-كۈنى', + LLL: 'YYYY-يىلىM-ئاينىÚD-كۈنى، HH:mm', + LLLL: 'ddddØŒ YYYY-يىلىM-ئاينىÚD-كۈنى، HH:mm' + }, + meridiemParse: /ÙŠÛØ±Ù‰Ù… ÙƒÛÚ†Û•|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن ÙƒÛيىن|ÙƒÛ•Ú†/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if ( + meridiem === 'ÙŠÛØ±Ù‰Ù… ÙƒÛÚ†Û•' || + meridiem === 'سەھەر' || + meridiem === 'چۈشتىن بۇرۇن' + ) { + return hour; + } else if (meridiem === 'چۈشتىن ÙƒÛيىن' || meridiem === 'ÙƒÛ•Ú†') { + return hour + 12; + } else { + return hour >= 11 ? hour : hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + var hm = hour * 100 + minute; + if (hm < 600) { + return 'ÙŠÛØ±Ù‰Ù… ÙƒÛÚ†Û•'; + } else if (hm < 900) { + return 'سەھەر'; + } else if (hm < 1130) { + return 'چۈشتىن بۇرۇن'; + } else if (hm < 1230) { + return 'چۈش'; + } else if (hm < 1800) { + return 'چۈشتىن ÙƒÛيىن'; + } else { + return 'ÙƒÛ•Ú†'; + } + }, + 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 (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + '-كۈنى'; + case 'w': + case 'W': + return number + '-ھەپتە'; + default: + return number; + } + }, + preparse: function (string) { + return string.replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/,/g, 'ØŒ'); + }, + week: { + // GB/T 7408-1994《数æ®å…ƒå’Œäº¤æ¢æ ¼å¼Â·ä¿¡æ¯äº¤æ¢Â·æ—¥æœŸå’Œæ—¶é—´è¡¨ç¤ºæ³•》与ISO 8601:1988ç‰æ•ˆ + dow: 1, // Monday is the first day of the week. + doy: 7 // The week that contains Jan 1st is the first week of the year. + } + }); + + //! moment.js locale configuration + + function plural$6(word, num) { + var forms = word.split('_'); + return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]); + } + function relativeTimeWithPlural$4(number, withoutSuffix, key) { + var format = { + 'ss': withoutSuffix ? 'Ñекунда_Ñекунди_Ñекунд' : 'Ñекунду_Ñекунди_Ñекунд', + 'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин', + 'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин', + 'dd': 'день_дні_днів', + 'MM': 'міÑÑць_міÑÑці_міÑÑців', + 'yy': 'рік_роки_років' + }; + if (key === 'm') { + return withoutSuffix ? 'хвилина' : 'хвилину'; + } + else if (key === 'h') { + return withoutSuffix ? 'година' : 'годину'; + } + else { + return number + ' ' + plural$6(format[key], +number); + } + } + function weekdaysCaseReplace(m, format) { + var weekdays = { + 'nominative': 'неділÑ_понеділок_вівторок_Ñереда_четвер_п’ÑтницÑ_Ñубота'.split('_'), + 'accusative': 'неділю_понеділок_вівторок_Ñереду_четвер_п’Ñтницю_Ñуботу'.split('_'), + 'genitive': 'неділі_понеділка_вівторка_Ñереди_четверга_п’Ñтниці_Ñуботи'.split('_') + }; + + if (m === true) { + return weekdays['nominative'].slice(1, 7).concat(weekdays['nominative'].slice(0, 1)); + } + if (!m) { + return weekdays['nominative']; + } + + var nounCase = (/(\[[ВвУу]\]) ?dddd/).test(format) ? + 'accusative' : + ((/\[?(?:минулої|наÑтупної)? ?\] ?dddd/).test(format) ? + 'genitive' : + 'nominative'); + return weekdays[nounCase][m.day()]; + } + function processHoursFunction(str) { + return function () { + return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT'; + }; + } + + moment.defineLocale('uk', { + months : { + 'format': 'ÑічнÑ_лютого_березнÑ_квітнÑ_травнÑ_червнÑ_липнÑ_ÑерпнÑ_вереÑнÑ_жовтнÑ_лиÑтопада_груднÑ'.split('_'), + 'standalone': 'Ñічень_лютий_березень_квітень_травень_червень_липень_Ñерпень_вереÑень_жовтень_лиÑтопад_грудень'.split('_') + }, + monthsShort : 'Ñіч_лют_бер_квіт_трав_черв_лип_Ñерп_вер_жовт_лиÑÑ‚_груд'.split('_'), + weekdays : weekdaysCaseReplace, + 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: processHoursFunction('[Сьогодні '), + nextDay: processHoursFunction('[Завтра '), + lastDay: processHoursFunction('[Вчора '), + nextWeek: processHoursFunction('[У] dddd ['), + lastWeek: function () { + switch (this.day()) { + case 0: + case 3: + case 5: + case 6: + return processHoursFunction('[Минулої] dddd [').call(this); + case 1: + case 2: + case 4: + return processHoursFunction('[Минулого] dddd [').call(this); + } + }, + sameElse: 'L' + }, + relativeTime : { + future : 'за %s', + past : '%s тому', + s : 'декілька Ñекунд', + ss : relativeTimeWithPlural$4, + m : relativeTimeWithPlural$4, + mm : relativeTimeWithPlural$4, + h : 'годину', + hh : relativeTimeWithPlural$4, + d : 'день', + dd : relativeTimeWithPlural$4, + M : 'міÑÑць', + MM : relativeTimeWithPlural$4, + y : 'рік', + yy : relativeTimeWithPlural$4 + }, + // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason + meridiemParse: /ночі|ранку|днÑ|вечора/, + isPM: function (input) { + return /^(днÑ|вечора)$/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'ночі'; + } else if (hour < 12) { + return 'ранку'; + } else if (hour < 17) { + return 'днÑ'; + } else { + return 'вечора'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/, + ordinal: function (number, period) { + switch (period) { + case 'M': + case 'd': + case 'DDD': + case 'w': + case 'W': + return number + '-й'; + case 'D': + return number + '-го'; + default: + return number; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var months$9 = [ + 'جنوری', + 'ÙØ±ÙˆØ±ÛŒ', + 'مارچ', + 'اپریل', + 'مئی', + 'جون', + 'جولائی', + 'اگست', + 'ستمبر', + 'اکتوبر', + 'نومبر', + 'دسمبر' + ]; + var days$1 = [ + 'اتوار', + 'پیر', + 'منگل', + 'بدھ', + 'جمعرات', + 'جمعÛ', + 'ÛÙØªÛ' + ]; + + moment.defineLocale('ur', { + months : months$9, + monthsShort : months$9, + weekdays : days$1, + weekdaysShort : days$1, + weekdaysMin : days$1, + 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 (input) { + return 'شام' === input; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'صبØ'; + } + return 'شام'; + }, + 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 (string) { + return string.replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/,/g, 'ØŒ'); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.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, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('uz', { + 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 : 'D MMMM YYYY, dddd 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 йил' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.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 : true, + 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 : true, + meridiemParse: /sa|ch/i, + isPM : function (input) { + return /^ch$/i.test(input); + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 12) { + return isLower ? 'sa' : 'SA'; + } else { + return isLower ? '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 (number) { + return number; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('x-pseudo', { + months : 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Ãp~rÃl_~Máý_~Júñé~_Júl~ý_Ãú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'), + monthsShort : 'J~áñ_~Féb_~Már_~Ãpr_~Máý_~Júñ_~Júl_~Ãúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'), + monthsParseExact : true, + weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~FrÃd~áý_S~átúr~dáý'.split('_'), + weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~FrÃ_~Sát'.split('_'), + weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + L : 'DD/MM/YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY HH:mm', + LLLL : 'dddd, D MMMM YYYY HH:mm' + }, + calendar : { + sameDay : '[T~ódá~ý át] LT', + nextDay : '[T~ómó~rró~w át] LT', + nextWeek : 'dddd [át] LT', + lastDay : '[Ã~ést~érdá~ý át] LT', + lastWeek : '[L~ást] dddd [át] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'Ã~ñ %s', + past : '%s á~gó', + s : 'á ~féw ~sécó~ñds', + ss : '%d s~écóñ~ds', + m : 'á ~mÃñ~úté', + mm : '%d m~Ãñú~tés', + h : 'á~ñ hó~úr', + hh : '%d h~óúrs', + d : 'á ~dáý', + dd : '%d d~áýs', + M : 'á ~móñ~th', + MM : '%d m~óñt~hs', + y : 'á ~ýéár', + yy : '%d ý~éárs' + }, + dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('yo', { + months : 'SẹÌrẹÌ_EÌ€reÌ€leÌ€_Ẹrẹ̀naÌ€_IÌ€gbeÌ_EÌ€bibi_OÌ€kuÌ€du_Agẹmo_OÌ€guÌn_Owewe_Ọ̀waÌ€raÌ€_BeÌluÌ_Ọ̀pẹ̀̀'.split('_'), + monthsShort : 'SẹÌr_EÌ€rl_Ẹrn_IÌ€gb_EÌ€bi_OÌ€kuÌ€_Agẹ_OÌ€guÌ_Owe_Ọ̀waÌ€_BeÌl_Ọ̀pẹ̀̀'.split('_'), + weekdays : 'AÌ€iÌ€kuÌ_AjeÌ_IÌ€sẹÌgun_Ọjá»ÌruÌ_Ọjá»Ìbá»_ẸtiÌ€_AÌ€baÌmẹÌta'.split('_'), + weekdaysShort : 'AÌ€iÌ€k_AjeÌ_IÌ€sẹÌ_Ọjr_Ọjb_ẸtiÌ€_AÌ€baÌ'.split('_'), + weekdaysMin : 'AÌ€iÌ€_Aj_IÌ€s_Ọr_Ọb_Ẹt_AÌ€b'.split('_'), + 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 : '[OÌ€niÌ€ ni] LT', + nextDay : '[Ọ̀la ni] LT', + nextWeek : 'dddd [Ọsẹ̀ toÌn\'bá»] [ni] LT', + lastDay : '[AÌ€na ni] LT', + lastWeek : 'dddd [Ọsẹ̀ toÌlá»Ì] [ni] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'niÌ %s', + past : '%s ká»jaÌ', + s : 'iÌ€sẹjuÌ aayaÌ die', + ss :'aayaÌ %d', + m : 'iÌ€sẹjuÌ kan', + mm : 'iÌ€sẹjuÌ %d', + h : 'waÌkati kan', + hh : 'waÌkati %d', + d : 'á»já»Ì kan', + dd : 'á»já»Ì %d', + M : 'osuÌ€ kan', + MM : 'osuÌ€ %d', + y : 'á»duÌn kan', + yy : 'á»duÌn %d' + }, + dayOfMonthOrdinalParse : /á»já»Ì\s\d{1,2}/, + ordinal : 'á»já»Ì %d', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('zh-cn', { + months : '一月_二月_三月_四月_五月_å…æœˆ_七月_八月_乿œˆ_åæœˆ_å一月_å二月'.split('_'), + monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), + weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期å…'.split('_'), + weekdaysShort : '周日_周一_周二_周三_周四_周五_周å…'.split('_'), + weekdaysMin : 'æ—¥_一_二_三_å››_五_å…'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY/MM/DD', + LL : 'YYYYå¹´M月Dæ—¥', + LLL : 'YYYYå¹´M月Dæ—¥Ah点mm分', + LLLL : 'YYYYå¹´M月Dæ—¥ddddAh点mm分', + l : 'YYYY/M/D', + ll : 'YYYYå¹´M月Dæ—¥', + lll : 'YYYYå¹´M月Dæ—¥ HH:mm', + llll : 'YYYYå¹´M月Dæ—¥dddd HH:mm' + }, + meridiemParse: /凌晨|早上|上åˆ|ä¸åˆ|下åˆ|晚上/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === '凌晨' || meridiem === '早上' || + meridiem === '上åˆ') { + return hour; + } else if (meridiem === '下åˆ' || meridiem === '晚上') { + return hour + 12; + } else { + // 'ä¸åˆ' + return hour >= 11 ? hour : hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + var hm = hour * 100 + minute; + if (hm < 600) { + return '凌晨'; + } else if (hm < 900) { + return '早上'; + } else if (hm < 1130) { + return '上åˆ'; + } else if (hm < 1230) { + return 'ä¸åˆ'; + } else if (hm < 1800) { + return '下åˆ'; + } else { + return '晚上'; + } + }, + calendar : { + sameDay : '[今天]LT', + nextDay : '[明天]LT', + nextWeek : '[下]ddddLT', + lastDay : '[昨天]LT', + lastWeek : '[上]ddddLT', + sameElse : 'L' + }, + dayOfMonthOrdinalParse: /\d{1,2}(æ—¥|月|周)/, + ordinal : function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + 'æ—¥'; + case 'M': + return number + '月'; + case 'w': + case 'W': + return number + '周'; + default: + return number; + } + }, + relativeTime : { + future : '%s内', + past : '%så‰', + s : 'å‡ ç§’', + ss : '%d ç§’', + m : '1 分钟', + mm : '%d 分钟', + h : '1 å°æ—¶', + hh : '%d å°æ—¶', + d : '1 天', + dd : '%d 天', + M : '1 个月', + MM : '%d 个月', + y : '1 å¹´', + yy : '%d å¹´' + }, + week : { + // GB/T 7408-1994《数æ®å…ƒå’Œäº¤æ¢æ ¼å¼Â·ä¿¡æ¯äº¤æ¢Â·æ—¥æœŸå’Œæ—¶é—´è¡¨ç¤ºæ³•》与ISO 8601:1988ç‰æ•ˆ + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + moment.defineLocale('zh-hk', { + months : '一月_二月_三月_四月_五月_å…æœˆ_七月_八月_乿œˆ_åæœˆ_å一月_å二月'.split('_'), + monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), + weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期å…'.split('_'), + weekdaysShort : '週日_週一_週二_週三_週四_週五_週å…'.split('_'), + weekdaysMin : 'æ—¥_一_二_三_å››_五_å…'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY/MM/DD', + LL : 'YYYYå¹´M月Dæ—¥', + LLL : 'YYYYå¹´M月Dæ—¥ HH:mm', + LLLL : 'YYYYå¹´M月Dæ—¥dddd HH:mm', + l : 'YYYY/M/D', + ll : 'YYYYå¹´M月Dæ—¥', + lll : 'YYYYå¹´M月Dæ—¥ HH:mm', + llll : 'YYYYå¹´M月Dæ—¥dddd HH:mm' + }, + meridiemParse: /凌晨|早上|上åˆ|ä¸åˆ|下åˆ|晚上/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上åˆ') { + return hour; + } else if (meridiem === 'ä¸åˆ') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === '下åˆ' || meridiem === '晚上') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + var hm = hour * 100 + minute; + if (hm < 600) { + return '凌晨'; + } else if (hm < 900) { + return '早上'; + } else if (hm < 1130) { + return '上åˆ'; + } else if (hm < 1230) { + return 'ä¸åˆ'; + } else if (hm < 1800) { + return '下åˆ'; + } else { + return '晚上'; + } + }, + calendar : { + sameDay : '[今天]LT', + nextDay : '[明天]LT', + nextWeek : '[下]ddddLT', + lastDay : '[昨天]LT', + lastWeek : '[上]ddddLT', + sameElse : 'L' + }, + dayOfMonthOrdinalParse: /\d{1,2}(æ—¥|月|週)/, + ordinal : function (number, period) { + switch (period) { + case 'd' : + case 'D' : + case 'DDD' : + return number + 'æ—¥'; + case 'M' : + return number + '月'; + case 'w' : + case 'W' : + return number + '週'; + default : + return number; + } + }, + relativeTime : { + future : '%så…§', + past : '%så‰', + s : '幾秒', + ss : '%d ç§’', + m : '1 分é˜', + mm : '%d 分é˜', + h : '1 å°æ™‚', + hh : '%d å°æ™‚', + d : '1 天', + dd : '%d 天', + M : '1 個月', + MM : '%d 個月', + y : '1 å¹´', + yy : '%d å¹´' + } + }); + + //! moment.js locale configuration + + moment.defineLocale('zh-tw', { + months : '一月_二月_三月_四月_五月_å…æœˆ_七月_八月_乿œˆ_åæœˆ_å一月_å二月'.split('_'), + monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), + weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期å…'.split('_'), + weekdaysShort : '週日_週一_週二_週三_週四_週五_週å…'.split('_'), + weekdaysMin : 'æ—¥_一_二_三_å››_五_å…'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY/MM/DD', + LL : 'YYYYå¹´M月Dæ—¥', + LLL : 'YYYYå¹´M月Dæ—¥ HH:mm', + LLLL : 'YYYYå¹´M月Dæ—¥dddd HH:mm', + l : 'YYYY/M/D', + ll : 'YYYYå¹´M月Dæ—¥', + lll : 'YYYYå¹´M月Dæ—¥ HH:mm', + llll : 'YYYYå¹´M月Dæ—¥dddd HH:mm' + }, + meridiemParse: /凌晨|早上|上åˆ|ä¸åˆ|下åˆ|晚上/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上åˆ') { + return hour; + } else if (meridiem === 'ä¸åˆ') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === '下åˆ' || meridiem === '晚上') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + var hm = hour * 100 + minute; + if (hm < 600) { + return '凌晨'; + } else if (hm < 900) { + return '早上'; + } else if (hm < 1130) { + return '上åˆ'; + } else if (hm < 1230) { + return 'ä¸åˆ'; + } else if (hm < 1800) { + return '下åˆ'; + } else { + return '晚上'; + } + }, + calendar : { + sameDay : '[今天] LT', + nextDay : '[明天] LT', + nextWeek : '[下]dddd LT', + lastDay : '[昨天] LT', + lastWeek : '[上]dddd LT', + sameElse : 'L' + }, + dayOfMonthOrdinalParse: /\d{1,2}(æ—¥|月|週)/, + ordinal : function (number, period) { + switch (period) { + case 'd' : + case 'D' : + case 'DDD' : + return number + 'æ—¥'; + case 'M' : + return number + '月'; + case 'w' : + case 'W' : + return number + '週'; + default : + return number; + } + }, + relativeTime : { + future : '%så…§', + past : '%så‰', + s : '幾秒', + ss : '%d ç§’', + m : '1 分é˜', + mm : '%d 分é˜', + h : '1 å°æ™‚', + hh : '%d å°æ™‚', + d : '1 天', + dd : '%d 天', + M : '1 個月', + MM : '%d 個月', + y : '1 å¹´', + yy : '%d å¹´' + } + }); + + moment.locale('en'); + + return moment; + +}))); diff --git a/public/bower_components/moment/min/locales.min.js b/public/bower_components/moment/min/locales.min.js new file mode 100644 index 0000000..c5c3475 --- /dev/null +++ b/public/bower_components/moment/min/locales.min.js @@ -0,0 +1 @@ +!function(e,a){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?a(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],a):a(e.moment)}(this,function(e){"use strict";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,a,_){return e<12?_?"vm":"VM":_?"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\xf4re 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||20<=e?"ste":"de")},week:{dow:1,doy:4}}),e.defineLocale("ar-dz",{months:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u0623\u062d_\u0625\u062b_\u062b\u0644\u0627_\u0623\u0631_\u062e\u0645_\u062c\u0645_\u0633\u0628".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:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:0,doy:4}}),e.defineLocale("ar-kw",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062a\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062a\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".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:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:0,doy:12}});var a={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},r=function(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5},i={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},_=function(n){return function(e,a,_,s){var d=r(e),t=i[n][r(e)];return 2===d&&(t=t[a?0:1]),t.replace(/%d/i,e)}},s=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"];e.defineLocale("ar-ly",{months:s,monthsShort:s,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,_){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:_("s"),ss:_("s"),m:_("m"),mm:_("m"),h:_("h"),hh:_("h"),d:_("d"),dd:_("d"),M:_("M"),MM:_("M"),y:_("y"),yy:_("y")},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return a[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}}),e.defineLocale("ar-ma",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062a\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062a\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".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:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:6,doy:12}});var d={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},t={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"};e.defineLocale("ar-sa",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".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:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,_){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return t[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return d[e]}).replace(/,/g,"\u060c")},week:{dow:0,doy:6}}),e.defineLocale("ar-tn",{months:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".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:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:1,doy:4}});var n={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},m={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},o=function(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5},u={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},l=function(n){return function(e,a,_,s){var d=o(e),t=u[n][o(e)];return 2===d&&(t=t[a?0:1]),t.replace(/%d/i,e)}},M=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"];e.defineLocale("ar",{months:M,monthsShort:M,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,_){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:l("s"),ss:l("s"),m:l("m"),mm:l("m"),h:l("h"),hh:l("h"),d:l("d"),dd:l("d"),M:l("M"),MM:l("M"),y:l("y"),yy:l("y")},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return m[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return n[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}});var L={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-\xfcnc\xfc",4:"-\xfcnc\xfc",100:"-\xfcnc\xfc",6:"-nc\u0131",9:"-uncu",10:"-uncu",30:"-uncu",60:"-\u0131nc\u0131",90:"-\u0131nc\u0131"};function Y(e,a,_){var s,d;return"m"===_?a?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443":"h"===_?a?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443":e+" "+(s=+e,d={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d",hh:a?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d",dd:"\u0434\u0437\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u0437\u0451\u043d",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u044b_\u043c\u0435\u0441\u044f\u0446\u0430\u045e",yy:"\u0433\u043e\u0434_\u0433\u0430\u0434\u044b_\u0433\u0430\u0434\u043e\u045e"}[_].split("_"),s%10==1&&s%100!=11?d[0]:2<=s%10&&s%10<=4&&(s%100<10||20<=s%100)?d[1]:d[2])}e.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ert\u0259si_\xc7\u0259r\u015f\u0259nb\u0259 ax\u015fam\u0131_\xc7\u0259r\u015f\u0259nb\u0259_C\xfcm\u0259 ax\u015fam\u0131_C\xfcm\u0259_\u015e\u0259nb\u0259".split("_"),weekdaysShort:"Baz_BzE_\xc7Ax_\xc7\u0259r_CAx_C\xfcm_\u015e\u0259n".split("_"),weekdaysMin:"Bz_BE_\xc7A_\xc7\u0259_CA_C\xfc_\u015e\u0259".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:"[bug\xfcn saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[g\u0259l\u0259n h\u0259ft\u0259] dddd [saat] LT",lastDay:"[d\xfcn\u0259n] LT",lastWeek:"[ke\xe7\u0259n h\u0259ft\u0259] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \u0259vv\u0259l",s:"birne\xe7\u0259 saniy\u0259",ss:"%d saniy\u0259",m:"bir d\u0259qiq\u0259",mm:"%d d\u0259qiq\u0259",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gec\u0259|s\u0259h\u0259r|g\xfcnd\xfcz|ax\u015fam/,isPM:function(e){return/^(g\xfcnd\xfcz|ax\u015fam)$/.test(e)},meridiem:function(e,a,_){return e<4?"gec\u0259":e<12?"s\u0259h\u0259r":e<17?"g\xfcnd\xfcz":"ax\u015fam"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0131nc\u0131|inci|nci|\xfcnc\xfc|nc\u0131|uncu)/,ordinal:function(e){if(0===e)return e+"-\u0131nc\u0131";var a=e%10;return e+(L[a]||L[e%100-a]||L[100<=e?100:null])},week:{dow:1,doy:7}}),e.defineLocale("be",{months:{format:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044f_\u043b\u044e\u0442\u0430\u0433\u0430_\u0441\u0430\u043a\u0430\u0432\u0456\u043a\u0430_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a\u0430_\u0442\u0440\u0430\u045e\u043d\u044f_\u0447\u044d\u0440\u0432\u0435\u043d\u044f_\u043b\u0456\u043f\u0435\u043d\u044f_\u0436\u043d\u0456\u045e\u043d\u044f_\u0432\u0435\u0440\u0430\u0441\u043d\u044f_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a\u0430_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434\u0430_\u0441\u043d\u0435\u0436\u043d\u044f".split("_"),standalone:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044c_\u043b\u044e\u0442\u044b_\u0441\u0430\u043a\u0430\u0432\u0456\u043a_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u044d\u0440\u0432\u0435\u043d\u044c_\u043b\u0456\u043f\u0435\u043d\u044c_\u0436\u043d\u0456\u0432\u0435\u043d\u044c_\u0432\u0435\u0440\u0430\u0441\u0435\u043d\u044c_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434_\u0441\u043d\u0435\u0436\u0430\u043d\u044c".split("_")},monthsShort:"\u0441\u0442\u0443\u0434_\u043b\u044e\u0442_\u0441\u0430\u043a_\u043a\u0440\u0430\u0441_\u0442\u0440\u0430\u0432_\u0447\u044d\u0440\u0432_\u043b\u0456\u043f_\u0436\u043d\u0456\u0432_\u0432\u0435\u0440_\u043a\u0430\u0441\u0442_\u043b\u0456\u0441\u0442_\u0441\u043d\u0435\u0436".split("_"),weekdays:{format:"\u043d\u044f\u0434\u0437\u0435\u043b\u044e_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0443_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0443_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),standalone:"\u043d\u044f\u0434\u0437\u0435\u043b\u044f_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0430_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0430_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),isFormat:/\[ ?[\u0423\u0443\u045e] ?(?:\u043c\u0456\u043d\u0443\u043b\u0443\u044e|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u0443\u044e)? ?\] ?dddd/},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., HH:mm",LLLL:"dddd, D MMMM YYYY \u0433., HH:mm"},calendar:{sameDay:"[\u0421\u0451\u043d\u043d\u044f \u045e] LT",nextDay:"[\u0417\u0430\u045e\u0442\u0440\u0430 \u045e] LT",lastDay:"[\u0423\u0447\u043e\u0440\u0430 \u045e] LT",nextWeek:function(){return"[\u0423] dddd [\u045e] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u0443\u044e] dddd [\u045e] LT";case 1:case 2:case 4:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u044b] dddd [\u045e] LT"}},sameElse:"L"},relativeTime:{future:"\u043f\u0440\u0430\u0437 %s",past:"%s \u0442\u0430\u043c\u0443",s:"\u043d\u0435\u043a\u0430\u043b\u044c\u043a\u0456 \u0441\u0435\u043a\u0443\u043d\u0434",m:Y,mm:Y,h:Y,hh:Y,d:"\u0434\u0437\u0435\u043d\u044c",dd:Y,M:"\u043c\u0435\u0441\u044f\u0446",MM:Y,y:"\u0433\u043e\u0434",yy:Y},meridiemParse:/\u043d\u043e\u0447\u044b|\u0440\u0430\u043d\u0456\u0446\u044b|\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430/,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430)$/.test(e)},meridiem:function(e,a,_){return e<4?"\u043d\u043e\u0447\u044b":e<12?"\u0440\u0430\u043d\u0456\u0446\u044b":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0430\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0456|\u044b|\u0433\u0430)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":case"w":case"W":return e%10!=2&&e%10!=3||e%100==12||e%100==13?e+"-\u044b":e+"-\u0456";case"D":return e+"-\u0433\u0430";default:return e}},week:{dow:1,doy:7}}),e.defineLocale("bg",{months:"\u044f\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u044f\u043d\u0440_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u044f\u0434\u0430_\u0447\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a_\u043f\u0435\u0442\u044a\u043a_\u0441\u044a\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u044f_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u044a\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u043d\u0435\u0441 \u0432] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432] LT",nextWeek:"dddd [\u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u0412 \u0438\u0437\u043c\u0438\u043d\u0430\u043b\u0430\u0442\u0430] dddd [\u0432] LT";case 1:case 2:case 4:case 5:return"[\u0412 \u0438\u0437\u043c\u0438\u043d\u0430\u043b\u0438\u044f] dddd [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0441\u043b\u0435\u0434 %s",past:"\u043f\u0440\u0435\u0434\u0438 %s",s:"\u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0434\u0435\u043d",dd:"%d \u0434\u043d\u0438",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0430",y:"\u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(e){var a=e%10,_=e%100;return 0===e?e+"-\u0435\u0432":0===_?e+"-\u0435\u043d":10<_&&_<20?e+"-\u0442\u0438":1===a?e+"-\u0432\u0438":2===a?e+"-\u0440\u0438":7===a||8===a?e+"-\u043c\u0438":e+"-\u0442\u0438"},week:{dow:1,doy:7}}),e.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_M\u025bkalo_Zuw\u025bnkalo_Zuluyekalo_Utikalo_S\u025btanburukalo_\u0254kut\u0254burukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_M\u025b_Zuw_Zul_Uti_S\u025bt_\u0254ku_Now_Des".split("_"),weekdays:"Kari_Nt\u025bn\u025bn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Nt\u025b_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm"},calendar:{sameDay:"[Bi l\u025br\u025b] LT",nextDay:"[Sini l\u025br\u025b] LT",nextWeek:"dddd [don l\u025br\u025b] LT",lastDay:"[Kunu l\u025br\u025b] LT",lastWeek:"dddd [t\u025bm\u025bnen l\u025br\u025b] LT",sameElse:"L"},relativeTime:{future:"%s k\u0254n\u0254",past:"a b\u025b %s b\u0254",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"l\u025br\u025b kelen",hh:"l\u025br\u025b %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}});var h={1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"},y={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"};e.defineLocale("bn",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09c0_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09bf_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0_\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0_\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0_\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split("_"),monthsShort:"\u099c\u09be\u09a8\u09c1_\u09ab\u09c7\u09ac_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2_\u0986\u0997_\u09b8\u09c7\u09aa\u09cd\u099f_\u0985\u0995\u09cd\u099f\u09cb_\u09a8\u09ad\u09c7_\u09a1\u09bf\u09b8\u09c7".split("_"),weekdays:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0_\u09b8\u09cb\u09ae\u09ac\u09be\u09b0_\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0_\u09ac\u09c1\u09a7\u09ac\u09be\u09b0_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0_\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0_\u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split("_"),weekdaysShort:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),weekdaysMin:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u0983_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),longDateFormat:{LT:"A h:mm \u09b8\u09ae\u09df",LTS:"A h:mm:ss \u09b8\u09ae\u09df",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u09b8\u09ae\u09df",LLLL:"dddd, D MMMM YYYY, A h:mm \u09b8\u09ae\u09df"},calendar:{sameDay:"[\u0986\u099c] LT",nextDay:"[\u0986\u0997\u09be\u09ae\u09c0\u0995\u09be\u09b2] LT",nextWeek:"dddd, LT",lastDay:"[\u0997\u09a4\u0995\u09be\u09b2] LT",lastWeek:"[\u0997\u09a4] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u09aa\u09b0\u09c7",past:"%s \u0986\u0997\u09c7",s:"\u0995\u09df\u09c7\u0995 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",ss:"%d \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",m:"\u098f\u0995 \u09ae\u09bf\u09a8\u09bf\u099f",mm:"%d \u09ae\u09bf\u09a8\u09bf\u099f",h:"\u098f\u0995 \u0998\u09a8\u09cd\u099f\u09be",hh:"%d \u0998\u09a8\u09cd\u099f\u09be",d:"\u098f\u0995 \u09a6\u09bf\u09a8",dd:"%d \u09a6\u09bf\u09a8",M:"\u098f\u0995 \u09ae\u09be\u09b8",MM:"%d \u09ae\u09be\u09b8",y:"\u098f\u0995 \u09ac\u099b\u09b0",yy:"%d \u09ac\u099b\u09b0"},preparse:function(e){return e.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(e){return y[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return h[e]})},meridiemParse:/\u09b0\u09be\u09a4|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b0\u09be\u09a4/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u09b0\u09be\u09a4"===a&&4<=e||"\u09a6\u09c1\u09aa\u09c1\u09b0"===a&&e<5||"\u09ac\u09bf\u0995\u09be\u09b2"===a?e+12:e},meridiem:function(e,a,_){return e<4?"\u09b0\u09be\u09a4":e<10?"\u09b8\u0995\u09be\u09b2":e<17?"\u09a6\u09c1\u09aa\u09c1\u09b0":e<20?"\u09ac\u09bf\u0995\u09be\u09b2":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}});var c={1:"\u0f21",2:"\u0f22",3:"\u0f23",4:"\u0f24",5:"\u0f25",6:"\u0f26",7:"\u0f27",8:"\u0f28",9:"\u0f29",0:"\u0f20"},k={"\u0f21":"1","\u0f22":"2","\u0f23":"3","\u0f24":"4","\u0f25":"5","\u0f26":"6","\u0f27":"7","\u0f28":"8","\u0f29":"9","\u0f20":"0"};function p(e,a,_){var s,d,t;return e+" "+(s={mm:"munutenn",MM:"miz",dd:"devezh"}[_],2!==e?s:void 0!==(t={m:"v",b:"v",d:"z"})[(d=s).charAt(0)]?t[d.charAt(0)]+d.substring(1):d)}function D(e,a,_){var s=e+" ";switch(_){case"ss":return s+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"m":return a?"jedna minuta":"jedne minute";case"mm":return s+=1===e?"minuta":2===e||3===e||4===e?"minute":"minuta";case"h":return a?"jedan sat":"jednog sata";case"hh":return s+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return s+=1===e?"dan":"dana";case"MM":return s+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return s+=1===e?"godina":2===e||3===e||4===e?"godine":"godina"}}e.defineLocale("bo",{months:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54".split("_"),monthsShort:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54".split("_"),weekdays:"\u0f42\u0f5f\u0f60\u0f0b\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f42\u0f5f\u0f60\u0f0b\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysShort:"\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysMin:"\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".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:"[\u0f51\u0f72\u0f0b\u0f62\u0f72\u0f44] LT",nextDay:"[\u0f66\u0f44\u0f0b\u0f49\u0f72\u0f53] LT",nextWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f62\u0f97\u0f7a\u0f66\u0f0b\u0f58], LT",lastDay:"[\u0f41\u0f0b\u0f66\u0f44] LT",lastWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f58\u0f50\u0f60\u0f0b\u0f58] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0f63\u0f0b",past:"%s \u0f66\u0f94\u0f53\u0f0b\u0f63",s:"\u0f63\u0f58\u0f0b\u0f66\u0f44",ss:"%d \u0f66\u0f90\u0f62\u0f0b\u0f46\u0f0d",m:"\u0f66\u0f90\u0f62\u0f0b\u0f58\u0f0b\u0f42\u0f45\u0f72\u0f42",mm:"%d \u0f66\u0f90\u0f62\u0f0b\u0f58",h:"\u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51\u0f0b\u0f42\u0f45\u0f72\u0f42",hh:"%d \u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51",d:"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f45\u0f72\u0f42",dd:"%d \u0f49\u0f72\u0f53\u0f0b",M:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f45\u0f72\u0f42",MM:"%d \u0f5f\u0fb3\u0f0b\u0f56",y:"\u0f63\u0f7c\u0f0b\u0f42\u0f45\u0f72\u0f42",yy:"%d \u0f63\u0f7c"},preparse:function(e){return e.replace(/[\u0f21\u0f22\u0f23\u0f24\u0f25\u0f26\u0f27\u0f28\u0f29\u0f20]/g,function(e){return k[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return c[e]})},meridiemParse:/\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c|\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66|\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44|\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42|\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"===a&&4<=e||"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44"===a&&e<5||"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42"===a?e+12:e},meridiem:function(e,a,_){return e<4?"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c":e<10?"\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66":e<17?"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44":e<20?"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42":"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"},week:{dow:0,doy:6}}),e.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondenno\xf9",ss:"%d eilenn",m:"ur vunutenn",mm:p,h:"un eur",hh:"%d eur",d:"un devezh",dd:p,M:"ur miz",MM:p,y:"ur bloaz",yy:function(e){switch(function e(a){return 9<a?e(a%10):a}(e)){case 1:case 3:case 4:case 5:case 9:return e+" bloaz";default:return e+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(a\xf1|vet)/,ordinal:function(e){return e+(1===e?"a\xf1":"vet")},week:{dow:1,doy:4}}),e.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".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:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[pro\u0161lu] dddd [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:D,m:D,mm:D,h:D,hh:D,d:"dan",dd:D,M:"mjesec",MM:D,y:"godinu",yy:D},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),e.defineLocale("ca",{months:{standalone:"gener_febrer_mar\xe7_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de mar\xe7_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._mar\xe7_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[dem\xe0 a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aqu\xed %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|\xe8|a)/,ordinal:function(e,a){var _=1===e?"r":2===e?"n":3===e?"r":4===e?"t":"\xe8";return"w"!==a&&"W"!==a||(_="a"),e+_},week:{dow:1,doy:4}});var T="leden_\xfanor_b\u0159ezen_duben_kv\u011bten_\u010derven_\u010dervenec_srpen_z\xe1\u0159\xed_\u0159\xedjen_listopad_prosinec".split("_"),f="led_\xfano_b\u0159e_dub_kv\u011b_\u010dvn_\u010dvc_srp_z\xe1\u0159_\u0159\xedj_lis_pro".split("_"),g=[/^led/i,/^\xfano/i,/^b\u0159e/i,/^dub/i,/^kv\u011b/i,/^(\u010dvn|\u010derven$|\u010dervna)/i,/^(\u010dvc|\u010dervenec|\u010dervence)/i,/^srp/i,/^z\xe1\u0159/i,/^\u0159\xedj/i,/^lis/i,/^pro/i],w=/^(leden|\xfanor|b\u0159ezen|duben|kv\u011bten|\u010dervenec|\u010dervence|\u010derven|\u010dervna|srpen|z\xe1\u0159\xed|\u0159\xedjen|listopad|prosinec|led|\xfano|b\u0159e|dub|kv\u011b|\u010dvn|\u010dvc|srp|z\xe1\u0159|\u0159\xedj|lis|pro)/i;function H(e){return 1<e&&e<5&&1!=~~(e/10)}function b(e,a,_,s){var d=e+" ";switch(_){case"s":return a||s?"p\xe1r sekund":"p\xe1r sekundami";case"ss":return a||s?d+(H(e)?"sekundy":"sekund"):d+"sekundami";break;case"m":return a?"minuta":s?"minutu":"minutou";case"mm":return a||s?d+(H(e)?"minuty":"minut"):d+"minutami";break;case"h":return a?"hodina":s?"hodinu":"hodinou";case"hh":return a||s?d+(H(e)?"hodiny":"hodin"):d+"hodinami";break;case"d":return a||s?"den":"dnem";case"dd":return a||s?d+(H(e)?"dny":"dn\xed"):d+"dny";break;case"M":return a||s?"m\u011bs\xedc":"m\u011bs\xedcem";case"MM":return a||s?d+(H(e)?"m\u011bs\xedce":"m\u011bs\xedc\u016f"):d+"m\u011bs\xedci";break;case"y":return a||s?"rok":"rokem";case"yy":return a||s?d+(H(e)?"roky":"let"):d+"lety";break}}function S(e,a,_,s){var d={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?d[_][0]:d[_][1]}function v(e,a,_,s){var d={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?d[_][0]:d[_][1]}function j(e,a,_,s){var d={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?d[_][0]:d[_][1]}e.defineLocale("cs",{months:T,monthsShort:f,monthsRegex:w,monthsShortRegex:w,monthsStrictRegex:/^(leden|ledna|\xfanora|\xfanor|b\u0159ezen|b\u0159ezna|duben|dubna|kv\u011bten|kv\u011btna|\u010dervenec|\u010dervence|\u010derven|\u010dervna|srpen|srpna|z\xe1\u0159\xed|\u0159\xedjen|\u0159\xedjna|listopadu|listopad|prosinec|prosince)/i,monthsShortStrictRegex:/^(led|\xfano|b\u0159e|dub|kv\u011b|\u010dvn|\u010dvc|srp|z\xe1\u0159|\u0159\xedj|lis|pro)/i,monthsParse:g,longMonthsParse:g,shortMonthsParse:g,weekdays:"ned\u011ble_pond\u011bl\xed_\xfater\xfd_st\u0159eda_\u010dtvrtek_p\xe1tek_sobota".split("_"),weekdaysShort:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),weekdaysMin:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),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",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[z\xedtra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v ned\u011bli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve st\u0159edu v] LT";case 4:return"[ve \u010dtvrtek v] LT";case 5:return"[v p\xe1tek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[v\u010dera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou ned\u011bli v] LT";case 1:case 2:return"[minul\xe9] dddd [v] LT";case 3:return"[minulou st\u0159edu v] LT";case 4:case 5:return"[minul\xfd] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"p\u0159ed %s",s:b,ss:b,m:b,mm:b,h:b,hh:b,d:b,dd:b,M:b,MM:b,y:b,yy:b},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("cv",{months:"\u043a\u04d1\u0440\u043b\u0430\u0447_\u043d\u0430\u0440\u04d1\u0441_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440\u0442\u043c\u0435_\u0443\u0442\u04d1_\u04ab\u0443\u0440\u043b\u0430_\u0430\u0432\u04d1\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448\u0442\u0430\u0432".split("_"),monthsShort:"\u043a\u04d1\u0440_\u043d\u0430\u0440_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440_\u0443\u0442\u04d1_\u04ab\u0443\u0440_\u0430\u0432\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448".split("_"),weekdays:"\u0432\u044b\u0440\u0441\u0430\u0440\u043d\u0438\u043a\u0443\u043d_\u0442\u0443\u043d\u0442\u0438\u043a\u0443\u043d_\u044b\u0442\u043b\u0430\u0440\u0438\u043a\u0443\u043d_\u044e\u043d\u043a\u0443\u043d_\u043a\u04d7\u04ab\u043d\u0435\u0440\u043d\u0438\u043a\u0443\u043d_\u044d\u0440\u043d\u0435\u043a\u0443\u043d_\u0448\u04d1\u043c\u0430\u0442\u043a\u0443\u043d".split("_"),weekdaysShort:"\u0432\u044b\u0440_\u0442\u0443\u043d_\u044b\u0442\u043b_\u044e\u043d_\u043a\u04d7\u04ab_\u044d\u0440\u043d_\u0448\u04d1\u043c".split("_"),weekdaysMin:"\u0432\u0440_\u0442\u043d_\u044b\u0442_\u044e\u043d_\u043a\u04ab_\u044d\u0440_\u0448\u043c".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7]",LLL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm",LLLL:"dddd, YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm"},calendar:{sameDay:"[\u041f\u0430\u044f\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextDay:"[\u042b\u0440\u0430\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastDay:"[\u04d6\u043d\u0435\u0440] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextWeek:"[\u04aa\u0438\u0442\u0435\u0441] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastWeek:"[\u0418\u0440\u0442\u043d\u04d7] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",sameElse:"L"},relativeTime:{future:function(e){return e+(/\u0441\u0435\u0445\u0435\u0442$/i.exec(e)?"\u0440\u0435\u043d":/\u04ab\u0443\u043b$/i.exec(e)?"\u0442\u0430\u043d":"\u0440\u0430\u043d")},past:"%s \u043a\u0430\u044f\u043b\u043b\u0430",s:"\u043f\u04d7\u0440-\u0438\u043a \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",ss:"%d \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",m:"\u043f\u04d7\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u043f\u04d7\u0440 \u0441\u0435\u0445\u0435\u0442",hh:"%d \u0441\u0435\u0445\u0435\u0442",d:"\u043f\u04d7\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u043f\u04d7\u0440 \u0443\u0439\u04d1\u0445",MM:"%d \u0443\u0439\u04d1\u0445",y:"\u043f\u04d7\u0440 \u04ab\u0443\u043b",yy:"%d \u04ab\u0443\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-\u043c\u04d7\u0448/,ordinal:"%d-\u043c\u04d7\u0448",week:{dow:1,doy:7}}),e.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".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:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn \xf4l",s:"ychydig eiliadau",ss:"%d eiliad",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(e){var a="";return 20<e?a=40===e||50===e||60===e||80===e||100===e?"fed":"ain":0<e&&(a=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][e]),e+a},week:{dow:1,doy:4}}),e.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8n_man_tir_ons_tor_fre_l\xf8r".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".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.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"p\xe5 dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"f\xe5 sekunder",ss:"%d sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"et \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("de-at",{months:"J\xe4nner_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"J\xe4n._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".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:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:S,mm:"%d Minuten",h:S,hh:"%d Stunden",d:S,dd:S,M:S,MM:S,y:S,yy:S},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("de-ch",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".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:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:v,mm:"%d Minuten",h:v,hh:"%d Stunden",d:v,dd:v,M:v,MM:v,y:v,yy:v},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("de",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".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:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:j,mm:"%d Minuten",h:j,hh:"%d Stunden",d:j,dd:j,M:j,MM:j,y:j,yy:j},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var x=["\u0796\u07ac\u0782\u07aa\u0787\u07a6\u0783\u07a9","\u078a\u07ac\u0784\u07b0\u0783\u07aa\u0787\u07a6\u0783\u07a9","\u0789\u07a7\u0783\u07a8\u0797\u07aa","\u0787\u07ad\u0795\u07b0\u0783\u07a9\u078d\u07aa","\u0789\u07ad","\u0796\u07ab\u0782\u07b0","\u0796\u07aa\u078d\u07a6\u0787\u07a8","\u0787\u07af\u078e\u07a6\u0790\u07b0\u0793\u07aa","\u0790\u07ac\u0795\u07b0\u0793\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0787\u07ae\u0786\u07b0\u0793\u07af\u0784\u07a6\u0783\u07aa","\u0782\u07ae\u0788\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0791\u07a8\u0790\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa"],P=["\u0787\u07a7\u078b\u07a8\u0787\u07b0\u078c\u07a6","\u0780\u07af\u0789\u07a6","\u0787\u07a6\u0782\u07b0\u078e\u07a7\u0783\u07a6","\u0784\u07aa\u078b\u07a6","\u0784\u07aa\u0783\u07a7\u0790\u07b0\u078a\u07a6\u078c\u07a8","\u0780\u07aa\u0786\u07aa\u0783\u07aa","\u0780\u07ae\u0782\u07a8\u0780\u07a8\u0783\u07aa"];e.defineLocale("dv",{months:x,monthsShort:x,weekdays:P,weekdaysShort:P,weekdaysMin:"\u0787\u07a7\u078b\u07a8_\u0780\u07af\u0789\u07a6_\u0787\u07a6\u0782\u07b0_\u0784\u07aa\u078b\u07a6_\u0784\u07aa\u0783\u07a7_\u0780\u07aa\u0786\u07aa_\u0780\u07ae\u0782\u07a8".split("_"),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:/\u0789\u0786|\u0789\u078a/,isPM:function(e){return"\u0789\u078a"===e},meridiem:function(e,a,_){return e<12?"\u0789\u0786":"\u0789\u078a"},calendar:{sameDay:"[\u0789\u07a8\u0787\u07a6\u078b\u07aa] LT",nextDay:"[\u0789\u07a7\u078b\u07a6\u0789\u07a7] LT",nextWeek:"dddd LT",lastDay:"[\u0787\u07a8\u0787\u07b0\u0794\u07ac] LT",lastWeek:"[\u078a\u07a7\u0787\u07a8\u078c\u07aa\u0788\u07a8] dddd LT",sameElse:"L"},relativeTime:{future:"\u078c\u07ac\u0783\u07ad\u078e\u07a6\u0787\u07a8 %s",past:"\u0786\u07aa\u0783\u07a8\u0782\u07b0 %s",s:"\u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa\u0786\u07ae\u0785\u07ac\u0787\u07b0",ss:"d% \u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa",m:"\u0789\u07a8\u0782\u07a8\u0793\u07ac\u0787\u07b0",mm:"\u0789\u07a8\u0782\u07a8\u0793\u07aa %d",h:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07ac\u0787\u07b0",hh:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07aa %d",d:"\u078b\u07aa\u0788\u07a6\u0780\u07ac\u0787\u07b0",dd:"\u078b\u07aa\u0788\u07a6\u0790\u07b0 %d",M:"\u0789\u07a6\u0780\u07ac\u0787\u07b0",MM:"\u0789\u07a6\u0790\u07b0 %d",y:"\u0787\u07a6\u0780\u07a6\u0783\u07ac\u0787\u07b0",yy:"\u0787\u07a6\u0780\u07a6\u0783\u07aa %d"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:7,doy:12}}),e.defineLocale("el",{monthsNominativeEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u039c\u03ac\u03c1\u03c4\u03b9\u03bf\u03c2_\u0391\u03c0\u03c1\u03af\u03bb\u03b9\u03bf\u03c2_\u039c\u03ac\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bd\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bb\u03b9\u03bf\u03c2_\u0391\u03cd\u03b3\u03bf\u03c5\u03c3\u03c4\u03bf\u03c2_\u03a3\u03b5\u03c0\u03c4\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u039f\u03ba\u03c4\u03ce\u03b2\u03c1\u03b9\u03bf\u03c2_\u039d\u03bf\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u0394\u03b5\u03ba\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2".split("_"),monthsGenitiveEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u039c\u03b1\u03c1\u03c4\u03af\u03bf\u03c5_\u0391\u03c0\u03c1\u03b9\u03bb\u03af\u03bf\u03c5_\u039c\u03b1\u0390\u03bf\u03c5_\u0399\u03bf\u03c5\u03bd\u03af\u03bf\u03c5_\u0399\u03bf\u03c5\u03bb\u03af\u03bf\u03c5_\u0391\u03c5\u03b3\u03bf\u03cd\u03c3\u03c4\u03bf\u03c5_\u03a3\u03b5\u03c0\u03c4\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5_\u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5".split("_"),months:function(e,a){return e?"string"==typeof a&&/D/.test(a.substring(0,a.indexOf("MMMM")))?this._monthsGenitiveEl[e.month()]:this._monthsNominativeEl[e.month()]:this._monthsNominativeEl},monthsShort:"\u0399\u03b1\u03bd_\u03a6\u03b5\u03b2_\u039c\u03b1\u03c1_\u0391\u03c0\u03c1_\u039c\u03b1\u03ca_\u0399\u03bf\u03c5\u03bd_\u0399\u03bf\u03c5\u03bb_\u0391\u03c5\u03b3_\u03a3\u03b5\u03c0_\u039f\u03ba\u03c4_\u039d\u03bf\u03b5_\u0394\u03b5\u03ba".split("_"),weekdays:"\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae_\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1_\u03a4\u03c1\u03af\u03c4\u03b7_\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7_\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7_\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae_\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf".split("_"),weekdaysShort:"\u039a\u03c5\u03c1_\u0394\u03b5\u03c5_\u03a4\u03c1\u03b9_\u03a4\u03b5\u03c4_\u03a0\u03b5\u03bc_\u03a0\u03b1\u03c1_\u03a3\u03b1\u03b2".split("_"),weekdaysMin:"\u039a\u03c5_\u0394\u03b5_\u03a4\u03c1_\u03a4\u03b5_\u03a0\u03b5_\u03a0\u03b1_\u03a3\u03b1".split("_"),meridiem:function(e,a,_){return 11<e?_?"\u03bc\u03bc":"\u039c\u039c":_?"\u03c0\u03bc":"\u03a0\u039c"},isPM:function(e){return"\u03bc"===(e+"").toLowerCase()[0]},meridiemParse:/[\u03a0\u039c]\.?\u039c?\.?/i,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"},calendarEl:{sameDay:"[\u03a3\u03ae\u03bc\u03b5\u03c1\u03b1 {}] LT",nextDay:"[\u0391\u03cd\u03c1\u03b9\u03bf {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[\u03a7\u03b8\u03b5\u03c2 {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[\u03c4\u03bf \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf] dddd [{}] LT";default:return"[\u03c4\u03b7\u03bd \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7] dddd [{}] LT"}},sameElse:"L"},calendar:function(e,a){var _,s=this._calendarEl[e],d=a&&a.hours();return((_=s)instanceof Function||"[object Function]"===Object.prototype.toString.call(_))&&(s=s.apply(a)),s.replace("{}",d%12==1?"\u03c3\u03c4\u03b7":"\u03c3\u03c4\u03b9\u03c2")},relativeTime:{future:"\u03c3\u03b5 %s",past:"%s \u03c0\u03c1\u03b9\u03bd",s:"\u03bb\u03af\u03b3\u03b1 \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",ss:"%d \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",m:"\u03ad\u03bd\u03b1 \u03bb\u03b5\u03c0\u03c4\u03cc",mm:"%d \u03bb\u03b5\u03c0\u03c4\u03ac",h:"\u03bc\u03af\u03b1 \u03ce\u03c1\u03b1",hh:"%d \u03ce\u03c1\u03b5\u03c2",d:"\u03bc\u03af\u03b1 \u03bc\u03ad\u03c1\u03b1",dd:"%d \u03bc\u03ad\u03c1\u03b5\u03c2",M:"\u03ad\u03bd\u03b1\u03c2 \u03bc\u03ae\u03bd\u03b1\u03c2",MM:"%d \u03bc\u03ae\u03bd\u03b5\u03c2",y:"\u03ad\u03bd\u03b1\u03c2 \u03c7\u03c1\u03cc\u03bd\u03bf\u03c2",yy:"%d \u03c7\u03c1\u03cc\u03bd\u03b9\u03b1"},dayOfMonthOrdinalParse:/\d{1,2}\u03b7/,ordinal:"%d\u03b7",week:{dow:1,doy:4}}),e.defineLocale("en-SG",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".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:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}}),e.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),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:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}}),e.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")}}),e.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".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:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}}),e.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".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:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}}),e.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".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:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")}}),e.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),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:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}}),e.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_a\u016dgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_a\u016dg_sep_okt_nov_dec".split("_"),weekdays:"diman\u0109o_lundo_mardo_merkredo_\u0135a\u016ddo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_\u0135a\u016d_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_\u0135a_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(e){return"p"===e.charAt(0).toLowerCase()},meridiem:function(e,a,_){return 11<e?_?"p.t.m.":"P.T.M.":_?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodia\u016d je] LT",nextDay:"[Morga\u016d je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hiera\u016d je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"anta\u016d %s",s:"sekundoj",ss:"%d sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}});var W="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),A="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),O=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],E=/^(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;e.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?A[e.month()]:W[e.month()]:W},monthsRegex:E,monthsShortRegex:E,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:O,longMonthsParse:O,shortMonthsParse:O,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".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\xf1ana 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\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}});var F="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),z="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),J=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],I=/^(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;e.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?z[e.month()]:F[e.month()]:F},monthsRegex:I,monthsShortRegex:I,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:J,longMonthsParse:J,shortMonthsParse:J,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/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\xf1ana 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\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:0,doy:6}});var N="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),R="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),K=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],C=/^(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;function G(e,a,_,s){var d={s:["m\xf5ne sekundi","m\xf5ni sekund","paar sekundit"],ss:[e+"sekundi",e+"sekundit"],m:["\xfche minuti","\xfcks minut"],mm:[e+" minuti",e+" minutit"],h:["\xfche tunni","tund aega","\xfcks tund"],hh:[e+" tunni",e+" tundi"],d:["\xfche p\xe4eva","\xfcks p\xe4ev"],M:["kuu aja","kuu aega","\xfcks kuu"],MM:[e+" kuu",e+" kuud"],y:["\xfche aasta","aasta","\xfcks aasta"],yy:[e+" aasta",e+" aastat"]};return a?d[_][2]?d[_][2]:d[_][1]:s?d[_][0]:d[_][1]}e.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?R[e.month()]:N[e.month()]:N},monthsRegex:C,monthsShortRegex:C,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:K,longMonthsParse:K,shortMonthsParse:K,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana 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\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),e.defineLocale("et",{months:"jaanuar_veebruar_m\xe4rts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_m\xe4rts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"p\xfchap\xe4ev_esmasp\xe4ev_teisip\xe4ev_kolmap\xe4ev_neljap\xe4ev_reede_laup\xe4ev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),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:"[T\xe4na,] LT",nextDay:"[Homme,] LT",nextWeek:"[J\xe4rgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s p\xe4rast",past:"%s tagasi",s:G,ss:G,m:G,mm:G,h:G,hh:G,d:G,dd:"%d p\xe4eva",M:G,MM:G,y:G,yy:G},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",ss:"%d segundo",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var B={1:"\u06f1",2:"\u06f2",3:"\u06f3",4:"\u06f4",5:"\u06f5",6:"\u06f6",7:"\u06f7",8:"\u06f8",9:"\u06f9",0:"\u06f0"},q={"\u06f1":"1","\u06f2":"2","\u06f3":"3","\u06f4":"4","\u06f5":"5","\u06f6":"6","\u06f7":"7","\u06f8":"8","\u06f9":"9","\u06f0":"0"};e.defineLocale("fa",{months:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),monthsShort:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),weekdays:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysShort:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u062c_\u0634".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:/\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631|\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/,isPM:function(e){return/\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/.test(e)},meridiem:function(e,a,_){return e<12?"\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631":"\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631"},calendar:{sameDay:"[\u0627\u0645\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",nextDay:"[\u0641\u0631\u062f\u0627 \u0633\u0627\u0639\u062a] LT",nextWeek:"dddd [\u0633\u0627\u0639\u062a] LT",lastDay:"[\u062f\u06cc\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",lastWeek:"dddd [\u067e\u06cc\u0634] [\u0633\u0627\u0639\u062a] LT",sameElse:"L"},relativeTime:{future:"\u062f\u0631 %s",past:"%s \u067e\u06cc\u0634",s:"\u0686\u0646\u062f \u062b\u0627\u0646\u06cc\u0647",ss:"\u062b\u0627\u0646\u06cc\u0647 d%",m:"\u06cc\u06a9 \u062f\u0642\u06cc\u0642\u0647",mm:"%d \u062f\u0642\u06cc\u0642\u0647",h:"\u06cc\u06a9 \u0633\u0627\u0639\u062a",hh:"%d \u0633\u0627\u0639\u062a",d:"\u06cc\u06a9 \u0631\u0648\u0632",dd:"%d \u0631\u0648\u0632",M:"\u06cc\u06a9 \u0645\u0627\u0647",MM:"%d \u0645\u0627\u0647",y:"\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/[\u06f0-\u06f9]/g,function(e){return q[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return B[e]}).replace(/,/g,"\u060c")},dayOfMonthOrdinalParse:/\d{1,2}\u0645/,ordinal:"%d\u0645",week:{dow:6,doy:12}});var U="nolla yksi kaksi kolme nelj\xe4 viisi kuusi seitsem\xe4n kahdeksan yhdeks\xe4n".split(" "),$=["nolla","yhden","kahden","kolmen","nelj\xe4n","viiden","kuuden",U[7],U[8],U[9]];function Q(e,a,_,s){var d,t,n="";switch(_){case"s":return s?"muutaman sekunnin":"muutama sekunti";case"ss":return s?"sekunnin":"sekuntia";case"m":return s?"minuutin":"minuutti";case"mm":n=s?"minuutin":"minuuttia";break;case"h":return s?"tunnin":"tunti";case"hh":n=s?"tunnin":"tuntia";break;case"d":return s?"p\xe4iv\xe4n":"p\xe4iv\xe4";case"dd":n=s?"p\xe4iv\xe4n":"p\xe4iv\xe4\xe4";break;case"M":return s?"kuukauden":"kuukausi";case"MM":n=s?"kuukauden":"kuukautta";break;case"y":return s?"vuoden":"vuosi";case"yy":n=s?"vuoden":"vuotta";break}return t=s,n=((d=e)<10?t?$[d]:U[d]:d)+" "+n}e.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kes\xe4kuu_hein\xe4kuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kes\xe4_hein\xe4_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[t\xe4n\xe4\xe4n] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s p\xe4\xe4st\xe4",past:"%s sitten",s:Q,ss:Q,m:Q,mm:Q,h:Q,hh:Q,d:Q,dd:Q,M:Q,MM:Q,y:Q,yy:Q},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("fo",{months:"januar_februar_mars_apr\xedl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_m\xe1nadagur_t\xfdsdagur_mikudagur_h\xf3sdagur_fr\xedggjadagur_leygardagur".split("_"),weekdaysShort:"sun_m\xe1n_t\xfds_mik_h\xf3s_fr\xed_ley".split("_"),weekdaysMin:"su_m\xe1_t\xfd_mi_h\xf3_fr_le".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:"[\xcd dag kl.] LT",nextDay:"[\xcd morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xcd gj\xe1r kl.] LT",lastWeek:"[s\xed\xf0stu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s s\xed\xf0ani",s:"f\xe1 sekund",ss:"%d sekundir",m:"ein minuttur",mm:"%d minuttir",h:"ein t\xedmi",hh:"%d t\xedmar",d:"ein dagur",dd:"%d dagar",M:"ein m\xe1na\xf0ur",MM:"%d m\xe1na\xf0ir",y:"eitt \xe1r",yy:"%d \xe1r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("fr-ca",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}}}),e.defineLocale("fr-ch",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".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:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}}),e.defineLocale("fr",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".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:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(e,a){switch(a){case"D":return e+(1===e?"er":"");default:case"M":case"Q":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}});var V="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),Z="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");e.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?Z[e.month()]:V[e.month()]:V},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".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:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[\xf4fr\xfbne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",ss:"%d sekonden",m:"ien min\xfat",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}});e.defineLocale("ga",{months:["Ean\xe1ir","Feabhra","M\xe1rta","Aibre\xe1n","Bealtaine","M\xe9itheamh","I\xfail","L\xfanasa","Me\xe1n F\xf3mhair","Deaireadh F\xf3mhair","Samhain","Nollaig"],monthsShort:["Ean\xe1","Feab","M\xe1rt","Aibr","Beal","M\xe9it","I\xfail","L\xfana","Me\xe1n","Deai","Samh","Noll"],monthsParseExact:!0,weekdays:["D\xe9 Domhnaigh","D\xe9 Luain","D\xe9 M\xe1irt","D\xe9 C\xe9adaoin","D\xe9ardaoin","D\xe9 hAoine","D\xe9 Satharn"],weekdaysShort:["Dom","Lua","M\xe1i","C\xe9a","D\xe9a","hAo","Sat"],weekdaysMin:["Do","Lu","M\xe1","Ce","D\xe9","hA","Sa"],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:"[Inniu ag] LT",nextDay:"[Am\xe1rach ag] LT",nextWeek:"dddd [ag] LT",lastDay:"[Inn\xe9 aig] LT",lastWeek:"dddd [seo caite] [ag] LT",sameElse:"L"},relativeTime:{future:"i %s",past:"%s \xf3 shin",s:"c\xfapla soicind",ss:"%d soicind",m:"n\xf3im\xe9ad",mm:"%d n\xf3im\xe9ad",h:"uair an chloig",hh:"%d uair an chloig",d:"l\xe1",dd:"%d l\xe1",M:"m\xed",MM:"%d m\xed",y:"bliain",yy:"%d bliain"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?"d":e%10==2?"na":"mh")},week:{dow:1,doy:4}});function X(e,a,_,s){var d={s:["thodde secondanim","thodde second"],ss:[e+" secondanim",e+" second"],m:["eka mintan","ek minute"],mm:[e+" mintanim",e+" mintam"],h:["eka voran","ek vor"],hh:[e+" voranim",e+" voram"],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 a?d[_][0]:d[_][1]}e.defineLocale("gd",{months:["Am Faoilleach","An Gearran","Am M\xe0rt","An Giblean","An C\xe8itean","An t-\xd2gmhios","An t-Iuchar","An L\xf9nastal","An t-Sultain","An D\xe0mhair","An t-Samhain","An D\xf9bhlachd"],monthsShort:["Faoi","Gear","M\xe0rt","Gibl","C\xe8it","\xd2gmh","Iuch","L\xf9n","Sult","D\xe0mh","Samh","D\xf9bh"],monthsParseExact:!0,weekdays:["Did\xf2mhnaich","Diluain","Dim\xe0irt","Diciadain","Diardaoin","Dihaoine","Disathairne"],weekdaysShort:["Did","Dil","Dim","Dic","Dia","Dih","Dis"],weekdaysMin:["D\xf2","Lu","M\xe0","Ci","Ar","Ha","Sa"],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:"[An-diugh aig] LT",nextDay:"[A-m\xe0ireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-d\xe8 aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"m\xecos",MM:"%d m\xecosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?"d":e%10==2?"na":"mh")},week:{dow:1,doy:4}}),e.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xu\xf1o_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xu\xf1._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_m\xe9rcores_xoves_venres_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._m\xe9r._xov._ven._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_m\xe9_xo_ve_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextDay:function(){return"[ma\xf1\xe1 "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"\xe1s":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"\xe1":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"\xe1s":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(e){return 0===e.indexOf("un")?"n"+e:"en "+e},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),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:X,ss:X,m:X,mm:X,h:X,hh:X,d:X,dd:X,M:X,MM:X,y:X,yy:X},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(e,a){switch(a){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,a){return 12===e&&(e=0),"rati"===a?e<4?e:e+12:"sokalli"===a?e:"donparam"===a?12<e?e:e+12:"sanje"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"rati":e<12?"sokalli":e<16?"donparam":e<20?"sanje":"rati"}});var ee={1:"\u0ae7",2:"\u0ae8",3:"\u0ae9",4:"\u0aea",5:"\u0aeb",6:"\u0aec",7:"\u0aed",8:"\u0aee",9:"\u0aef",0:"\u0ae6"},ae={"\u0ae7":"1","\u0ae8":"2","\u0ae9":"3","\u0aea":"4","\u0aeb":"5","\u0aec":"6","\u0aed":"7","\u0aee":"8","\u0aef":"9","\u0ae6":"0"};e.defineLocale("gu",{months:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1\u0a86\u0ab0\u0ac0_\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1\u0a86\u0ab0\u0ac0_\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2_\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe\u0a88_\u0a91\u0a97\u0ab8\u0acd\u0a9f_\u0ab8\u0aaa\u0acd\u0a9f\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0a91\u0a95\u0acd\u0a9f\u0acd\u0aac\u0ab0_\u0aa8\u0ab5\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0aa1\u0abf\u0ab8\u0ac7\u0aae\u0acd\u0aac\u0ab0".split("_"),monthsShort:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1._\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1._\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf._\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe._\u0a91\u0a97._\u0ab8\u0aaa\u0acd\u0a9f\u0ac7._\u0a91\u0a95\u0acd\u0a9f\u0acd._\u0aa8\u0ab5\u0ac7._\u0aa1\u0abf\u0ab8\u0ac7.".split("_"),monthsParseExact:!0,weekdays:"\u0ab0\u0ab5\u0abf\u0ab5\u0abe\u0ab0_\u0ab8\u0acb\u0aae\u0ab5\u0abe\u0ab0_\u0aae\u0a82\u0a97\u0ab3\u0ab5\u0abe\u0ab0_\u0aac\u0ac1\u0aa7\u0acd\u0ab5\u0abe\u0ab0_\u0a97\u0ac1\u0ab0\u0ac1\u0ab5\u0abe\u0ab0_\u0ab6\u0ac1\u0a95\u0acd\u0ab0\u0ab5\u0abe\u0ab0_\u0ab6\u0aa8\u0abf\u0ab5\u0abe\u0ab0".split("_"),weekdaysShort:"\u0ab0\u0ab5\u0abf_\u0ab8\u0acb\u0aae_\u0aae\u0a82\u0a97\u0ab3_\u0aac\u0ac1\u0aa7\u0acd_\u0a97\u0ac1\u0ab0\u0ac1_\u0ab6\u0ac1\u0a95\u0acd\u0ab0_\u0ab6\u0aa8\u0abf".split("_"),weekdaysMin:"\u0ab0_\u0ab8\u0acb_\u0aae\u0a82_\u0aac\u0ac1_\u0a97\u0ac1_\u0ab6\u0ac1_\u0ab6".split("_"),longDateFormat:{LT:"A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LTS:"A h:mm:ss \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LLLL:"dddd, D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7"},calendar:{sameDay:"[\u0a86\u0a9c] LT",nextDay:"[\u0a95\u0abe\u0ab2\u0ac7] LT",nextWeek:"dddd, LT",lastDay:"[\u0a97\u0a87\u0a95\u0abe\u0ab2\u0ac7] LT",lastWeek:"[\u0aaa\u0abe\u0a9b\u0ab2\u0abe] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0aae\u0abe",past:"%s \u0aaa\u0ac7\u0ab9\u0ab2\u0abe",s:"\u0a85\u0aae\u0ac1\u0a95 \u0aaa\u0ab3\u0acb",ss:"%d \u0ab8\u0ac7\u0a95\u0a82\u0aa1",m:"\u0a8f\u0a95 \u0aae\u0abf\u0aa8\u0abf\u0a9f",mm:"%d \u0aae\u0abf\u0aa8\u0abf\u0a9f",h:"\u0a8f\u0a95 \u0a95\u0ab2\u0abe\u0a95",hh:"%d \u0a95\u0ab2\u0abe\u0a95",d:"\u0a8f\u0a95 \u0aa6\u0abf\u0ab5\u0ab8",dd:"%d \u0aa6\u0abf\u0ab5\u0ab8",M:"\u0a8f\u0a95 \u0aae\u0ab9\u0abf\u0aa8\u0acb",MM:"%d \u0aae\u0ab9\u0abf\u0aa8\u0acb",y:"\u0a8f\u0a95 \u0ab5\u0ab0\u0acd\u0ab7",yy:"%d \u0ab5\u0ab0\u0acd\u0ab7"},preparse:function(e){return e.replace(/[\u0ae7\u0ae8\u0ae9\u0aea\u0aeb\u0aec\u0aed\u0aee\u0aef\u0ae6]/g,function(e){return ae[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return ee[e]})},meridiemParse:/\u0ab0\u0abe\u0aa4|\u0aac\u0aaa\u0acb\u0ab0|\u0ab8\u0ab5\u0abe\u0ab0|\u0ab8\u0abe\u0a82\u0a9c/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0ab0\u0abe\u0aa4"===a?e<4?e:e+12:"\u0ab8\u0ab5\u0abe\u0ab0"===a?e:"\u0aac\u0aaa\u0acb\u0ab0"===a?10<=e?e:e+12:"\u0ab8\u0abe\u0a82\u0a9c"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0ab0\u0abe\u0aa4":e<10?"\u0ab8\u0ab5\u0abe\u0ab0":e<17?"\u0aac\u0aaa\u0acb\u0ab0":e<20?"\u0ab8\u0abe\u0a82\u0a9c":"\u0ab0\u0abe\u0aa4"},week:{dow:0,doy:6}}),e.defineLocale("he",{months:"\u05d9\u05e0\u05d5\u05d0\u05e8_\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05d9\u05dc_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8_\u05e1\u05e4\u05d8\u05de\u05d1\u05e8_\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8_\u05e0\u05d5\u05d1\u05de\u05d1\u05e8_\u05d3\u05e6\u05de\u05d1\u05e8".split("_"),monthsShort:"\u05d9\u05e0\u05d5\u05f3_\u05e4\u05d1\u05e8\u05f3_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05f3_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05f3_\u05e1\u05e4\u05d8\u05f3_\u05d0\u05d5\u05e7\u05f3_\u05e0\u05d5\u05d1\u05f3_\u05d3\u05e6\u05de\u05f3".split("_"),weekdays:"\u05e8\u05d0\u05e9\u05d5\u05df_\u05e9\u05e0\u05d9_\u05e9\u05dc\u05d9\u05e9\u05d9_\u05e8\u05d1\u05d9\u05e2\u05d9_\u05d7\u05de\u05d9\u05e9\u05d9_\u05e9\u05d9\u05e9\u05d9_\u05e9\u05d1\u05ea".split("_"),weekdaysShort:"\u05d0\u05f3_\u05d1\u05f3_\u05d2\u05f3_\u05d3\u05f3_\u05d4\u05f3_\u05d5\u05f3_\u05e9\u05f3".split("_"),weekdaysMin:"\u05d0_\u05d1_\u05d2_\u05d3_\u05d4_\u05d5_\u05e9".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [\u05d1]MMMM YYYY",LLL:"D [\u05d1]MMMM YYYY HH:mm",LLLL:"dddd, D [\u05d1]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[\u05d4\u05d9\u05d5\u05dd \u05d1\u05be]LT",nextDay:"[\u05de\u05d7\u05e8 \u05d1\u05be]LT",nextWeek:"dddd [\u05d1\u05e9\u05e2\u05d4] LT",lastDay:"[\u05d0\u05ea\u05de\u05d5\u05dc \u05d1\u05be]LT",lastWeek:"[\u05d1\u05d9\u05d5\u05dd] dddd [\u05d4\u05d0\u05d7\u05e8\u05d5\u05df \u05d1\u05e9\u05e2\u05d4] LT",sameElse:"L"},relativeTime:{future:"\u05d1\u05e2\u05d5\u05d3 %s",past:"\u05dc\u05e4\u05e0\u05d9 %s",s:"\u05de\u05e1\u05e4\u05e8 \u05e9\u05e0\u05d9\u05d5\u05ea",ss:"%d \u05e9\u05e0\u05d9\u05d5\u05ea",m:"\u05d3\u05e7\u05d4",mm:"%d \u05d3\u05e7\u05d5\u05ea",h:"\u05e9\u05e2\u05d4",hh:function(e){return 2===e?"\u05e9\u05e2\u05ea\u05d9\u05d9\u05dd":e+" \u05e9\u05e2\u05d5\u05ea"},d:"\u05d9\u05d5\u05dd",dd:function(e){return 2===e?"\u05d9\u05d5\u05de\u05d9\u05d9\u05dd":e+" \u05d9\u05de\u05d9\u05dd"},M:"\u05d7\u05d5\u05d3\u05e9",MM:function(e){return 2===e?"\u05d7\u05d5\u05d3\u05e9\u05d9\u05d9\u05dd":e+" \u05d7\u05d5\u05d3\u05e9\u05d9\u05dd"},y:"\u05e9\u05e0\u05d4",yy:function(e){return 2===e?"\u05e9\u05e0\u05ea\u05d9\u05d9\u05dd":e%10==0&&10!==e?e+" \u05e9\u05e0\u05d4":e+" \u05e9\u05e0\u05d9\u05dd"}},meridiemParse:/\u05d0\u05d7\u05d4"\u05e6|\u05dc\u05e4\u05e0\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8|\u05d1\u05d1\u05d5\u05e7\u05e8|\u05d1\u05e2\u05e8\u05d1/i,isPM:function(e){return/^(\u05d0\u05d7\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05d1\u05e2\u05e8\u05d1)$/.test(e)},meridiem:function(e,a,_){return e<5?"\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8":e<10?"\u05d1\u05d1\u05d5\u05e7\u05e8":e<12?_?'\u05dc\u05e4\u05e0\u05d4"\u05e6':"\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":e<18?_?'\u05d0\u05d7\u05d4"\u05e6':"\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":"\u05d1\u05e2\u05e8\u05d1"}});var _e={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},se={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};function de(e,a,_){var s=e+" ";switch(_){case"ss":return s+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"m":return a?"jedna minuta":"jedne minute";case"mm":return s+=1===e?"minuta":2===e||3===e||4===e?"minute":"minuta";case"h":return a?"jedan sat":"jednog sata";case"hh":return s+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return s+=1===e?"dan":"dana";case"MM":return s+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return s+=1===e?"godina":2===e||3===e||4===e?"godine":"godina"}}e.defineLocale("hi",{months:"\u091c\u0928\u0935\u0930\u0940_\u092b\u093c\u0930\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948\u0932_\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0938\u094d\u0924_\u0938\u093f\u0924\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u0942\u092c\u0930_\u0928\u0935\u092e\u094d\u092c\u0930_\u0926\u093f\u0938\u092e\u094d\u092c\u0930".split("_"),monthsShort:"\u091c\u0928._\u092b\u093c\u0930._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948._\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932._\u0905\u0917._\u0938\u093f\u0924._\u0905\u0915\u094d\u091f\u0942._\u0928\u0935._\u0926\u093f\u0938.".split("_"),monthsParseExact:!0,weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0932\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0932_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u092c\u091c\u0947",LTS:"A h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A h:mm \u092c\u091c\u0947"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0915\u0932] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u0932] LT",lastWeek:"[\u092a\u093f\u091b\u0932\u0947] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u092e\u0947\u0902",past:"%s \u092a\u0939\u0932\u0947",s:"\u0915\u0941\u091b \u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0902\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u091f",mm:"%d \u092e\u093f\u0928\u091f",h:"\u090f\u0915 \u0918\u0902\u091f\u093e",hh:"%d \u0918\u0902\u091f\u0947",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u0940\u0928\u0947",MM:"%d \u092e\u0939\u0940\u0928\u0947",y:"\u090f\u0915 \u0935\u0930\u094d\u0937",yy:"%d \u0935\u0930\u094d\u0937"},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return se[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return _e[e]})},meridiemParse:/\u0930\u093e\u0924|\u0938\u0941\u092c\u0939|\u0926\u094b\u092a\u0939\u0930|\u0936\u093e\u092e/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924"===a?e<4?e:e+12:"\u0938\u0941\u092c\u0939"===a?e:"\u0926\u094b\u092a\u0939\u0930"===a?10<=e?e:e+12:"\u0936\u093e\u092e"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0930\u093e\u0924":e<10?"\u0938\u0941\u092c\u0939":e<17?"\u0926\u094b\u092a\u0939\u0930":e<20?"\u0936\u093e\u092e":"\u0930\u093e\u0924"},week:{dow:0,doy:6}}),e.defineLocale("hr",{months:{format:"sije\u010dnja_velja\u010de_o\u017eujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"sije\u010danj_velja\u010da_o\u017eujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._o\u017eu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".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:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[pro\u0161lu] dddd [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:de,m:de,mm:de,h:de,hh:de,d:"dan",dd:de,M:"mjesec",MM:de,y:"godinu",yy:de},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var te="vas\xe1rnap h\xe9tf\u0151n kedden szerd\xe1n cs\xfct\xf6rt\xf6k\xf6n p\xe9nteken szombaton".split(" ");function ne(e,a,_,s){var d=e;switch(_){case"s":return s||a?"n\xe9h\xe1ny m\xe1sodperc":"n\xe9h\xe1ny m\xe1sodperce";case"ss":return d+(s||a)?" m\xe1sodperc":" m\xe1sodperce";case"m":return"egy"+(s||a?" perc":" perce");case"mm":return d+(s||a?" perc":" perce");case"h":return"egy"+(s||a?" \xf3ra":" \xf3r\xe1ja");case"hh":return d+(s||a?" \xf3ra":" \xf3r\xe1ja");case"d":return"egy"+(s||a?" nap":" napja");case"dd":return d+(s||a?" nap":" napja");case"M":return"egy"+(s||a?" h\xf3nap":" h\xf3napja");case"MM":return d+(s||a?" h\xf3nap":" h\xf3napja");case"y":return"egy"+(s||a?" \xe9v":" \xe9ve");case"yy":return d+(s||a?" \xe9v":" \xe9ve")}return""}function re(e){return(e?"":"[m\xfalt] ")+"["+te[this.day()]+"] LT[-kor]"}function ie(e){return e%100==11||e%10!=1}function me(e,a,_,s){var d=e+" ";switch(_){case"s":return a||s?"nokkrar sek\xfandur":"nokkrum sek\xfandum";case"ss":return ie(e)?d+(a||s?"sek\xfandur":"sek\xfandum"):d+"sek\xfanda";case"m":return a?"m\xedn\xfata":"m\xedn\xfatu";case"mm":return ie(e)?d+(a||s?"m\xedn\xfatur":"m\xedn\xfatum"):a?d+"m\xedn\xfata":d+"m\xedn\xfatu";case"hh":return ie(e)?d+(a||s?"klukkustundir":"klukkustundum"):d+"klukkustund";case"d":return a?"dagur":s?"dag":"degi";case"dd":return ie(e)?a?d+"dagar":d+(s?"daga":"d\xf6gum"):a?d+"dagur":d+(s?"dag":"degi");case"M":return a?"m\xe1nu\xf0ur":s?"m\xe1nu\xf0":"m\xe1nu\xf0i";case"MM":return ie(e)?a?d+"m\xe1nu\xf0ir":d+(s?"m\xe1nu\xf0i":"m\xe1nu\xf0um"):a?d+"m\xe1nu\xf0ur":d+(s?"m\xe1nu\xf0":"m\xe1nu\xf0i");case"y":return a||s?"\xe1r":"\xe1ri";case"yy":return ie(e)?d+(a||s?"\xe1r":"\xe1rum"):d+(a||s?"\xe1r":"\xe1ri")}}e.defineLocale("hu",{months:"janu\xe1r_febru\xe1r_m\xe1rcius_\xe1prilis_m\xe1jus_j\xfanius_j\xfalius_augusztus_szeptember_okt\xf3ber_november_december".split("_"),monthsShort:"jan_feb_m\xe1rc_\xe1pr_m\xe1j_j\xfan_j\xfal_aug_szept_okt_nov_dec".split("_"),weekdays:"vas\xe1rnap_h\xe9tf\u0151_kedd_szerda_cs\xfct\xf6rt\xf6k_p\xe9ntek_szombat".split("_"),weekdaysShort:"vas_h\xe9t_kedd_sze_cs\xfct_p\xe9n_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(e){return"u"===e.charAt(1).toLowerCase()},meridiem:function(e,a,_){return e<12?!0===_?"de":"DE":!0===_?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return re.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return re.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s m\xfalva",past:"%s",s:ne,ss:ne,m:ne,mm:ne,h:ne,hh:ne,d:ne,dd:ne,M:ne,MM:ne,y:ne,yy:ne},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("hy-am",{months:{format:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580\u056b_\u0583\u0565\u057f\u0580\u057e\u0561\u0580\u056b_\u0574\u0561\u0580\u057f\u056b_\u0561\u057a\u0580\u056b\u056c\u056b_\u0574\u0561\u0575\u056b\u057d\u056b_\u0570\u0578\u0582\u0576\u056b\u057d\u056b_\u0570\u0578\u0582\u056c\u056b\u057d\u056b_\u0585\u0563\u0578\u057d\u057f\u0578\u057d\u056b_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580\u056b_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b".split("_"),standalone:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580_\u0583\u0565\u057f\u0580\u057e\u0561\u0580_\u0574\u0561\u0580\u057f_\u0561\u057a\u0580\u056b\u056c_\u0574\u0561\u0575\u056b\u057d_\u0570\u0578\u0582\u0576\u056b\u057d_\u0570\u0578\u0582\u056c\u056b\u057d_\u0585\u0563\u0578\u057d\u057f\u0578\u057d_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580".split("_")},monthsShort:"\u0570\u0576\u057e_\u0583\u057f\u0580_\u0574\u0580\u057f_\u0561\u057a\u0580_\u0574\u0575\u057d_\u0570\u0576\u057d_\u0570\u056c\u057d_\u0585\u0563\u057d_\u057d\u057a\u057f_\u0570\u056f\u057f_\u0576\u0574\u0562_\u0564\u056f\u057f".split("_"),weekdays:"\u056f\u056b\u0580\u0561\u056f\u056b_\u0565\u0580\u056f\u0578\u0582\u0577\u0561\u0562\u0569\u056b_\u0565\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0579\u0578\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0570\u056b\u0576\u0563\u0577\u0561\u0562\u0569\u056b_\u0578\u0582\u0580\u0562\u0561\u0569_\u0577\u0561\u0562\u0561\u0569".split("_"),weekdaysShort:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),weekdaysMin:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0569.",LLL:"D MMMM YYYY \u0569., HH:mm",LLLL:"dddd, D MMMM YYYY \u0569., HH:mm"},calendar:{sameDay:"[\u0561\u0575\u057d\u0585\u0580] LT",nextDay:"[\u057e\u0561\u0572\u0568] LT",lastDay:"[\u0565\u0580\u0565\u056f] LT",nextWeek:function(){return"dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},lastWeek:function(){return"[\u0561\u0576\u0581\u0561\u056e] dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},sameElse:"L"},relativeTime:{future:"%s \u0570\u0565\u057f\u0578",past:"%s \u0561\u057c\u0561\u057b",s:"\u0574\u056b \u0584\u0561\u0576\u056b \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",ss:"%d \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",m:"\u0580\u0578\u057a\u0565",mm:"%d \u0580\u0578\u057a\u0565",h:"\u056a\u0561\u0574",hh:"%d \u056a\u0561\u0574",d:"\u0585\u0580",dd:"%d \u0585\u0580",M:"\u0561\u0574\u056b\u057d",MM:"%d \u0561\u0574\u056b\u057d",y:"\u057f\u0561\u0580\u056b",yy:"%d \u057f\u0561\u0580\u056b"},meridiemParse:/\u0563\u056b\u0577\u0565\u0580\u057e\u0561|\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561|\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576/,isPM:function(e){return/^(\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576)$/.test(e)},meridiem:function(e){return e<4?"\u0563\u056b\u0577\u0565\u0580\u057e\u0561":e<12?"\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561":e<17?"\u0581\u0565\u0580\u0565\u056f\u057e\u0561":"\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(\u056b\u0576|\u0580\u0564)/,ordinal:function(e,a){switch(a){case"DDD":case"w":case"W":case"DDDo":return 1===e?e+"-\u056b\u0576":e+"-\u0580\u0564";default:return e}},week:{dow:1,doy:7}}),e.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"siang"===a?11<=e?e:e+12:"sore"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,_){return e<11?"pagi":e<15?"siang":e<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),e.defineLocale("is",{months:"jan\xfaar_febr\xfaar_mars_apr\xedl_ma\xed_j\xfan\xed_j\xfal\xed_\xe1g\xfast_september_okt\xf3ber_n\xf3vember_desember".split("_"),monthsShort:"jan_feb_mar_apr_ma\xed_j\xfan_j\xfal_\xe1g\xfa_sep_okt_n\xf3v_des".split("_"),weekdays:"sunnudagur_m\xe1nudagur_\xferi\xf0judagur_mi\xf0vikudagur_fimmtudagur_f\xf6studagur_laugardagur".split("_"),weekdaysShort:"sun_m\xe1n_\xferi_mi\xf0_fim_f\xf6s_lau".split("_"),weekdaysMin:"Su_M\xe1_\xder_Mi_Fi_F\xf6_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[\xed dag kl.] LT",nextDay:"[\xe1 morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xed g\xe6r kl.] LT",lastWeek:"[s\xed\xf0asta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s s\xed\xf0an",s:me,ss:me,m:me,mm:me,h:"klukkustund",hh:me,d:me,dd:me,M:me,MM:me,y:me,yy:me},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("it-ch",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".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:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?"tra":"in")+" "+e},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),e.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".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:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?"tra":"in")+" "+e},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),e.defineLocale("ja",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u65e5\u66dc\u65e5_\u6708\u66dc\u65e5_\u706b\u66dc\u65e5_\u6c34\u66dc\u65e5_\u6728\u66dc\u65e5_\u91d1\u66dc\u65e5_\u571f\u66dc\u65e5".split("_"),weekdaysShort:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),weekdaysMin:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5(ddd) HH:mm"},meridiemParse:/\u5348\u524d|\u5348\u5f8c/i,isPM:function(e){return"\u5348\u5f8c"===e},meridiem:function(e,a,_){return e<12?"\u5348\u524d":"\u5348\u5f8c"},calendar:{sameDay:"[\u4eca\u65e5] LT",nextDay:"[\u660e\u65e5] LT",nextWeek:function(e){return e.week()<this.week()?"[\u6765\u9031]dddd LT":"dddd LT"},lastDay:"[\u6628\u65e5] LT",lastWeek:function(e){return this.week()<e.week()?"[\u5148\u9031]dddd LT":"dddd LT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}\u65e5/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";default:return e}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u6570\u79d2",ss:"%d\u79d2",m:"1\u5206",mm:"%d\u5206",h:"1\u6642\u9593",hh:"%d\u6642\u9593",d:"1\u65e5",dd:"%d\u65e5",M:"1\u30f6\u6708",MM:"%d\u30f6\u6708",y:"1\u5e74",yy:"%d\u5e74"}}),e.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(e,a){return 12===e&&(e=0),"enjing"===a?e:"siyang"===a?11<=e?e:e+12:"sonten"===a||"ndalu"===a?e+12:void 0},meridiem:function(e,a,_){return e<11?"enjing":e<15?"siyang":e<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}}),e.defineLocale("ka",{months:{standalone:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10d8_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10d8_\u10db\u10d0\u10e0\u10e2\u10d8_\u10d0\u10de\u10e0\u10d8\u10da\u10d8_\u10db\u10d0\u10d8\u10e1\u10d8_\u10d8\u10d5\u10dc\u10d8\u10e1\u10d8_\u10d8\u10d5\u10da\u10d8\u10e1\u10d8_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10dd_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10d8_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10d8".split("_"),format:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10e1_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10e1_\u10db\u10d0\u10e0\u10e2\u10e1_\u10d0\u10de\u10e0\u10d8\u10da\u10d8\u10e1_\u10db\u10d0\u10d8\u10e1\u10e1_\u10d8\u10d5\u10dc\u10d8\u10e1\u10e1_\u10d8\u10d5\u10da\u10d8\u10e1\u10e1_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10e1_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10e1_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10e1_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10e1_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10e1".split("_")},monthsShort:"\u10d8\u10d0\u10dc_\u10d7\u10d4\u10d1_\u10db\u10d0\u10e0_\u10d0\u10de\u10e0_\u10db\u10d0\u10d8_\u10d8\u10d5\u10dc_\u10d8\u10d5\u10da_\u10d0\u10d2\u10d5_\u10e1\u10d4\u10e5_\u10dd\u10e5\u10e2_\u10dc\u10dd\u10d4_\u10d3\u10d4\u10d9".split("_"),weekdays:{standalone:"\u10d9\u10d5\u10d8\u10e0\u10d0_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10d8_\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8".split("_"),format:"\u10d9\u10d5\u10d8\u10e0\u10d0\u10e1_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10e1_\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1".split("_"),isFormat:/(\u10ec\u10d8\u10dc\u10d0|\u10e8\u10d4\u10db\u10d3\u10d4\u10d2)/},weekdaysShort:"\u10d9\u10d5\u10d8_\u10dd\u10e0\u10e8_\u10e1\u10d0\u10db_\u10dd\u10d7\u10ee_\u10ee\u10e3\u10d7_\u10de\u10d0\u10e0_\u10e8\u10d0\u10d1".split("_"),weekdaysMin:"\u10d9\u10d5_\u10dd\u10e0_\u10e1\u10d0_\u10dd\u10d7_\u10ee\u10e3_\u10de\u10d0_\u10e8\u10d0".split("_"),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:"[\u10d3\u10e6\u10d4\u10e1] LT[-\u10d6\u10d4]",nextDay:"[\u10ee\u10d5\u10d0\u10da] LT[-\u10d6\u10d4]",lastDay:"[\u10d2\u10e3\u10e8\u10d8\u10dc] LT[-\u10d6\u10d4]",nextWeek:"[\u10e8\u10d4\u10db\u10d3\u10d4\u10d2] dddd LT[-\u10d6\u10d4]",lastWeek:"[\u10ec\u10d8\u10dc\u10d0] dddd LT-\u10d6\u10d4",sameElse:"L"},relativeTime:{future:function(e){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10ec\u10d4\u10da\u10d8)/.test(e)?e.replace(/\u10d8$/,"\u10e8\u10d8"):e+"\u10e8\u10d8"},past:function(e){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10d3\u10e6\u10d4|\u10d7\u10d5\u10d4)/.test(e)?e.replace(/(\u10d8|\u10d4)$/,"\u10d8\u10e1 \u10ec\u10d8\u10dc"):/\u10ec\u10d4\u10da\u10d8/.test(e)?e.replace(/\u10ec\u10d4\u10da\u10d8$/,"\u10ec\u10da\u10d8\u10e1 \u10ec\u10d8\u10dc"):void 0},s:"\u10e0\u10d0\u10db\u10d3\u10d4\u10dc\u10d8\u10db\u10d4 \u10ec\u10d0\u10db\u10d8",ss:"%d \u10ec\u10d0\u10db\u10d8",m:"\u10ec\u10e3\u10d7\u10d8",mm:"%d \u10ec\u10e3\u10d7\u10d8",h:"\u10e1\u10d0\u10d0\u10d7\u10d8",hh:"%d \u10e1\u10d0\u10d0\u10d7\u10d8",d:"\u10d3\u10e6\u10d4",dd:"%d \u10d3\u10e6\u10d4",M:"\u10d7\u10d5\u10d4",MM:"%d \u10d7\u10d5\u10d4",y:"\u10ec\u10d4\u10da\u10d8",yy:"%d \u10ec\u10d4\u10da\u10d8"},dayOfMonthOrdinalParse:/0|1-\u10da\u10d8|\u10db\u10d4-\d{1,2}|\d{1,2}-\u10d4/,ordinal:function(e){return 0===e?e:1===e?e+"-\u10da\u10d8":e<20||e<=100&&e%20==0||e%100==0?"\u10db\u10d4-"+e:e+"-\u10d4"},week:{dow:1,doy:7}});var oe={0:"-\u0448\u0456",1:"-\u0448\u0456",2:"-\u0448\u0456",3:"-\u0448\u0456",4:"-\u0448\u0456",5:"-\u0448\u0456",6:"-\u0448\u044b",7:"-\u0448\u0456",8:"-\u0448\u0456",9:"-\u0448\u044b",10:"-\u0448\u044b",20:"-\u0448\u044b",30:"-\u0448\u044b",40:"-\u0448\u044b",50:"-\u0448\u0456",60:"-\u0448\u044b",70:"-\u0448\u0456",80:"-\u0448\u0456",90:"-\u0448\u044b",100:"-\u0448\u0456"};e.defineLocale("kk",{months:"\u049b\u0430\u04a3\u0442\u0430\u0440_\u0430\u049b\u043f\u0430\u043d_\u043d\u0430\u0443\u0440\u044b\u0437_\u0441\u04d9\u0443\u0456\u0440_\u043c\u0430\u043c\u044b\u0440_\u043c\u0430\u0443\u0441\u044b\u043c_\u0448\u0456\u043b\u0434\u0435_\u0442\u0430\u043c\u044b\u0437_\u049b\u044b\u0440\u043a\u04af\u0439\u0435\u043a_\u049b\u0430\u0437\u0430\u043d_\u049b\u0430\u0440\u0430\u0448\u0430_\u0436\u0435\u043b\u0442\u043e\u049b\u0441\u0430\u043d".split("_"),monthsShort:"\u049b\u0430\u04a3_\u0430\u049b\u043f_\u043d\u0430\u0443_\u0441\u04d9\u0443_\u043c\u0430\u043c_\u043c\u0430\u0443_\u0448\u0456\u043b_\u0442\u0430\u043c_\u049b\u044b\u0440_\u049b\u0430\u0437_\u049b\u0430\u0440_\u0436\u0435\u043b".split("_"),weekdays:"\u0436\u0435\u043a\u0441\u0435\u043d\u0431\u0456_\u0434\u04af\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u04d9\u0440\u0441\u0435\u043d\u0431\u0456_\u0431\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0436\u04b1\u043c\u0430_\u0441\u0435\u043d\u0431\u0456".split("_"),weekdaysShort:"\u0436\u0435\u043a_\u0434\u04af\u0439_\u0441\u0435\u0439_\u0441\u04d9\u0440_\u0431\u0435\u0439_\u0436\u04b1\u043c_\u0441\u0435\u043d".split("_"),weekdaysMin:"\u0436\u043a_\u0434\u0439_\u0441\u0439_\u0441\u0440_\u0431\u0439_\u0436\u043c_\u0441\u043d".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:"[\u0411\u04af\u0433\u0456\u043d \u0441\u0430\u0493\u0430\u0442] LT",nextDay:"[\u0415\u0440\u0442\u0435\u04a3 \u0441\u0430\u0493\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0493\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0448\u0435 \u0441\u0430\u0493\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u0435\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u04a3] dddd [\u0441\u0430\u0493\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0456\u0448\u0456\u043d\u0434\u0435",past:"%s \u0431\u04b1\u0440\u044b\u043d",s:"\u0431\u0456\u0440\u043d\u0435\u0448\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0456\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u0431\u0456\u0440 \u0441\u0430\u0493\u0430\u0442",hh:"%d \u0441\u0430\u0493\u0430\u0442",d:"\u0431\u0456\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0456\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0456\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0448\u0456|\u0448\u044b)/,ordinal:function(e){return e+(oe[e]||oe[e%10]||oe[100<=e?100:null])},week:{dow:1,doy:7}});var ue={1:"\u17e1",2:"\u17e2",3:"\u17e3",4:"\u17e4",5:"\u17e5",6:"\u17e6",7:"\u17e7",8:"\u17e8",9:"\u17e9",0:"\u17e0"},le={"\u17e1":"1","\u17e2":"2","\u17e3":"3","\u17e4":"4","\u17e5":"5","\u17e6":"6","\u17e7":"7","\u17e8":"8","\u17e9":"9","\u17e0":"0"};e.defineLocale("km",{months:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),monthsShort:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),weekdays:"\u17a2\u17b6\u1791\u17b7\u178f\u17d2\u1799_\u1785\u17d0\u1793\u17d2\u1791_\u17a2\u1784\u17d2\u1782\u17b6\u179a_\u1796\u17bb\u1792_\u1796\u17d2\u179a\u17a0\u179f\u17d2\u1794\u178f\u17b7\u17cd_\u179f\u17bb\u1780\u17d2\u179a_\u179f\u17c5\u179a\u17cd".split("_"),weekdaysShort:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".split("_"),weekdaysMin:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".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:/\u1796\u17d2\u179a\u17b9\u1780|\u179b\u17d2\u1784\u17b6\u1785/,isPM:function(e){return"\u179b\u17d2\u1784\u17b6\u1785"===e},meridiem:function(e,a,_){return e<12?"\u1796\u17d2\u179a\u17b9\u1780":"\u179b\u17d2\u1784\u17b6\u1785"},calendar:{sameDay:"[\u1790\u17d2\u1784\u17c3\u1793\u17c1\u17c7 \u1798\u17c9\u17c4\u1784] LT",nextDay:"[\u179f\u17d2\u17a2\u17c2\u1780 \u1798\u17c9\u17c4\u1784] LT",nextWeek:"dddd [\u1798\u17c9\u17c4\u1784] LT",lastDay:"[\u1798\u17d2\u179f\u17b7\u179b\u1798\u17b7\u1789 \u1798\u17c9\u17c4\u1784] LT",lastWeek:"dddd [\u179f\u1794\u17d2\u178f\u17b6\u17a0\u17cd\u1798\u17bb\u1793] [\u1798\u17c9\u17c4\u1784] LT",sameElse:"L"},relativeTime:{future:"%s\u1791\u17c0\u178f",past:"%s\u1798\u17bb\u1793",s:"\u1794\u17c9\u17bb\u1793\u17d2\u1798\u17b6\u1793\u179c\u17b7\u1793\u17b6\u1791\u17b8",ss:"%d \u179c\u17b7\u1793\u17b6\u1791\u17b8",m:"\u1798\u17bd\u1799\u1793\u17b6\u1791\u17b8",mm:"%d \u1793\u17b6\u1791\u17b8",h:"\u1798\u17bd\u1799\u1798\u17c9\u17c4\u1784",hh:"%d \u1798\u17c9\u17c4\u1784",d:"\u1798\u17bd\u1799\u1790\u17d2\u1784\u17c3",dd:"%d \u1790\u17d2\u1784\u17c3",M:"\u1798\u17bd\u1799\u1781\u17c2",MM:"%d \u1781\u17c2",y:"\u1798\u17bd\u1799\u1786\u17d2\u1793\u17b6\u17c6",yy:"%d \u1786\u17d2\u1793\u17b6\u17c6"},dayOfMonthOrdinalParse:/\u1791\u17b8\d{1,2}/,ordinal:"\u1791\u17b8%d",preparse:function(e){return e.replace(/[\u17e1\u17e2\u17e3\u17e4\u17e5\u17e6\u17e7\u17e8\u17e9\u17e0]/g,function(e){return le[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return ue[e]})},week:{dow:1,doy:4}});var Me={1:"\u0ce7",2:"\u0ce8",3:"\u0ce9",4:"\u0cea",5:"\u0ceb",6:"\u0cec",7:"\u0ced",8:"\u0cee",9:"\u0cef",0:"\u0ce6"},Le={"\u0ce7":"1","\u0ce8":"2","\u0ce9":"3","\u0cea":"4","\u0ceb":"5","\u0cec":"6","\u0ced":"7","\u0cee":"8","\u0cef":"9","\u0ce6":"0"};e.defineLocale("kn",{months:"\u0c9c\u0ca8\u0cb5\u0cb0\u0cbf_\u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cb5\u0cb0\u0cbf_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5\u0cac\u0cb0\u0ccd_\u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd".split("_"),monthsShort:"\u0c9c\u0ca8_\u0cab\u0cc6\u0cac\u0ccd\u0cb0_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5_\u0ca8\u0cb5\u0cc6\u0c82_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82".split("_"),monthsParseExact:!0,weekdays:"\u0cad\u0cbe\u0ca8\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae\u0cb5\u0cbe\u0cb0_\u0cae\u0c82\u0c97\u0cb3\u0cb5\u0cbe\u0cb0_\u0cac\u0cc1\u0ca7\u0cb5\u0cbe\u0cb0_\u0c97\u0cc1\u0cb0\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0\u0cb5\u0cbe\u0cb0_\u0cb6\u0ca8\u0cbf\u0cb5\u0cbe\u0cb0".split("_"),weekdaysShort:"\u0cad\u0cbe\u0ca8\u0cc1_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae_\u0cae\u0c82\u0c97\u0cb3_\u0cac\u0cc1\u0ca7_\u0c97\u0cc1\u0cb0\u0cc1_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0_\u0cb6\u0ca8\u0cbf".split("_"),weekdaysMin:"\u0cad\u0cbe_\u0cb8\u0cc6\u0cc2\u0cd5_\u0cae\u0c82_\u0cac\u0cc1_\u0c97\u0cc1_\u0cb6\u0cc1_\u0cb6".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:"[\u0c87\u0c82\u0ca6\u0cc1] LT",nextDay:"[\u0ca8\u0cbe\u0cb3\u0cc6] LT",nextWeek:"dddd, LT",lastDay:"[\u0ca8\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6] LT",lastWeek:"[\u0c95\u0cc6\u0cc2\u0ca8\u0cc6\u0caf] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0ca8\u0c82\u0ca4\u0cb0",past:"%s \u0cb9\u0cbf\u0c82\u0ca6\u0cc6",s:"\u0c95\u0cc6\u0cb2\u0cb5\u0cc1 \u0c95\u0ccd\u0cb7\u0ca3\u0c97\u0cb3\u0cc1",ss:"%d \u0cb8\u0cc6\u0c95\u0cc6\u0c82\u0ca1\u0cc1\u0c97\u0cb3\u0cc1",m:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",mm:"%d \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",h:"\u0c92\u0c82\u0ca6\u0cc1 \u0c97\u0c82\u0c9f\u0cc6",hh:"%d \u0c97\u0c82\u0c9f\u0cc6",d:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca6\u0cbf\u0ca8",dd:"%d \u0ca6\u0cbf\u0ca8",M:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",MM:"%d \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",y:"\u0c92\u0c82\u0ca6\u0cc1 \u0cb5\u0cb0\u0ccd\u0cb7",yy:"%d \u0cb5\u0cb0\u0ccd\u0cb7"},preparse:function(e){return e.replace(/[\u0ce7\u0ce8\u0ce9\u0cea\u0ceb\u0cec\u0ced\u0cee\u0cef\u0ce6]/g,function(e){return Le[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Me[e]})},meridiemParse:/\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf|\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6|\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8|\u0cb8\u0c82\u0c9c\u0cc6/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"===a?e<4?e:e+12:"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6"===a?e:"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8"===a?10<=e?e:e+12:"\u0cb8\u0c82\u0c9c\u0cc6"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf":e<10?"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6":e<17?"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8":e<20?"\u0cb8\u0c82\u0c9c\u0cc6":"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"},dayOfMonthOrdinalParse:/\d{1,2}(\u0ca8\u0cc6\u0cd5)/,ordinal:function(e){return e+"\u0ca8\u0cc6\u0cd5"},week:{dow:0,doy:6}}),e.defineLocale("ko",{months:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),monthsShort:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),weekdays:"\uc77c\uc694\uc77c_\uc6d4\uc694\uc77c_\ud654\uc694\uc77c_\uc218\uc694\uc77c_\ubaa9\uc694\uc77c_\uae08\uc694\uc77c_\ud1a0\uc694\uc77c".split("_"),weekdaysShort:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),weekdaysMin:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY\ub144 MMMM D\uc77c",LLL:"YYYY\ub144 MMMM D\uc77c A h:mm",LLLL:"YYYY\ub144 MMMM D\uc77c dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY\ub144 MMMM D\uc77c",lll:"YYYY\ub144 MMMM D\uc77c A h:mm",llll:"YYYY\ub144 MMMM D\uc77c dddd A h:mm"},calendar:{sameDay:"\uc624\ub298 LT",nextDay:"\ub0b4\uc77c LT",nextWeek:"dddd LT",lastDay:"\uc5b4\uc81c LT",lastWeek:"\uc9c0\ub09c\uc8fc dddd LT",sameElse:"L"},relativeTime:{future:"%s \ud6c4",past:"%s \uc804",s:"\uba87 \ucd08",ss:"%d\ucd08",m:"1\ubd84",mm:"%d\ubd84",h:"\ud55c \uc2dc\uac04",hh:"%d\uc2dc\uac04",d:"\ud558\ub8e8",dd:"%d\uc77c",M:"\ud55c \ub2ec",MM:"%d\ub2ec",y:"\uc77c \ub144",yy:"%d\ub144"},dayOfMonthOrdinalParse:/\d{1,2}(\uc77c|\uc6d4|\uc8fc)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\uc77c";case"M":return e+"\uc6d4";case"w":case"W":return e+"\uc8fc";default:return e}},meridiemParse:/\uc624\uc804|\uc624\ud6c4/,isPM:function(e){return"\uc624\ud6c4"===e},meridiem:function(e,a,_){return e<12?"\uc624\uc804":"\uc624\ud6c4"}});var Ye={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},he={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},ye=["\u06a9\u0627\u0646\u0648\u0646\u06cc \u062f\u0648\u0648\u06d5\u0645","\u0634\u0648\u0628\u0627\u062a","\u0626\u0627\u0632\u0627\u0631","\u0646\u06cc\u0633\u0627\u0646","\u0626\u0627\u06cc\u0627\u0631","\u062d\u0648\u0632\u06d5\u06cc\u0631\u0627\u0646","\u062a\u06d5\u0645\u0645\u0648\u0632","\u0626\u0627\u0628","\u0626\u06d5\u06cc\u0644\u0648\u0648\u0644","\u062a\u0634\u0631\u06cc\u0646\u06cc \u06cc\u06d5\u0643\u06d5\u0645","\u062a\u0634\u0631\u06cc\u0646\u06cc \u062f\u0648\u0648\u06d5\u0645","\u0643\u0627\u0646\u0648\u0646\u06cc \u06cc\u06d5\u06a9\u06d5\u0645"];e.defineLocale("ku",{months:ye,monthsShort:ye,weekdays:"\u06cc\u0647\u200c\u0643\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u062f\u0648\u0648\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0633\u06ce\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0686\u0648\u0627\u0631\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u067e\u06ce\u0646\u062c\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0647\u0647\u200c\u06cc\u0646\u06cc_\u0634\u0647\u200c\u0645\u0645\u0647\u200c".split("_"),weekdaysShort:"\u06cc\u0647\u200c\u0643\u0634\u0647\u200c\u0645_\u062f\u0648\u0648\u0634\u0647\u200c\u0645_\u0633\u06ce\u0634\u0647\u200c\u0645_\u0686\u0648\u0627\u0631\u0634\u0647\u200c\u0645_\u067e\u06ce\u0646\u062c\u0634\u0647\u200c\u0645_\u0647\u0647\u200c\u06cc\u0646\u06cc_\u0634\u0647\u200c\u0645\u0645\u0647\u200c".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u0647_\u0634".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:/\u0626\u06ce\u0648\u0627\u0631\u0647\u200c|\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc/,isPM:function(e){return/\u0626\u06ce\u0648\u0627\u0631\u0647\u200c/.test(e)},meridiem:function(e,a,_){return e<12?"\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc":"\u0626\u06ce\u0648\u0627\u0631\u0647\u200c"},calendar:{sameDay:"[\u0626\u0647\u200c\u0645\u0631\u06c6 \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",nextDay:"[\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",nextWeek:"dddd [\u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",lastDay:"[\u062f\u0648\u06ce\u0646\u06ce \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",lastWeek:"dddd [\u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",sameElse:"L"},relativeTime:{future:"\u0644\u0647\u200c %s",past:"%s",s:"\u0686\u0647\u200c\u0646\u062f \u0686\u0631\u0643\u0647\u200c\u06cc\u0647\u200c\u0643",ss:"\u0686\u0631\u0643\u0647\u200c %d",m:"\u06cc\u0647\u200c\u0643 \u062e\u0648\u0644\u0647\u200c\u0643",mm:"%d \u062e\u0648\u0644\u0647\u200c\u0643",h:"\u06cc\u0647\u200c\u0643 \u0643\u0627\u062a\u0698\u0645\u06ce\u0631",hh:"%d \u0643\u0627\u062a\u0698\u0645\u06ce\u0631",d:"\u06cc\u0647\u200c\u0643 \u0695\u06c6\u0698",dd:"%d \u0695\u06c6\u0698",M:"\u06cc\u0647\u200c\u0643 \u0645\u0627\u0646\u06af",MM:"%d \u0645\u0627\u0646\u06af",y:"\u06cc\u0647\u200c\u0643 \u0633\u0627\u06b5",yy:"%d \u0633\u0627\u06b5"},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return he[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Ye[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}});var ce={0:"-\u0447\u04af",1:"-\u0447\u0438",2:"-\u0447\u0438",3:"-\u0447\u04af",4:"-\u0447\u04af",5:"-\u0447\u0438",6:"-\u0447\u044b",7:"-\u0447\u0438",8:"-\u0447\u0438",9:"-\u0447\u0443",10:"-\u0447\u0443",20:"-\u0447\u044b",30:"-\u0447\u0443",40:"-\u0447\u044b",50:"-\u0447\u04af",60:"-\u0447\u044b",70:"-\u0447\u0438",80:"-\u0447\u0438",90:"-\u0447\u0443",100:"-\u0447\u04af"};function ke(e,a,_,s){var d={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return a?d[_][0]:d[_][1]}function pe(e){if(e=parseInt(e,10),isNaN(e))return!1;if(e<0)return!0;if(e<10)return 4<=e&&e<=7;if(e<100){var a=e%10;return pe(0===a?e/10:a)}if(e<1e4){for(;10<=e;)e/=10;return pe(e)}return pe(e/=1e3)}e.defineLocale("ky",{months:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u0416\u0435\u043a\u0448\u0435\u043c\u0431\u0438_\u0414\u04af\u0439\u0448\u04e9\u043c\u0431\u04af_\u0428\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0428\u0430\u0440\u0448\u0435\u043c\u0431\u0438_\u0411\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0416\u0443\u043c\u0430_\u0418\u0448\u0435\u043c\u0431\u0438".split("_"),weekdaysShort:"\u0416\u0435\u043a_\u0414\u04af\u0439_\u0428\u0435\u0439_\u0428\u0430\u0440_\u0411\u0435\u0439_\u0416\u0443\u043c_\u0418\u0448\u0435".split("_"),weekdaysMin:"\u0416\u043a_\u0414\u0439_\u0428\u0439_\u0428\u0440_\u0411\u0439_\u0416\u043c_\u0418\u0448".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:"[\u0411\u04af\u0433\u04af\u043d \u0441\u0430\u0430\u0442] LT",nextDay:"[\u042d\u0440\u0442\u0435\u04a3 \u0441\u0430\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0447\u044d\u044d \u0441\u0430\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u04e9\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u043d] dddd [\u043a\u04af\u043d\u04af] [\u0441\u0430\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0438\u0447\u0438\u043d\u0434\u0435",past:"%s \u043c\u0443\u0440\u0443\u043d",s:"\u0431\u0438\u0440\u043d\u0435\u0447\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0438\u0440 \u043c\u04af\u043d\u04e9\u0442",mm:"%d \u043c\u04af\u043d\u04e9\u0442",h:"\u0431\u0438\u0440 \u0441\u0430\u0430\u0442",hh:"%d \u0441\u0430\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0438\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0438\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0447\u0438|\u0447\u044b|\u0447\u04af|\u0447\u0443)/,ordinal:function(e){return e+(ce[e]||ce[e%10]||ce[100<=e?100:null])},week:{dow:1,doy:7}}),e.defineLocale("lb",{months:"Januar_Februar_M\xe4erz_Abr\xebll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_M\xe9indeg_D\xebnschdeg_M\xebttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._M\xe9._D\xeb._M\xeb._Do._Fr._Sa.".split("_"),weekdaysMin:"So_M\xe9_D\xeb_M\xeb_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[G\xebschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:function(e){return pe(e.substr(0,e.indexOf(" ")))?"a "+e:"an "+e},past:function(e){return pe(e.substr(0,e.indexOf(" ")))?"viru "+e:"virun "+e},s:"e puer Sekonnen",ss:"%d Sekonnen",m:ke,mm:"%d Minutten",h:ke,hh:"%d Stonnen",d:ke,dd:"%d Deeg",M:ke,MM:"%d M\xe9int",y:ke,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("lo",{months:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),monthsShort:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),weekdays:"\u0ead\u0eb2\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysShort:"\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysMin:"\u0e97_\u0e88_\u0ead\u0e84_\u0e9e_\u0e9e\u0eab_\u0eaa\u0e81_\u0eaa".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:"\u0ea7\u0eb1\u0e99dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2|\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87/,isPM:function(e){return"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"===e},meridiem:function(e,a,_){return e<12?"\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2":"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"},calendar:{sameDay:"[\u0ea1\u0eb7\u0ec9\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextDay:"[\u0ea1\u0eb7\u0ec9\u0ead\u0eb7\u0ec8\u0e99\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0edc\u0ec9\u0eb2\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastDay:"[\u0ea1\u0eb7\u0ec9\u0ea7\u0eb2\u0e99\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0ec1\u0ea5\u0ec9\u0ea7\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",sameElse:"L"},relativeTime:{future:"\u0ead\u0eb5\u0e81 %s",past:"%s\u0e9c\u0ec8\u0eb2\u0e99\u0ea1\u0eb2",s:"\u0e9a\u0ecd\u0ec8\u0ec0\u0e97\u0ebb\u0ec8\u0eb2\u0ec3\u0e94\u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",ss:"%d \u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",m:"1 \u0e99\u0eb2\u0e97\u0eb5",mm:"%d \u0e99\u0eb2\u0e97\u0eb5",h:"1 \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",hh:"%d \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",d:"1 \u0ea1\u0eb7\u0ec9",dd:"%d \u0ea1\u0eb7\u0ec9",M:"1 \u0ec0\u0e94\u0eb7\u0ead\u0e99",MM:"%d \u0ec0\u0e94\u0eb7\u0ead\u0e99",y:"1 \u0e9b\u0eb5",yy:"%d \u0e9b\u0eb5"},dayOfMonthOrdinalParse:/(\u0e97\u0eb5\u0ec8)\d{1,2}/,ordinal:function(e){return"\u0e97\u0eb5\u0ec8"+e}});var De={ss:"sekund\u0117_sekund\u017ei\u0173_sekundes",m:"minut\u0117_minut\u0117s_minut\u0119",mm:"minut\u0117s_minu\u010di\u0173_minutes",h:"valanda_valandos_valand\u0105",hh:"valandos_valand\u0173_valandas",d:"diena_dienos_dien\u0105",dd:"dienos_dien\u0173_dienas",M:"m\u0117nuo_m\u0117nesio_m\u0117nes\u012f",MM:"m\u0117nesiai_m\u0117nesi\u0173_m\u0117nesius",y:"metai_met\u0173_metus",yy:"metai_met\u0173_metus"};function Te(e,a,_,s){return a?ge(_)[0]:s?ge(_)[1]:ge(_)[2]}function fe(e){return e%10==0||10<e&&e<20}function ge(e){return De[e].split("_")}function we(e,a,_,s){var d=e+" ";return 1===e?d+Te(0,a,_[0],s):a?d+(fe(e)?ge(_)[1]:ge(_)[0]):s?d+ge(_)[1]:d+(fe(e)?ge(_)[1]:ge(_)[2])}e.defineLocale("lt",{months:{format:"sausio_vasario_kovo_baland\u017eio_gegu\u017e\u0117s_bir\u017eelio_liepos_rugpj\u016b\u010dio_rugs\u0117jo_spalio_lapkri\u010dio_gruod\u017eio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegu\u017e\u0117_bir\u017eelis_liepa_rugpj\u016btis_rugs\u0117jis_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\u012f_pirmadien\u012f_antradien\u012f_tre\u010diadien\u012f_ketvirtadien\u012f_penktadien\u012f_\u0161e\u0161tadien\u012f".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_tre\u010diadienis_ketvirtadienis_penktadienis_\u0161e\u0161tadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_\u0160e\u0161".split("_"),weekdaysMin:"S_P_A_T_K_Pn_\u0160".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:"[\u0160iandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Pra\u0117jus\u012f] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prie\u0161 %s",s:function(e,a,_,s){return a?"kelios sekund\u0117s":s?"keli\u0173 sekund\u017ei\u0173":"kelias sekundes"},ss:we,m:Te,mm:we,h:Te,hh:we,d:Te,dd:we,M:Te,MM:we,y:Te,yy:we},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(e){return e+"-oji"},week:{dow:1,doy:4}});var He={ss:"sekundes_sekund\u0113m_sekunde_sekundes".split("_"),m:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),mm:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),h:"stundas_stund\u0101m_stunda_stundas".split("_"),hh:"stundas_stund\u0101m_stunda_stundas".split("_"),d:"dienas_dien\u0101m_diena_dienas".split("_"),dd:"dienas_dien\u0101m_diena_dienas".split("_"),M:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),MM:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};function be(e,a,_){return _?a%10==1&&a%100!=11?e[2]:e[3]:a%10==1&&a%100!=11?e[0]:e[1]}function Se(e,a,_){return e+" "+be(He[_],e,a)}function ve(e,a,_){return be(He[_],e,a)}e.defineLocale("lv",{months:"janv\u0101ris_febru\u0101ris_marts_apr\u012blis_maijs_j\u016bnijs_j\u016blijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_j\u016bn_j\u016bl_aug_sep_okt_nov_dec".split("_"),weekdays:"sv\u0113tdiena_pirmdiena_otrdiena_tre\u0161diena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[\u0160odien pulksten] LT",nextDay:"[R\u012bt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pag\u0101ju\u0161\u0101] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"p\u0113c %s",past:"pirms %s",s:function(e,a){return a?"da\u017eas sekundes":"da\u017e\u0101m sekund\u0113m"},ss:Se,m:ve,mm:Se,h:ve,hh:Se,d:ve,dd:Se,M:ve,MM:Se,y:ve,yy:Se},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var je={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:2<=e&&e<=4?a[1]:a[2]},translate:function(e,a,_){var s=je.words[_];return 1===_.length?a?s[0]:s[1]:e+" "+je.correctGrammaticalCase(e,s)}};function xe(e,a,_,s){switch(_){case"s":return a?"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434":"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d";case"ss":return e+(a?" \u0441\u0435\u043a\u0443\u043d\u0434":" \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d");case"m":case"mm":return e+(a?" \u043c\u0438\u043d\u0443\u0442":" \u043c\u0438\u043d\u0443\u0442\u044b\u043d");case"h":case"hh":return e+(a?" \u0446\u0430\u0433":" \u0446\u0430\u0433\u0438\u0439\u043d");case"d":case"dd":return e+(a?" \u04e9\u0434\u04e9\u0440":" \u04e9\u0434\u0440\u0438\u0439\u043d");case"M":case"MM":return e+(a?" \u0441\u0430\u0440":" \u0441\u0430\u0440\u044b\u043d");case"y":case"yy":return e+(a?" \u0436\u0438\u043b":" \u0436\u0438\u043b\u0438\u0439\u043d");default:return e}}e.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".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:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedjelje] [u] LT","[pro\u0161log] [ponedjeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srijede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:je.translate,m:je.translate,mm:je.translate,h:je.translate,hh:je.translate,d:"dan",dd:je.translate,M:"mjesec",MM:je.translate,y:"godinu",yy:je.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),e.defineLocale("mi",{months:"Kohi-t\u0101te_Hui-tanguru_Pout\u016b-te-rangi_Paenga-wh\u0101wh\u0101_Haratua_Pipiri_H\u014dngoingoi_Here-turi-k\u014dk\u0101_Mahuru_Whiringa-\u0101-nuku_Whiringa-\u0101-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_H\u014dngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"R\u0101tapu_Mane_T\u016brei_Wenerei_T\u0101ite_Paraire_H\u0101tarei".split("_"),weekdaysShort:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),weekdaysMin:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te h\u0113kona ruarua",ss:"%d h\u0113kona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),e.defineLocale("mk",{months:"\u0458\u0430\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d\u0438_\u0458\u0443\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u0458\u0430\u043d_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u043e\u043a_\u043f\u0435\u0442\u043e\u043a_\u0441\u0430\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u0435_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u0430\u0431".split("_"),weekdaysMin:"\u043de_\u043fo_\u0432\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441a".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u0435\u043d\u0435\u0441 \u0432\u043e] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432\u043e] LT",nextWeek:"[\u0412\u043e] dddd [\u0432\u043e] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432\u043e] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0430\u0442\u0430] dddd [\u0432\u043e] LT";case 1:case 2:case 4:case 5:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0438\u043e\u0442] dddd [\u0432\u043e] LT"}},sameElse:"L"},relativeTime:{future:"\u043f\u043e\u0441\u043b\u0435 %s",past:"\u043f\u0440\u0435\u0434 %s",s:"\u043d\u0435\u043a\u043e\u043b\u043a\u0443 \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0434\u0435\u043d",dd:"%d \u0434\u0435\u043d\u0430",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0438",y:"\u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(e){var a=e%10,_=e%100;return 0===e?e+"-\u0435\u0432":0===_?e+"-\u0435\u043d":10<_&&_<20?e+"-\u0442\u0438":1===a?e+"-\u0432\u0438":2===a?e+"-\u0440\u0438":7===a||8===a?e+"-\u043c\u0438":e+"-\u0442\u0438"},week:{dow:1,doy:7}}),e.defineLocale("ml",{months:"\u0d1c\u0d28\u0d41\u0d35\u0d30\u0d3f_\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41\u0d35\u0d30\u0d3f_\u0d2e\u0d3e\u0d7c\u0d1a\u0d4d\u0d1a\u0d4d_\u0d0f\u0d2a\u0d4d\u0d30\u0d3f\u0d7d_\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48_\u0d13\u0d17\u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d4d_\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02\u0d2c\u0d7c_\u0d12\u0d15\u0d4d\u0d1f\u0d4b\u0d2c\u0d7c_\u0d28\u0d35\u0d02\u0d2c\u0d7c_\u0d21\u0d3f\u0d38\u0d02\u0d2c\u0d7c".split("_"),monthsShort:"\u0d1c\u0d28\u0d41._\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41._\u0d2e\u0d3e\u0d7c._\u0d0f\u0d2a\u0d4d\u0d30\u0d3f._\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48._\u0d13\u0d17._\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31._\u0d12\u0d15\u0d4d\u0d1f\u0d4b._\u0d28\u0d35\u0d02._\u0d21\u0d3f\u0d38\u0d02.".split("_"),monthsParseExact:!0,weekdays:"\u0d1e\u0d3e\u0d2f\u0d31\u0d3e\u0d34\u0d4d\u0d1a_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d3e\u0d34\u0d4d\u0d1a_\u0d1a\u0d4a\u0d35\u0d4d\u0d35\u0d3e\u0d34\u0d4d\u0d1a_\u0d2c\u0d41\u0d27\u0d28\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a_\u0d36\u0d28\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a".split("_"),weekdaysShort:"\u0d1e\u0d3e\u0d2f\u0d7c_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d7e_\u0d1a\u0d4a\u0d35\u0d4d\u0d35_\u0d2c\u0d41\u0d27\u0d7b_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d02_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f_\u0d36\u0d28\u0d3f".split("_"),weekdaysMin:"\u0d1e\u0d3e_\u0d24\u0d3f_\u0d1a\u0d4a_\u0d2c\u0d41_\u0d35\u0d4d\u0d2f\u0d3e_\u0d35\u0d46_\u0d36".split("_"),longDateFormat:{LT:"A h:mm -\u0d28\u0d41",LTS:"A h:mm:ss -\u0d28\u0d41",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -\u0d28\u0d41",LLLL:"dddd, D MMMM YYYY, A h:mm -\u0d28\u0d41"},calendar:{sameDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d4d] LT",nextDay:"[\u0d28\u0d3e\u0d33\u0d46] LT",nextWeek:"dddd, LT",lastDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d32\u0d46] LT",lastWeek:"[\u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d",past:"%s \u0d2e\u0d41\u0d7b\u0d2a\u0d4d",s:"\u0d05\u0d7d\u0d2a \u0d28\u0d3f\u0d2e\u0d3f\u0d37\u0d19\u0d4d\u0d19\u0d7e",ss:"%d \u0d38\u0d46\u0d15\u0d4d\u0d15\u0d7b\u0d21\u0d4d",m:"\u0d12\u0d30\u0d41 \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",mm:"%d \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",h:"\u0d12\u0d30\u0d41 \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",hh:"%d \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",d:"\u0d12\u0d30\u0d41 \u0d26\u0d3f\u0d35\u0d38\u0d02",dd:"%d \u0d26\u0d3f\u0d35\u0d38\u0d02",M:"\u0d12\u0d30\u0d41 \u0d2e\u0d3e\u0d38\u0d02",MM:"%d \u0d2e\u0d3e\u0d38\u0d02",y:"\u0d12\u0d30\u0d41 \u0d35\u0d7c\u0d37\u0d02",yy:"%d \u0d35\u0d7c\u0d37\u0d02"},meridiemParse:/\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f|\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46|\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d|\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02|\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f/i,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"===a&&4<=e||"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d"===a||"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02"===a?e+12:e},meridiem:function(e,a,_){return e<4?"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f":e<12?"\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46":e<17?"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d":e<20?"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02":"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"}}),e.defineLocale("mn",{months:"\u041d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0425\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0413\u0443\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u04e9\u0440\u04e9\u0432\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0422\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0417\u0443\u0440\u0433\u0430\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u043e\u043b\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u041d\u0430\u0439\u043c\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0415\u0441\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u043d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u0445\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440".split("_"),monthsShort:"1 \u0441\u0430\u0440_2 \u0441\u0430\u0440_3 \u0441\u0430\u0440_4 \u0441\u0430\u0440_5 \u0441\u0430\u0440_6 \u0441\u0430\u0440_7 \u0441\u0430\u0440_8 \u0441\u0430\u0440_9 \u0441\u0430\u0440_10 \u0441\u0430\u0440_11 \u0441\u0430\u0440_12 \u0441\u0430\u0440".split("_"),monthsParseExact:!0,weekdays:"\u041d\u044f\u043c_\u0414\u0430\u0432\u0430\u0430_\u041c\u044f\u0433\u043c\u0430\u0440_\u041b\u0445\u0430\u0433\u0432\u0430_\u041f\u04af\u0440\u044d\u0432_\u0411\u0430\u0430\u0441\u0430\u043d_\u0411\u044f\u043c\u0431\u0430".split("_"),weekdaysShort:"\u041d\u044f\u043c_\u0414\u0430\u0432_\u041c\u044f\u0433_\u041b\u0445\u0430_\u041f\u04af\u0440_\u0411\u0430\u0430_\u0411\u044f\u043c".split("_"),weekdaysMin:"\u041d\u044f_\u0414\u0430_\u041c\u044f_\u041b\u0445_\u041f\u04af_\u0411\u0430_\u0411\u044f".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D",LLL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm",LLLL:"dddd, YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm"},meridiemParse:/\u04ae\u04e8|\u04ae\u0425/i,isPM:function(e){return"\u04ae\u0425"===e},meridiem:function(e,a,_){return e<12?"\u04ae\u04e8":"\u04ae\u0425"},calendar:{sameDay:"[\u04e8\u043d\u04e9\u04e9\u0434\u04e9\u0440] LT",nextDay:"[\u041c\u0430\u0440\u0433\u0430\u0430\u0448] LT",nextWeek:"[\u0418\u0440\u044d\u0445] dddd LT",lastDay:"[\u04e8\u0447\u0438\u0433\u0434\u04e9\u0440] LT",lastWeek:"[\u04e8\u043d\u0433\u04e9\u0440\u0441\u04e9\u043d] dddd LT",sameElse:"L"},relativeTime:{future:"%s \u0434\u0430\u0440\u0430\u0430",past:"%s \u04e9\u043c\u043d\u04e9",s:xe,ss:xe,m:xe,mm:xe,h:xe,hh:xe,d:xe,dd:xe,M:xe,MM:xe,y:xe,yy:xe},dayOfMonthOrdinalParse:/\d{1,2} \u04e9\u0434\u04e9\u0440/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+" \u04e9\u0434\u04e9\u0440";default:return e}}});var Pe={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},We={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};function Ae(e,a,_,s){var d="";if(a)switch(_){case"s":d="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926";break;case"ss":d="%d \u0938\u0947\u0915\u0902\u0926";break;case"m":d="\u090f\u0915 \u092e\u093f\u0928\u093f\u091f";break;case"mm":d="%d \u092e\u093f\u0928\u093f\u091f\u0947";break;case"h":d="\u090f\u0915 \u0924\u093e\u0938";break;case"hh":d="%d \u0924\u093e\u0938";break;case"d":d="\u090f\u0915 \u0926\u093f\u0935\u0938";break;case"dd":d="%d \u0926\u093f\u0935\u0938";break;case"M":d="\u090f\u0915 \u092e\u0939\u093f\u0928\u093e";break;case"MM":d="%d \u092e\u0939\u093f\u0928\u0947";break;case"y":d="\u090f\u0915 \u0935\u0930\u094d\u0937";break;case"yy":d="%d \u0935\u0930\u094d\u0937\u0947";break}else switch(_){case"s":d="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"ss":d="%d \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"m":d="\u090f\u0915\u093e \u092e\u093f\u0928\u093f\u091f\u093e";break;case"mm":d="%d \u092e\u093f\u0928\u093f\u091f\u093e\u0902";break;case"h":d="\u090f\u0915\u093e \u0924\u093e\u0938\u093e";break;case"hh":d="%d \u0924\u093e\u0938\u093e\u0902";break;case"d":d="\u090f\u0915\u093e \u0926\u093f\u0935\u0938\u093e";break;case"dd":d="%d \u0926\u093f\u0935\u0938\u093e\u0902";break;case"M":d="\u090f\u0915\u093e \u092e\u0939\u093f\u0928\u094d\u092f\u093e";break;case"MM":d="%d \u092e\u0939\u093f\u0928\u094d\u092f\u093e\u0902";break;case"y":d="\u090f\u0915\u093e \u0935\u0930\u094d\u0937\u093e";break;case"yy":d="%d \u0935\u0930\u094d\u0937\u093e\u0902";break}return d.replace(/%d/i,e)}e.defineLocale("mr",{months:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u093f\u0932_\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932\u0948_\u0911\u0917\u0938\u094d\u091f_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930_\u0911\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930_\u0921\u093f\u0938\u0947\u0902\u092c\u0930".split("_"),monthsShort:"\u091c\u093e\u0928\u0947._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a._\u090f\u092a\u094d\u0930\u093f._\u092e\u0947._\u091c\u0942\u0928._\u091c\u0941\u0932\u0948._\u0911\u0917._\u0938\u092a\u094d\u091f\u0947\u0902._\u0911\u0915\u094d\u091f\u094b._\u0928\u094b\u0935\u094d\u0939\u0947\u0902._\u0921\u093f\u0938\u0947\u0902.".split("_"),monthsParseExact:!0,weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0933\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0933_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u0935\u093e\u091c\u0924\u093e",LTS:"A h:mm:ss \u0935\u093e\u091c\u0924\u093e",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e",LLLL:"dddd, D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0909\u0926\u094d\u092f\u093e] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u093e\u0932] LT",lastWeek:"[\u092e\u093e\u0917\u0940\u0932] dddd, LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u0927\u094d\u092f\u0947",past:"%s\u092a\u0942\u0930\u094d\u0935\u0940",s:Ae,ss:Ae,m:Ae,mm:Ae,h:Ae,hh:Ae,d:Ae,dd:Ae,M:Ae,MM:Ae,y:Ae,yy:Ae},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return We[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Pe[e]})},meridiemParse:/\u0930\u093e\u0924\u094d\u0930\u0940|\u0938\u0915\u093e\u0933\u0940|\u0926\u0941\u092a\u093e\u0930\u0940|\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924\u094d\u0930\u0940"===a?e<4?e:e+12:"\u0938\u0915\u093e\u0933\u0940"===a?e:"\u0926\u0941\u092a\u093e\u0930\u0940"===a?10<=e?e:e+12:"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0930\u093e\u0924\u094d\u0930\u0940":e<10?"\u0938\u0915\u093e\u0933\u0940":e<17?"\u0926\u0941\u092a\u093e\u0930\u0940":e<20?"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940":"\u0930\u093e\u0924\u094d\u0930\u0940"},week:{dow:0,doy:6}}),e.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"tengahari"===a?11<=e?e:e+12:"petang"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,_){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),e.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"tengahari"===a?11<=e?e:e+12:"petang"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,_){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),e.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_\u0120unju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Di\u010bembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_\u0120un_Lul_Aww_Set_Ott_Nov_Di\u010b".split("_"),weekdays:"Il-\u0126add_It-Tnejn_It-Tlieta_L-Erbg\u0127a_Il-\u0126amis_Il-\u0120img\u0127a_Is-Sibt".split("_"),weekdaysShort:"\u0126ad_Tne_Tli_Erb_\u0126am_\u0120im_Sib".split("_"),weekdaysMin:"\u0126a_Tn_Tl_Er_\u0126a_\u0120i_Si".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:"[Illum fil-]LT",nextDay:"[G\u0127ada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-biera\u0127 fil-]LT",lastWeek:"dddd [li g\u0127adda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f\u2019 %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"sieg\u0127a",hh:"%d sieg\u0127at",d:"\u0121urnata",dd:"%d \u0121ranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}});var Oe={1:"\u1041",2:"\u1042",3:"\u1043",4:"\u1044",5:"\u1045",6:"\u1046",7:"\u1047",8:"\u1048",9:"\u1049",0:"\u1040"},Ee={"\u1041":"1","\u1042":"2","\u1043":"3","\u1044":"4","\u1045":"5","\u1046":"6","\u1047":"7","\u1048":"8","\u1049":"9","\u1040":"0"};e.defineLocale("my",{months:"\u1007\u1014\u103a\u1014\u101d\u102b\u101b\u102e_\u1016\u1031\u1016\u1031\u102c\u103a\u101d\u102b\u101b\u102e_\u1019\u1010\u103a_\u1027\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u1007\u1030\u101c\u102d\u102f\u1004\u103a_\u101e\u103c\u1002\u102f\u1010\u103a_\u1005\u1000\u103a\u1010\u1004\u103a\u1018\u102c_\u1021\u1031\u102c\u1000\u103a\u1010\u102d\u102f\u1018\u102c_\u1014\u102d\u102f\u101d\u1004\u103a\u1018\u102c_\u1012\u102e\u1007\u1004\u103a\u1018\u102c".split("_"),monthsShort:"\u1007\u1014\u103a_\u1016\u1031_\u1019\u1010\u103a_\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u101c\u102d\u102f\u1004\u103a_\u101e\u103c_\u1005\u1000\u103a_\u1021\u1031\u102c\u1000\u103a_\u1014\u102d\u102f_\u1012\u102e".split("_"),weekdays:"\u1010\u1014\u1004\u103a\u1039\u1002\u1014\u103d\u1031_\u1010\u1014\u1004\u103a\u1039\u101c\u102c_\u1021\u1004\u103a\u1039\u1002\u102b_\u1017\u102f\u1012\u1039\u1013\u101f\u1030\u1038_\u1000\u103c\u102c\u101e\u1015\u1010\u1031\u1038_\u101e\u1031\u102c\u1000\u103c\u102c_\u1005\u1014\u1031".split("_"),weekdaysShort:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),weekdaysMin:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".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:"[\u101a\u1014\u1031.] LT [\u1019\u103e\u102c]",nextDay:"[\u1019\u1014\u1000\u103a\u1016\u103c\u1014\u103a] LT [\u1019\u103e\u102c]",nextWeek:"dddd LT [\u1019\u103e\u102c]",lastDay:"[\u1019\u1014\u1031.\u1000] LT [\u1019\u103e\u102c]",lastWeek:"[\u1015\u103c\u102e\u1038\u1001\u1032\u1037\u101e\u1031\u102c] dddd LT [\u1019\u103e\u102c]",sameElse:"L"},relativeTime:{future:"\u101c\u102c\u1019\u100a\u103a\u1037 %s \u1019\u103e\u102c",past:"\u101c\u103d\u1014\u103a\u1001\u1032\u1037\u101e\u1031\u102c %s \u1000",s:"\u1005\u1000\u1039\u1000\u1014\u103a.\u1021\u1014\u100a\u103a\u1038\u1004\u101a\u103a",ss:"%d \u1005\u1000\u1039\u1000\u1014\u1037\u103a",m:"\u1010\u1005\u103a\u1019\u102d\u1014\u1005\u103a",mm:"%d \u1019\u102d\u1014\u1005\u103a",h:"\u1010\u1005\u103a\u1014\u102c\u101b\u102e",hh:"%d \u1014\u102c\u101b\u102e",d:"\u1010\u1005\u103a\u101b\u1000\u103a",dd:"%d \u101b\u1000\u103a",M:"\u1010\u1005\u103a\u101c",MM:"%d \u101c",y:"\u1010\u1005\u103a\u1014\u103e\u1005\u103a",yy:"%d \u1014\u103e\u1005\u103a"},preparse:function(e){return e.replace(/[\u1041\u1042\u1043\u1044\u1045\u1046\u1047\u1048\u1049\u1040]/g,function(e){return Ee[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Oe[e]})},week:{dow:1,doy:4}}),e.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8._ma._ti._on._to._fr._l\xf8.".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var Fe={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},ze={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};e.defineLocale("ne",{months:"\u091c\u0928\u0935\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f\u0932_\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0937\u094d\u091f_\u0938\u0947\u092a\u094d\u091f\u0947\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u092d\u0947\u092e\u094d\u092c\u0930_\u0921\u093f\u0938\u0947\u092e\u094d\u092c\u0930".split("_"),monthsShort:"\u091c\u0928._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f._\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908._\u0905\u0917._\u0938\u0947\u092a\u094d\u091f._\u0905\u0915\u094d\u091f\u094b._\u0928\u094b\u092d\u0947._\u0921\u093f\u0938\u0947.".split("_"),monthsParseExact:!0,weekdays:"\u0906\u0907\u0924\u092c\u093e\u0930_\u0938\u094b\u092e\u092c\u093e\u0930_\u092e\u0919\u094d\u0917\u0932\u092c\u093e\u0930_\u092c\u0941\u0927\u092c\u093e\u0930_\u092c\u093f\u0939\u093f\u092c\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u092c\u093e\u0930_\u0936\u0928\u093f\u092c\u093e\u0930".split("_"),weekdaysShort:"\u0906\u0907\u0924._\u0938\u094b\u092e._\u092e\u0919\u094d\u0917\u0932._\u092c\u0941\u0927._\u092c\u093f\u0939\u093f._\u0936\u0941\u0915\u094d\u0930._\u0936\u0928\u093f.".split("_"),weekdaysMin:"\u0906._\u0938\u094b._\u092e\u0902._\u092c\u0941._\u092c\u093f._\u0936\u0941._\u0936.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A\u0915\u094b h:mm \u092c\u091c\u0947",LTS:"A\u0915\u094b h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947"},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return ze[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Fe[e]})},meridiemParse:/\u0930\u093e\u0924\u093f|\u092c\u093f\u0939\u093e\u0928|\u0926\u093f\u0909\u0901\u0938\u094b|\u0938\u093e\u0901\u091d/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924\u093f"===a?e<4?e:e+12:"\u092c\u093f\u0939\u093e\u0928"===a?e:"\u0926\u093f\u0909\u0901\u0938\u094b"===a?10<=e?e:e+12:"\u0938\u093e\u0901\u091d"===a?e+12:void 0},meridiem:function(e,a,_){return e<3?"\u0930\u093e\u0924\u093f":e<12?"\u092c\u093f\u0939\u093e\u0928":e<16?"\u0926\u093f\u0909\u0901\u0938\u094b":e<20?"\u0938\u093e\u0901\u091d":"\u0930\u093e\u0924\u093f"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u092d\u094b\u0932\u093f] LT",nextWeek:"[\u0906\u0909\u0901\u0926\u094b] dddd[,] LT",lastDay:"[\u0939\u093f\u091c\u094b] LT",lastWeek:"[\u0917\u090f\u0915\u094b] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u093e",past:"%s \u0905\u0917\u093e\u0921\u093f",s:"\u0915\u0947\u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0947\u0923\u094d\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u0947\u091f",mm:"%d \u092e\u093f\u0928\u0947\u091f",h:"\u090f\u0915 \u0918\u0923\u094d\u091f\u093e",hh:"%d \u0918\u0923\u094d\u091f\u093e",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u093f\u0928\u093e",MM:"%d \u092e\u0939\u093f\u0928\u093e",y:"\u090f\u0915 \u092c\u0930\u094d\u0937",yy:"%d \u092c\u0930\u094d\u0937"},week:{dow:0,doy:6}});var Je="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),Ie="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),Ne=[/^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],Re=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;e.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?Ie[e.month()]:Je[e.month()]:Je},monthsRegex:Re,monthsShortRegex:Re,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:Ne,longMonthsParse:Ne,shortMonthsParse:Ne,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:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}});var Ke="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),Ce="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),Ge=[/^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],Be=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;e.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?Ce[e.month()]:Ke[e.month()]:Ke},monthsRegex:Be,monthsShortRegex:Be,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:Ge,longMonthsParse:Ge,shortMonthsParse:Ge,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:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),e.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_m\xe5ndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_m\xe5n_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_m\xe5_ty_on_to_fr_l\xf8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I g\xe5r klokka] LT",lastWeek:"[F\xf8reg\xe5ande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein m\xe5nad",MM:"%d m\xe5nader",y:"eit \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var qe={1:"\u0a67",2:"\u0a68",3:"\u0a69",4:"\u0a6a",5:"\u0a6b",6:"\u0a6c",7:"\u0a6d",8:"\u0a6e",9:"\u0a6f",0:"\u0a66"},Ue={"\u0a67":"1","\u0a68":"2","\u0a69":"3","\u0a6a":"4","\u0a6b":"5","\u0a6c":"6","\u0a6d":"7","\u0a6e":"8","\u0a6f":"9","\u0a66":"0"};e.defineLocale("pa-in",{months:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),monthsShort:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),weekdays:"\u0a10\u0a24\u0a35\u0a3e\u0a30_\u0a38\u0a4b\u0a2e\u0a35\u0a3e\u0a30_\u0a2e\u0a70\u0a17\u0a32\u0a35\u0a3e\u0a30_\u0a2c\u0a41\u0a27\u0a35\u0a3e\u0a30_\u0a35\u0a40\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a41\u0a71\u0a15\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a28\u0a40\u0a1a\u0a30\u0a35\u0a3e\u0a30".split("_"),weekdaysShort:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),weekdaysMin:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),longDateFormat:{LT:"A h:mm \u0a35\u0a1c\u0a47",LTS:"A h:mm:ss \u0a35\u0a1c\u0a47",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47",LLLL:"dddd, D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47"},calendar:{sameDay:"[\u0a05\u0a1c] LT",nextDay:"[\u0a15\u0a32] LT",nextWeek:"[\u0a05\u0a17\u0a32\u0a3e] dddd, LT",lastDay:"[\u0a15\u0a32] LT",lastWeek:"[\u0a2a\u0a3f\u0a1b\u0a32\u0a47] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0a35\u0a3f\u0a71\u0a1a",past:"%s \u0a2a\u0a3f\u0a1b\u0a32\u0a47",s:"\u0a15\u0a41\u0a1d \u0a38\u0a15\u0a3f\u0a70\u0a1f",ss:"%d \u0a38\u0a15\u0a3f\u0a70\u0a1f",m:"\u0a07\u0a15 \u0a2e\u0a3f\u0a70\u0a1f",mm:"%d \u0a2e\u0a3f\u0a70\u0a1f",h:"\u0a07\u0a71\u0a15 \u0a18\u0a70\u0a1f\u0a3e",hh:"%d \u0a18\u0a70\u0a1f\u0a47",d:"\u0a07\u0a71\u0a15 \u0a26\u0a3f\u0a28",dd:"%d \u0a26\u0a3f\u0a28",M:"\u0a07\u0a71\u0a15 \u0a2e\u0a39\u0a40\u0a28\u0a3e",MM:"%d \u0a2e\u0a39\u0a40\u0a28\u0a47",y:"\u0a07\u0a71\u0a15 \u0a38\u0a3e\u0a32",yy:"%d \u0a38\u0a3e\u0a32"},preparse:function(e){return e.replace(/[\u0a67\u0a68\u0a69\u0a6a\u0a6b\u0a6c\u0a6d\u0a6e\u0a6f\u0a66]/g,function(e){return Ue[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return qe[e]})},meridiemParse:/\u0a30\u0a3e\u0a24|\u0a38\u0a35\u0a47\u0a30|\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30|\u0a38\u0a3c\u0a3e\u0a2e/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0a30\u0a3e\u0a24"===a?e<4?e:e+12:"\u0a38\u0a35\u0a47\u0a30"===a?e:"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30"===a?10<=e?e:e+12:"\u0a38\u0a3c\u0a3e\u0a2e"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0a30\u0a3e\u0a24":e<10?"\u0a38\u0a35\u0a47\u0a30":e<17?"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30":e<20?"\u0a38\u0a3c\u0a3e\u0a2e":"\u0a30\u0a3e\u0a24"},week:{dow:0,doy:6}});var $e="stycze\u0144_luty_marzec_kwiecie\u0144_maj_czerwiec_lipiec_sierpie\u0144_wrzesie\u0144_pa\u017adziernik_listopad_grudzie\u0144".split("_"),Qe="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrze\u015bnia_pa\u017adziernika_listopada_grudnia".split("_");function Ve(e){return e%10<5&&1<e%10&&~~(e/10)%10!=1}function Ze(e,a,_){var s=e+" ";switch(_){case"ss":return s+(Ve(e)?"sekundy":"sekund");case"m":return a?"minuta":"minut\u0119";case"mm":return s+(Ve(e)?"minuty":"minut");case"h":return a?"godzina":"godzin\u0119";case"hh":return s+(Ve(e)?"godziny":"godzin");case"MM":return s+(Ve(e)?"miesi\u0105ce":"miesi\u0119cy");case"yy":return s+(Ve(e)?"lata":"lat")}}function Xe(e,a,_){var s=" ";return(20<=e%100||100<=e&&e%100==0)&&(s=" de "),e+s+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"}[_]}function ea(e,a,_){var s,d;return"m"===_?a?"\u043c\u0438\u043d\u0443\u0442\u0430":"\u043c\u0438\u043d\u0443\u0442\u0443":e+" "+(s=+e,d={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u043c\u0438\u043d\u0443\u0442\u0430_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442":"\u043c\u0438\u043d\u0443\u0442\u0443_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442",hh:"\u0447\u0430\u0441_\u0447\u0430\u0441\u0430_\u0447\u0430\u0441\u043e\u0432",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u044f_\u0434\u043d\u0435\u0439",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u0430_\u043c\u0435\u0441\u044f\u0446\u0435\u0432",yy:"\u0433\u043e\u0434_\u0433\u043e\u0434\u0430_\u043b\u0435\u0442"}[_].split("_"),s%10==1&&s%100!=11?d[0]:2<=s%10&&s%10<=4&&(s%100<10||20<=s%100)?d[1]:d[2])}e.defineLocale("pl",{months:function(e,a){return e?""===a?"("+Qe[e.month()]+"|"+$e[e.month()]+")":/D MMMM/.test(a)?Qe[e.month()]:$e[e.month()]:$e},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_pa\u017a_lis_gru".split("_"),weekdays:"niedziela_poniedzia\u0142ek_wtorek_\u015broda_czwartek_pi\u0105tek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_\u015br_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_\u015ar_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\u015b o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedziel\u0119 o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W \u015brod\u0119 o] LT";case 6:return"[W sobot\u0119 o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zesz\u0142\u0105 niedziel\u0119 o] LT";case 3:return"[W zesz\u0142\u0105 \u015brod\u0119 o] LT";case 6:return"[W zesz\u0142\u0105 sobot\u0119 o] LT";default:return"[W zesz\u0142y] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:Ze,m:Ze,mm:Ze,h:Ze,hh:Ze,d:"1 dzie\u0144",dd:"%d dni",M:"miesi\u0105c",MM:Ze,y:"rok",yy:Ze},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("pt-br",{months:"Janeiro_Fevereiro_Mar\xe7o_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [\xe0s] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [\xe0s] HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba"}),e.defineLocale("pt",{months:"Janeiro_Fevereiro_Mar\xe7o_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),e.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminic\u0103_luni_mar\u021bi_miercuri_joi_vineri_s\xe2mb\u0103t\u0103".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_S\xe2m".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_S\xe2".split("_"),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:"[azi la] LT",nextDay:"[m\xe2ine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s \xeen urm\u0103",s:"c\xe2teva secunde",ss:Xe,m:"un minut",mm:Xe,h:"o or\u0103",hh:Xe,d:"o zi",dd:Xe,M:"o lun\u0103",MM:Xe,y:"un an",yy:Xe},week:{dow:1,doy:7}});var aa=[/^\u044f\u043d\u0432/i,/^\u0444\u0435\u0432/i,/^\u043c\u0430\u0440/i,/^\u0430\u043f\u0440/i,/^\u043c\u0430[\u0439\u044f]/i,/^\u0438\u044e\u043d/i,/^\u0438\u044e\u043b/i,/^\u0430\u0432\u0433/i,/^\u0441\u0435\u043d/i,/^\u043e\u043a\u0442/i,/^\u043d\u043e\u044f/i,/^\u0434\u0435\u043a/i];e.defineLocale("ru",{months:{format:"\u044f\u043d\u0432\u0430\u0440\u044f_\u0444\u0435\u0432\u0440\u0430\u043b\u044f_\u043c\u0430\u0440\u0442\u0430_\u0430\u043f\u0440\u0435\u043b\u044f_\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433\u0443\u0441\u0442\u0430_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f_\u043e\u043a\u0442\u044f\u0431\u0440\u044f_\u043d\u043e\u044f\u0431\u0440\u044f_\u0434\u0435\u043a\u0430\u0431\u0440\u044f".split("_"),standalone:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_")},monthsShort:{format:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_"),standalone:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440\u0442_\u0430\u043f\u0440._\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_")},weekdays:{standalone:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0430_\u0441\u0443\u0431\u0431\u043e\u0442\u0430".split("_"),format:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0443_\u0441\u0443\u0431\u0431\u043e\u0442\u0443".split("_"),isFormat:/\[ ?[\u0412\u0432] ?(?:\u043f\u0440\u043e\u0448\u043b\u0443\u044e|\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e|\u044d\u0442\u0443)? ?\] ?dddd/},weekdaysShort:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),monthsParse:aa,longMonthsParse:aa,shortMonthsParse:aa,monthsRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsShortRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsStrictRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044f\u044c]|\u0444\u0435\u0432\u0440\u0430\u043b[\u044f\u044c]|\u043c\u0430\u0440\u0442\u0430?|\u0430\u043f\u0440\u0435\u043b[\u044f\u044c]|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044f\u044c]|\u0438\u044e\u043b[\u044f\u044c]|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043e\u043a\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043d\u043e\u044f\u0431\u0440[\u044f\u044c]|\u0434\u0435\u043a\u0430\u0431\u0440[\u044f\u044c])/i,monthsShortStrictRegex:/^(\u044f\u043d\u0432\.|\u0444\u0435\u0432\u0440?\.|\u043c\u0430\u0440[\u0442.]|\u0430\u043f\u0440\.|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044c\u044f.]|\u0438\u044e\u043b[\u044c\u044f.]|\u0430\u0432\u0433\.|\u0441\u0435\u043d\u0442?\.|\u043e\u043a\u0442\.|\u043d\u043e\u044f\u0431?\.|\u0434\u0435\u043a\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., H:mm",LLLL:"dddd, D MMMM YYYY \u0433., H:mm"},calendar:{sameDay:"[\u0421\u0435\u0433\u043e\u0434\u043d\u044f, \u0432] LT",nextDay:"[\u0417\u0430\u0432\u0442\u0440\u0430, \u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430, \u0432] LT",nextWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e] dddd, [\u0432] LT"}},lastWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u044b\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u0443\u044e] dddd, [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0447\u0435\u0440\u0435\u0437 %s",past:"%s \u043d\u0430\u0437\u0430\u0434",s:"\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434",ss:ea,m:ea,mm:ea,h:"\u0447\u0430\u0441",hh:ea,d:"\u0434\u0435\u043d\u044c",dd:ea,M:"\u043c\u0435\u0441\u044f\u0446",MM:ea,y:"\u0433\u043e\u0434",yy:ea},meridiemParse:/\u043d\u043e\u0447\u0438|\u0443\u0442\u0440\u0430|\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430/i,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430)$/.test(e)},meridiem:function(e,a,_){return e<4?"\u043d\u043e\u0447\u0438":e<12?"\u0443\u0442\u0440\u0430":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0435\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e|\u044f)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":return e+"-\u0439";case"D":return e+"-\u0433\u043e";case"w":case"W":return e+"-\u044f";default:return e}},week:{dow:1,doy:4}});var _a=["\u062c\u0646\u0648\u0631\u064a","\u0641\u064a\u0628\u0631\u0648\u0631\u064a","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u064a\u0644","\u0645\u0626\u064a","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0621\u0650","\u0622\u06af\u0633\u067d","\u0633\u064a\u067e\u067d\u0645\u0628\u0631","\u0622\u06aa\u067d\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u068a\u0633\u0645\u0628\u0631"],sa=["\u0622\u0686\u0631","\u0633\u0648\u0645\u0631","\u0627\u06b1\u0627\u0631\u0648","\u0627\u0631\u0628\u0639","\u062e\u0645\u064a\u0633","\u062c\u0645\u0639","\u0687\u0646\u0687\u0631"];e.defineLocale("sd",{months:_a,monthsShort:_a,weekdays:sa,weekdaysShort:sa,weekdaysMin:sa,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(e){return"\u0634\u0627\u0645"===e},meridiem:function(e,a,_){return e<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0627\u0684] LT",nextDay:"[\u0633\u0680\u0627\u06bb\u064a] LT",nextWeek:"dddd [\u0627\u06b3\u064a\u0646 \u0647\u0641\u062a\u064a \u062a\u064a] LT",lastDay:"[\u06aa\u0627\u0644\u0647\u0647] LT",lastWeek:"[\u06af\u0632\u0631\u064a\u0644 \u0647\u0641\u062a\u064a] dddd [\u062a\u064a] LT",sameElse:"L"},relativeTime:{future:"%s \u067e\u0648\u0621",past:"%s \u0627\u06b3",s:"\u0686\u0646\u062f \u0633\u064a\u06aa\u0646\u068a",ss:"%d \u0633\u064a\u06aa\u0646\u068a",m:"\u0647\u06aa \u0645\u0646\u067d",mm:"%d \u0645\u0646\u067d",h:"\u0647\u06aa \u06aa\u0644\u0627\u06aa",hh:"%d \u06aa\u0644\u0627\u06aa",d:"\u0647\u06aa \u068f\u064a\u0646\u0647\u0646",dd:"%d \u068f\u064a\u0646\u0647\u0646",M:"\u0647\u06aa \u0645\u0647\u064a\u0646\u0648",MM:"%d \u0645\u0647\u064a\u0646\u0627",y:"\u0647\u06aa \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:4}}),e.defineLocale("se",{months:"o\u0111\u0111ajagem\xe1nnu_guovvam\xe1nnu_njuk\u010dam\xe1nnu_cuo\u014bom\xe1nnu_miessem\xe1nnu_geassem\xe1nnu_suoidnem\xe1nnu_borgem\xe1nnu_\u010dak\u010dam\xe1nnu_golggotm\xe1nnu_sk\xe1bmam\xe1nnu_juovlam\xe1nnu".split("_"),monthsShort:"o\u0111\u0111j_guov_njuk_cuo_mies_geas_suoi_borg_\u010dak\u010d_golg_sk\xe1b_juov".split("_"),weekdays:"sotnabeaivi_vuoss\xe1rga_ma\u014b\u014beb\xe1rga_gaskavahkku_duorastat_bearjadat_l\xe1vvardat".split("_"),weekdaysShort:"sotn_vuos_ma\u014b_gask_duor_bear_l\xe1v".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\u017ees",past:"ma\u014bit %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\xe1nnu",MM:"%d m\xe1nut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("si",{months:"\u0da2\u0db1\u0dc0\u0dcf\u0dbb\u0dd2_\u0db4\u0dd9\u0db6\u0dbb\u0dc0\u0dcf\u0dbb\u0dd2_\u0db8\u0dcf\u0dbb\u0dca\u0dad\u0dd4_\u0d85\u0db4\u0dca\u200d\u0dbb\u0dda\u0dbd\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd\u0dc3\u0dca\u0dad\u0dd4_\u0dc3\u0dd0\u0db4\u0dca\u0dad\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0d94\u0d9a\u0dca\u0dad\u0ddd\u0db6\u0dbb\u0dca_\u0db1\u0ddc\u0dc0\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0daf\u0dd9\u0dc3\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca".split("_"),monthsShort:"\u0da2\u0db1_\u0db4\u0dd9\u0db6_\u0db8\u0dcf\u0dbb\u0dca_\u0d85\u0db4\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd_\u0dc3\u0dd0\u0db4\u0dca_\u0d94\u0d9a\u0dca_\u0db1\u0ddc\u0dc0\u0dd0_\u0daf\u0dd9\u0dc3\u0dd0".split("_"),weekdays:"\u0d89\u0dbb\u0dd2\u0daf\u0dcf_\u0dc3\u0db3\u0dd4\u0daf\u0dcf_\u0d85\u0d9f\u0dc4\u0dbb\u0dd4\u0dc0\u0dcf\u0daf\u0dcf_\u0db6\u0daf\u0dcf\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4\u0dc3\u0dca\u0db4\u0dad\u0dd2\u0db1\u0dca\u0daf\u0dcf_\u0dc3\u0dd2\u0d9a\u0dd4\u0dbb\u0dcf\u0daf\u0dcf_\u0dc3\u0dd9\u0db1\u0dc3\u0dd4\u0dbb\u0dcf\u0daf\u0dcf".split("_"),weekdaysShort:"\u0d89\u0dbb\u0dd2_\u0dc3\u0db3\u0dd4_\u0d85\u0d9f_\u0db6\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4_\u0dc3\u0dd2\u0d9a\u0dd4_\u0dc3\u0dd9\u0db1".split("_"),weekdaysMin:"\u0d89_\u0dc3_\u0d85_\u0db6_\u0db6\u0dca\u200d\u0dbb_\u0dc3\u0dd2_\u0dc3\u0dd9".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [\u0dc0\u0dd0\u0db1\u0dd2] dddd, a h:mm:ss"},calendar:{sameDay:"[\u0d85\u0daf] LT[\u0da7]",nextDay:"[\u0dc4\u0dd9\u0da7] LT[\u0da7]",nextWeek:"dddd LT[\u0da7]",lastDay:"[\u0d8a\u0dba\u0dda] LT[\u0da7]",lastWeek:"[\u0db4\u0dc3\u0dd4\u0d9c\u0dd2\u0dba] dddd LT[\u0da7]",sameElse:"L"},relativeTime:{future:"%s\u0d9a\u0dd2\u0db1\u0dca",past:"%s\u0d9a\u0da7 \u0db4\u0dd9\u0dbb",s:"\u0dad\u0dad\u0dca\u0db4\u0dbb \u0d9a\u0dd2\u0dc4\u0dd2\u0db4\u0dba",ss:"\u0dad\u0dad\u0dca\u0db4\u0dbb %d",m:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4\u0dc0",mm:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4 %d",h:"\u0db4\u0dd0\u0dba",hh:"\u0db4\u0dd0\u0dba %d",d:"\u0daf\u0dd2\u0db1\u0dba",dd:"\u0daf\u0dd2\u0db1 %d",M:"\u0db8\u0dcf\u0dc3\u0dba",MM:"\u0db8\u0dcf\u0dc3 %d",y:"\u0dc0\u0dc3\u0dbb",yy:"\u0dc0\u0dc3\u0dbb %d"},dayOfMonthOrdinalParse:/\d{1,2} \u0dc0\u0dd0\u0db1\u0dd2/,ordinal:function(e){return e+" \u0dc0\u0dd0\u0db1\u0dd2"},meridiemParse:/\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4|\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4|\u0db4\u0dd9.\u0dc0|\u0db4.\u0dc0./,isPM:function(e){return"\u0db4.\u0dc0."===e||"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4"===e},meridiem:function(e,a,_){return 11<e?_?"\u0db4.\u0dc0.":"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4":_?"\u0db4\u0dd9.\u0dc0.":"\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4"}});var da="janu\xe1r_febru\xe1r_marec_apr\xedl_m\xe1j_j\xfan_j\xfal_august_september_okt\xf3ber_november_december".split("_"),ta="jan_feb_mar_apr_m\xe1j_j\xfan_j\xfal_aug_sep_okt_nov_dec".split("_");function na(e){return 1<e&&e<5}function ra(e,a,_,s){var d=e+" ";switch(_){case"s":return a||s?"p\xe1r sek\xfand":"p\xe1r sekundami";case"ss":return a||s?d+(na(e)?"sekundy":"sek\xfand"):d+"sekundami";break;case"m":return a?"min\xfata":s?"min\xfatu":"min\xfatou";case"mm":return a||s?d+(na(e)?"min\xfaty":"min\xfat"):d+"min\xfatami";break;case"h":return a?"hodina":s?"hodinu":"hodinou";case"hh":return a||s?d+(na(e)?"hodiny":"hod\xedn"):d+"hodinami";break;case"d":return a||s?"de\u0148":"d\u0148om";case"dd":return a||s?d+(na(e)?"dni":"dn\xed"):d+"d\u0148ami";break;case"M":return a||s?"mesiac":"mesiacom";case"MM":return a||s?d+(na(e)?"mesiace":"mesiacov"):d+"mesiacmi";break;case"y":return a||s?"rok":"rokom";case"yy":return a||s?d+(na(e)?"roky":"rokov"):d+"rokmi";break}}function ia(e,a,_,s){var d=e+" ";switch(_){case"s":return a||s?"nekaj sekund":"nekaj sekundami";case"ss":return d+=1===e?a?"sekundo":"sekundi":2===e?a||s?"sekundi":"sekundah":e<5?a||s?"sekunde":"sekundah":"sekund";case"m":return a?"ena minuta":"eno minuto";case"mm":return d+=1===e?a?"minuta":"minuto":2===e?a||s?"minuti":"minutama":e<5?a||s?"minute":"minutami":a||s?"minut":"minutami";case"h":return a?"ena ura":"eno uro";case"hh":return d+=1===e?a?"ura":"uro":2===e?a||s?"uri":"urama":e<5?a||s?"ure":"urami":a||s?"ur":"urami";case"d":return a||s?"en dan":"enim dnem";case"dd":return d+=1===e?a||s?"dan":"dnem":2===e?a||s?"dni":"dnevoma":a||s?"dni":"dnevi";case"M":return a||s?"en mesec":"enim mesecem";case"MM":return d+=1===e?a||s?"mesec":"mesecem":2===e?a||s?"meseca":"mesecema":e<5?a||s?"mesece":"meseci":a||s?"mesecev":"meseci";case"y":return a||s?"eno leto":"enim letom";case"yy":return d+=1===e?a||s?"leto":"letom":2===e?a||s?"leti":"letoma":e<5?a||s?"leta":"leti":a||s?"let":"leti"}}e.defineLocale("sk",{months:da,monthsShort:ta,weekdays:"nede\u013ea_pondelok_utorok_streda_\u0161tvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_\u0161t_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_\u0161t_pi_so".split("_"),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:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nede\u013eu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo \u0161tvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[v\u010dera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minul\xfa nede\u013eu o] LT";case 1:case 2:return"[minul\xfd] dddd [o] LT";case 3:return"[minul\xfa stredu o] LT";case 4:case 5:return"[minul\xfd] dddd [o] LT";case 6:return"[minul\xfa sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:ra,ss:ra,m:ra,mm:ra,h:ra,hh:ra,d:ra,dd:ra,M:ra,MM:ra,y:ra,yy:ra},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),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_\u010detrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._\u010det._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_\u010de_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\u010deraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prej\u0161njo] [nedeljo] [ob] LT";case 3:return"[prej\u0161njo] [sredo] [ob] LT";case 6:return"[prej\u0161njo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prej\u0161nji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"\u010dez %s",past:"pred %s",s:ia,ss:ia,m:ia,mm:ia,h:ia,hh:ia,d:ia,dd:ia,M:ia,MM:ia,y:ia,yy:ia},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),e.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_N\xebntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_N\xebn_Dhj".split("_"),weekdays:"E Diel_E H\xebn\xeb_E Mart\xeb_E M\xebrkur\xeb_E Enjte_E Premte_E Shtun\xeb".split("_"),weekdaysShort:"Die_H\xebn_Mar_M\xebr_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_M\xeb_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(e){return"M"===e.charAt(0)},meridiem:function(e,a,_){return e<12?"PD":"MD"},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:"[Sot n\xeb] LT",nextDay:"[Nes\xebr n\xeb] LT",nextWeek:"dddd [n\xeb] LT",lastDay:"[Dje n\xeb] LT",lastWeek:"dddd [e kaluar n\xeb] LT",sameElse:"L"},relativeTime:{future:"n\xeb %s",past:"%s m\xeb par\xeb",s:"disa sekonda",ss:"%d sekonda",m:"nj\xeb minut\xeb",mm:"%d minuta",h:"nj\xeb or\xeb",hh:"%d or\xeb",d:"nj\xeb dit\xeb",dd:"%d dit\xeb",M:"nj\xeb muaj",MM:"%d muaj",y:"nj\xeb vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var ma={words:{ss:["\u0441\u0435\u043a\u0443\u043d\u0434\u0430","\u0441\u0435\u043a\u0443\u043d\u0434\u0435","\u0441\u0435\u043a\u0443\u043d\u0434\u0438"],m:["\u0458\u0435\u0434\u0430\u043d \u043c\u0438\u043d\u0443\u0442","\u0458\u0435\u0434\u043d\u0435 \u043c\u0438\u043d\u0443\u0442\u0435"],mm:["\u043c\u0438\u043d\u0443\u0442","\u043c\u0438\u043d\u0443\u0442\u0435","\u043c\u0438\u043d\u0443\u0442\u0430"],h:["\u0458\u0435\u0434\u0430\u043d \u0441\u0430\u0442","\u0458\u0435\u0434\u043d\u043e\u0433 \u0441\u0430\u0442\u0430"],hh:["\u0441\u0430\u0442","\u0441\u0430\u0442\u0430","\u0441\u0430\u0442\u0438"],dd:["\u0434\u0430\u043d","\u0434\u0430\u043d\u0430","\u0434\u0430\u043d\u0430"],MM:["\u043c\u0435\u0441\u0435\u0446","\u043c\u0435\u0441\u0435\u0446\u0430","\u043c\u0435\u0441\u0435\u0446\u0438"],yy:["\u0433\u043e\u0434\u0438\u043d\u0430","\u0433\u043e\u0434\u0438\u043d\u0435","\u0433\u043e\u0434\u0438\u043d\u0430"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:2<=e&&e<=4?a[1]:a[2]},translate:function(e,a,_){var s=ma.words[_];return 1===_.length?a?s[0]:s[1]:e+" "+ma.correctGrammaticalCase(e,s)}};e.defineLocale("sr-cyrl",{months:"\u0458\u0430\u043d\u0443\u0430\u0440_\u0444\u0435\u0431\u0440\u0443\u0430\u0440_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440_\u043e\u043a\u0442\u043e\u0431\u0430\u0440_\u043d\u043e\u0432\u0435\u043c\u0431\u0430\u0440_\u0434\u0435\u0446\u0435\u043c\u0431\u0430\u0440".split("_"),monthsShort:"\u0458\u0430\u043d._\u0444\u0435\u0431._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433._\u0441\u0435\u043f._\u043e\u043a\u0442._\u043d\u043e\u0432._\u0434\u0435\u0446.".split("_"),monthsParseExact:!0,weekdays:"\u043d\u0435\u0434\u0435\u0459\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a_\u0443\u0442\u043e\u0440\u0430\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u0430\u043a_\u043f\u0435\u0442\u0430\u043a_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434._\u043f\u043e\u043d._\u0443\u0442\u043e._\u0441\u0440\u0435._\u0447\u0435\u0442._\u043f\u0435\u0442._\u0441\u0443\u0431.".split("_"),weekdaysMin:"\u043d\u0435_\u043f\u043e_\u0443\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441\u0443".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:"[\u0434\u0430\u043d\u0430\u0441 \u0443] LT",nextDay:"[\u0441\u0443\u0442\u0440\u0430 \u0443] LT",nextWeek:function(){switch(this.day()){case 0:return"[\u0443] [\u043d\u0435\u0434\u0435\u0459\u0443] [\u0443] LT";case 3:return"[\u0443] [\u0441\u0440\u0435\u0434\u0443] [\u0443] LT";case 6:return"[\u0443] [\u0441\u0443\u0431\u043e\u0442\u0443] [\u0443] LT";case 1:case 2:case 4:case 5:return"[\u0443] dddd [\u0443] LT"}},lastDay:"[\u0458\u0443\u0447\u0435 \u0443] LT",lastWeek:function(){return["[\u043f\u0440\u043e\u0448\u043b\u0435] [\u043d\u0435\u0434\u0435\u0459\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0443\u0442\u043e\u0440\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0440\u0435\u0434\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0447\u0435\u0442\u0432\u0440\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u0435\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0443\u0431\u043e\u0442\u0435] [\u0443] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"\u043f\u0440\u0435 %s",s:"\u043d\u0435\u043a\u043e\u043b\u0438\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:ma.translate,m:ma.translate,mm:ma.translate,h:ma.translate,hh:ma.translate,d:"\u0434\u0430\u043d",dd:ma.translate,M:"\u043c\u0435\u0441\u0435\u0446",MM:ma.translate,y:"\u0433\u043e\u0434\u0438\u043d\u0443",yy:ma.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var oa={words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:2<=e&&e<=4?a[1]:a[2]},translate:function(e,a,_){var s=oa.words[_];return 1===_.length?a?s[0]:s[1]:e+" "+oa.correctGrammaticalCase(e,s)}};e.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".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:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedelje] [u] LT","[pro\u0161log] [ponedeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:oa.translate,m:oa.translate,mm:oa.translate,h:oa.translate,hh:oa.translate,d:"dan",dd:oa.translate,M:"mesec",MM:oa.translate,y:"godinu",yy:oa.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),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,a,_){return e<11?"ekuseni":e<15?"emini":e<19?"entsambama":"ebusuku"},meridiemHour:function(e,a){return 12===e&&(e=0),"ekuseni"===a?e:"emini"===a?11<=e?e:e+12:"entsambama"===a||"ebusuku"===a?0===e?0:e+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}}),e.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf6ndag_m\xe5ndag_tisdag_onsdag_torsdag_fredag_l\xf6rdag".split("_"),weekdaysShort:"s\xf6n_m\xe5n_tis_ons_tor_fre_l\xf6r".split("_"),weekdaysMin:"s\xf6_m\xe5_ti_on_to_fr_l\xf6".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Ig\xe5r] LT",nextWeek:"[P\xe5] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"f\xf6r %s sedan",s:"n\xe5gra sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en m\xe5nad",MM:"%d m\xe5nader",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}(e|a)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"e":1===a?"a":2===a?"a":"e")},week:{dow:1,doy:4}}),e.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".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:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}});var ua={1:"\u0be7",2:"\u0be8",3:"\u0be9",4:"\u0bea",5:"\u0beb",6:"\u0bec",7:"\u0bed",8:"\u0bee",9:"\u0bef",0:"\u0be6"},la={"\u0be7":"1","\u0be8":"2","\u0be9":"3","\u0bea":"4","\u0beb":"5","\u0bec":"6","\u0bed":"7","\u0bee":"8","\u0bef":"9","\u0be6":"0"};e.defineLocale("ta",{months:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),monthsShort:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),weekdays:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bcd\u0bb1\u0bc1\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0b9f\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0ba9\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8".split("_"),weekdaysShort:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bc1_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0bb3\u0bcd_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0ba9\u0bcd_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf_\u0b9a\u0ba9\u0bbf".split("_"),weekdaysMin:"\u0b9e\u0bbe_\u0ba4\u0bbf_\u0b9a\u0bc6_\u0baa\u0bc1_\u0bb5\u0bbf_\u0bb5\u0bc6_\u0b9a".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:"[\u0b87\u0ba9\u0bcd\u0bb1\u0bc1] LT",nextDay:"[\u0ba8\u0bbe\u0bb3\u0bc8] LT",nextWeek:"dddd, LT",lastDay:"[\u0ba8\u0bc7\u0bb1\u0bcd\u0bb1\u0bc1] LT",lastWeek:"[\u0b95\u0b9f\u0ba8\u0bcd\u0ba4 \u0bb5\u0bbe\u0bb0\u0bae\u0bcd] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0b87\u0bb2\u0bcd",past:"%s \u0bae\u0bc1\u0ba9\u0bcd",s:"\u0b92\u0bb0\u0bc1 \u0b9a\u0bbf\u0bb2 \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",ss:"%d \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",m:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0bae\u0bcd",mm:"%d \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0b99\u0bcd\u0b95\u0bb3\u0bcd",h:"\u0b92\u0bb0\u0bc1 \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",hh:"%d \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",d:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbe\u0bb3\u0bcd",dd:"%d \u0ba8\u0bbe\u0b9f\u0bcd\u0b95\u0bb3\u0bcd",M:"\u0b92\u0bb0\u0bc1 \u0bae\u0bbe\u0ba4\u0bae\u0bcd",MM:"%d \u0bae\u0bbe\u0ba4\u0b99\u0bcd\u0b95\u0bb3\u0bcd",y:"\u0b92\u0bb0\u0bc1 \u0bb5\u0bb0\u0bc1\u0b9f\u0bae\u0bcd",yy:"%d \u0b86\u0ba3\u0bcd\u0b9f\u0bc1\u0b95\u0bb3\u0bcd"},dayOfMonthOrdinalParse:/\d{1,2}\u0bb5\u0ba4\u0bc1/,ordinal:function(e){return e+"\u0bb5\u0ba4\u0bc1"},preparse:function(e){return e.replace(/[\u0be7\u0be8\u0be9\u0bea\u0beb\u0bec\u0bed\u0bee\u0bef\u0be6]/g,function(e){return la[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return ua[e]})},meridiemParse:/\u0baf\u0bbe\u0bae\u0bae\u0bcd|\u0bb5\u0bc8\u0b95\u0bb1\u0bc8|\u0b95\u0bbe\u0bb2\u0bc8|\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd|\u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1|\u0bae\u0bbe\u0bb2\u0bc8/,meridiem:function(e,a,_){return e<2?" \u0baf\u0bbe\u0bae\u0bae\u0bcd":e<6?" \u0bb5\u0bc8\u0b95\u0bb1\u0bc8":e<10?" \u0b95\u0bbe\u0bb2\u0bc8":e<14?" \u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd":e<18?" \u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1":e<22?" \u0bae\u0bbe\u0bb2\u0bc8":" \u0baf\u0bbe\u0bae\u0bae\u0bcd"},meridiemHour:function(e,a){return 12===e&&(e=0),"\u0baf\u0bbe\u0bae\u0bae\u0bcd"===a?e<2?e:e+12:"\u0bb5\u0bc8\u0b95\u0bb1\u0bc8"===a||"\u0b95\u0bbe\u0bb2\u0bc8"===a?e:"\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd"===a&&10<=e?e:e+12},week:{dow:0,doy:6}}),e.defineLocale("te",{months:"\u0c1c\u0c28\u0c35\u0c30\u0c3f_\u0c2b\u0c3f\u0c2c\u0c4d\u0c30\u0c35\u0c30\u0c3f_\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f\u0c32\u0c4d_\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c41\u0c32\u0c48_\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41_\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d_\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d_\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d_\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d".split("_"),monthsShort:"\u0c1c\u0c28._\u0c2b\u0c3f\u0c2c\u0c4d\u0c30._\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f._\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c41\u0c32\u0c48_\u0c06\u0c17._\u0c38\u0c46\u0c2a\u0c4d._\u0c05\u0c15\u0c4d\u0c1f\u0c4b._\u0c28\u0c35._\u0c21\u0c3f\u0c38\u0c46.".split("_"),monthsParseExact:!0,weekdays:"\u0c06\u0c26\u0c3f\u0c35\u0c3e\u0c30\u0c02_\u0c38\u0c4b\u0c2e\u0c35\u0c3e\u0c30\u0c02_\u0c2e\u0c02\u0c17\u0c33\u0c35\u0c3e\u0c30\u0c02_\u0c2c\u0c41\u0c27\u0c35\u0c3e\u0c30\u0c02_\u0c17\u0c41\u0c30\u0c41\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c41\u0c15\u0c4d\u0c30\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c28\u0c3f\u0c35\u0c3e\u0c30\u0c02".split("_"),weekdaysShort:"\u0c06\u0c26\u0c3f_\u0c38\u0c4b\u0c2e_\u0c2e\u0c02\u0c17\u0c33_\u0c2c\u0c41\u0c27_\u0c17\u0c41\u0c30\u0c41_\u0c36\u0c41\u0c15\u0c4d\u0c30_\u0c36\u0c28\u0c3f".split("_"),weekdaysMin:"\u0c06_\u0c38\u0c4b_\u0c2e\u0c02_\u0c2c\u0c41_\u0c17\u0c41_\u0c36\u0c41_\u0c36".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:"[\u0c28\u0c47\u0c21\u0c41] LT",nextDay:"[\u0c30\u0c47\u0c2a\u0c41] LT",nextWeek:"dddd, LT",lastDay:"[\u0c28\u0c3f\u0c28\u0c4d\u0c28] LT",lastWeek:"[\u0c17\u0c24] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0c32\u0c4b",past:"%s \u0c15\u0c4d\u0c30\u0c3f\u0c24\u0c02",s:"\u0c15\u0c4a\u0c28\u0c4d\u0c28\u0c3f \u0c15\u0c4d\u0c37\u0c23\u0c3e\u0c32\u0c41",ss:"%d \u0c38\u0c46\u0c15\u0c28\u0c4d\u0c32\u0c41",m:"\u0c12\u0c15 \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c02",mm:"%d \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c3e\u0c32\u0c41",h:"\u0c12\u0c15 \u0c17\u0c02\u0c1f",hh:"%d \u0c17\u0c02\u0c1f\u0c32\u0c41",d:"\u0c12\u0c15 \u0c30\u0c4b\u0c1c\u0c41",dd:"%d \u0c30\u0c4b\u0c1c\u0c41\u0c32\u0c41",M:"\u0c12\u0c15 \u0c28\u0c46\u0c32",MM:"%d \u0c28\u0c46\u0c32\u0c32\u0c41",y:"\u0c12\u0c15 \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c02",yy:"%d \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c3e\u0c32\u0c41"},dayOfMonthOrdinalParse:/\d{1,2}\u0c35/,ordinal:"%d\u0c35",meridiemParse:/\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f|\u0c09\u0c26\u0c2f\u0c02|\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02|\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"===a?e<4?e:e+12:"\u0c09\u0c26\u0c2f\u0c02"===a?e:"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02"===a?10<=e?e:e+12:"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f":e<10?"\u0c09\u0c26\u0c2f\u0c02":e<17?"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02":e<20?"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02":"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"},week:{dow:0,doy:6}}),e.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Ju\xf1u_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".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:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",ss:"minutu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}});var Ma={0:"-\u0443\u043c",1:"-\u0443\u043c",2:"-\u044e\u043c",3:"-\u044e\u043c",4:"-\u0443\u043c",5:"-\u0443\u043c",6:"-\u0443\u043c",7:"-\u0443\u043c",8:"-\u0443\u043c",9:"-\u0443\u043c",10:"-\u0443\u043c",12:"-\u0443\u043c",13:"-\u0443\u043c",20:"-\u0443\u043c",30:"-\u044e\u043c",40:"-\u0443\u043c",50:"-\u0443\u043c",60:"-\u0443\u043c",70:"-\u0443\u043c",80:"-\u0443\u043c",90:"-\u0443\u043c",100:"-\u0443\u043c"};e.defineLocale("tg",{months:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u044f\u043a\u0448\u0430\u043d\u0431\u0435_\u0434\u0443\u0448\u0430\u043d\u0431\u0435_\u0441\u0435\u0448\u0430\u043d\u0431\u0435_\u0447\u043e\u0440\u0448\u0430\u043d\u0431\u0435_\u043f\u0430\u043d\u04b7\u0448\u0430\u043d\u0431\u0435_\u04b7\u0443\u043c\u044a\u0430_\u0448\u0430\u043d\u0431\u0435".split("_"),weekdaysShort:"\u044f\u0448\u0431_\u0434\u0448\u0431_\u0441\u0448\u0431_\u0447\u0448\u0431_\u043f\u0448\u0431_\u04b7\u0443\u043c_\u0448\u043d\u0431".split("_"),weekdaysMin:"\u044f\u0448_\u0434\u0448_\u0441\u0448_\u0447\u0448_\u043f\u0448_\u04b7\u043c_\u0448\u0431".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:"[\u0418\u043c\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextDay:"[\u041f\u0430\u0433\u043e\u04b3 \u0441\u043e\u0430\u0442\u0438] LT",lastDay:"[\u0414\u0438\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u043e\u044f\u043d\u0434\u0430 \u0441\u043e\u0430\u0442\u0438] LT",lastWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u0433\u0443\u0437\u0430\u0448\u0442\u0430 \u0441\u043e\u0430\u0442\u0438] LT",sameElse:"L"},relativeTime:{future:"\u0431\u0430\u044a\u0434\u0438 %s",past:"%s \u043f\u0435\u0448",s:"\u044f\u043a\u0447\u0430\u043d\u0434 \u0441\u043e\u043d\u0438\u044f",m:"\u044f\u043a \u0434\u0430\u049b\u0438\u049b\u0430",mm:"%d \u0434\u0430\u049b\u0438\u049b\u0430",h:"\u044f\u043a \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u044f\u043a \u0440\u04ef\u0437",dd:"%d \u0440\u04ef\u0437",M:"\u044f\u043a \u043c\u043e\u04b3",MM:"%d \u043c\u043e\u04b3",y:"\u044f\u043a \u0441\u043e\u043b",yy:"%d \u0441\u043e\u043b"},meridiemParse:/\u0448\u0430\u0431|\u0441\u0443\u0431\u04b3|\u0440\u04ef\u0437|\u0431\u0435\u0433\u043e\u04b3/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0448\u0430\u0431"===a?e<4?e:e+12:"\u0441\u0443\u0431\u04b3"===a?e:"\u0440\u04ef\u0437"===a?11<=e?e:e+12:"\u0431\u0435\u0433\u043e\u04b3"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0448\u0430\u0431":e<11?"\u0441\u0443\u0431\u04b3":e<16?"\u0440\u04ef\u0437":e<19?"\u0431\u0435\u0433\u043e\u04b3":"\u0448\u0430\u0431"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0443\u043c|\u044e\u043c)/,ordinal:function(e){return e+(Ma[e]||Ma[e%10]||Ma[100<=e?100:null])},week:{dow:1,doy:7}}),e.defineLocale("th",{months:"\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21_\u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c_\u0e21\u0e35\u0e19\u0e32\u0e04\u0e21_\u0e40\u0e21\u0e29\u0e32\u0e22\u0e19_\u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21_\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19_\u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21_\u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21_\u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19_\u0e15\u0e38\u0e25\u0e32\u0e04\u0e21_\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19_\u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21".split("_"),monthsShort:"\u0e21.\u0e04._\u0e01.\u0e1e._\u0e21\u0e35.\u0e04._\u0e40\u0e21.\u0e22._\u0e1e.\u0e04._\u0e21\u0e34.\u0e22._\u0e01.\u0e04._\u0e2a.\u0e04._\u0e01.\u0e22._\u0e15.\u0e04._\u0e1e.\u0e22._\u0e18.\u0e04.".split("_"),monthsParseExact:!0,weekdays:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysShort:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysMin:"\u0e2d\u0e32._\u0e08._\u0e2d._\u0e1e._\u0e1e\u0e24._\u0e28._\u0e2a.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 H:mm",LLLL:"\u0e27\u0e31\u0e19dddd\u0e17\u0e35\u0e48 D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 H:mm"},meridiemParse:/\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07|\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07/,isPM:function(e){return"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"===e},meridiem:function(e,a,_){return e<12?"\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07":"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"},calendar:{sameDay:"[\u0e27\u0e31\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextDay:"[\u0e1e\u0e23\u0e38\u0e48\u0e07\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextWeek:"dddd[\u0e2b\u0e19\u0e49\u0e32 \u0e40\u0e27\u0e25\u0e32] LT",lastDay:"[\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e27\u0e32\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",lastWeek:"[\u0e27\u0e31\u0e19]dddd[\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27 \u0e40\u0e27\u0e25\u0e32] LT",sameElse:"L"},relativeTime:{future:"\u0e2d\u0e35\u0e01 %s",past:"%s\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27",s:"\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",ss:"%d \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",m:"1 \u0e19\u0e32\u0e17\u0e35",mm:"%d \u0e19\u0e32\u0e17\u0e35",h:"1 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",hh:"%d \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",d:"1 \u0e27\u0e31\u0e19",dd:"%d \u0e27\u0e31\u0e19",M:"1 \u0e40\u0e14\u0e37\u0e2d\u0e19",MM:"%d \u0e40\u0e14\u0e37\u0e2d\u0e19",y:"1 \u0e1b\u0e35",yy:"%d \u0e1b\u0e35"}}),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}});var La="pagh_wa\u2019_cha\u2019_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");function Ya(e,a,_,s){var d=function(e){var a=Math.floor(e%1e3/100),_=Math.floor(e%100/10),s=e%10,d="";0<a&&(d+=La[a]+"vatlh");0<_&&(d+=(""!==d?" ":"")+La[_]+"maH");0<s&&(d+=(""!==d?" ":"")+La[s]);return""===d?"pagh":d}(e);switch(_){case"ss":return d+" lup";case"mm":return d+" tup";case"hh":return d+" rep";case"dd":return d+" jaj";case"MM":return d+" jar";case"yy":return d+" DIS"}}e.defineLocale("tlh",{months:"tera\u2019 jar wa\u2019_tera\u2019 jar cha\u2019_tera\u2019 jar wej_tera\u2019 jar loS_tera\u2019 jar vagh_tera\u2019 jar jav_tera\u2019 jar Soch_tera\u2019 jar chorgh_tera\u2019 jar Hut_tera\u2019 jar wa\u2019maH_tera\u2019 jar wa\u2019maH wa\u2019_tera\u2019 jar wa\u2019maH cha\u2019".split("_"),monthsShort:"jar wa\u2019_jar cha\u2019_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa\u2019maH_jar wa\u2019maH wa\u2019_jar wa\u2019maH cha\u2019".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".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:"[DaHjaj] LT",nextDay:"[wa\u2019leS] LT",nextWeek:"LLL",lastDay:"[wa\u2019Hu\u2019] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:function(e){var a=e;return a=-1!==e.indexOf("jaj")?a.slice(0,-3)+"leS":-1!==e.indexOf("jar")?a.slice(0,-3)+"waQ":-1!==e.indexOf("DIS")?a.slice(0,-3)+"nem":a+" pIq"},past:function(e){var a=e;return a=-1!==e.indexOf("jaj")?a.slice(0,-3)+"Hu\u2019":-1!==e.indexOf("jar")?a.slice(0,-3)+"wen":-1!==e.indexOf("DIS")?a.slice(0,-3)+"ben":a+" ret"},s:"puS lup",ss:Ya,m:"wa\u2019 tup",mm:Ya,h:"wa\u2019 rep",hh:Ya,d:"wa\u2019 jaj",dd:Ya,M:"wa\u2019 jar",MM:Ya,y:"wa\u2019 DIS",yy:Ya},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var ha={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'\xfcnc\xfc",4:"'\xfcnc\xfc",100:"'\xfcnc\xfc",6:"'nc\u0131",9:"'uncu",10:"'uncu",30:"'uncu",60:"'\u0131nc\u0131",90:"'\u0131nc\u0131"};function ya(e,a,_,s){var d={s:["viensas secunds","'iensas secunds"],ss:[e+" secunds",e+" secunds"],m:["'n m\xedut","'iens m\xedut"],mm:[e+" m\xeduts",e+" m\xeduts"],h:["'n \xfeora","'iensa \xfeora"],hh:[e+" \xfeoras",e+" \xfeoras"],d:["'n ziua","'iensa ziua"],dd:[e+" ziuas",e+" ziuas"],M:["'n mes","'iens mes"],MM:[e+" mesen",e+" mesen"],y:["'n ar","'iens ar"],yy:[e+" ars",e+" ars"]};return s?d[_][0]:a?d[_][0]:d[_][1]}function ca(e,a,_){var s,d;return"m"===_?a?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443":"h"===_?a?"\u0433\u043e\u0434\u0438\u043d\u0430":"\u0433\u043e\u0434\u0438\u043d\u0443":e+" "+(s=+e,d={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d",hh:a?"\u0433\u043e\u0434\u0438\u043d\u0430_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d":"\u0433\u043e\u0434\u0438\u043d\u0443_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u043d\u0456\u0432",MM:"\u043c\u0456\u0441\u044f\u0446\u044c_\u043c\u0456\u0441\u044f\u0446\u0456_\u043c\u0456\u0441\u044f\u0446\u0456\u0432",yy:"\u0440\u0456\u043a_\u0440\u043e\u043a\u0438_\u0440\u043e\u043a\u0456\u0432"}[_].split("_"),s%10==1&&s%100!=11?d[0]:2<=s%10&&s%10<=4&&(s%100<10||20<=s%100)?d[1]:d[2])}function ka(e){return function(){return e+"\u043e"+(11===this.hours()?"\u0431":"")+"] LT"}}e.defineLocale("tr",{months:"Ocak_\u015eubat_Mart_Nisan_May\u0131s_Haziran_Temmuz_A\u011fustos_Eyl\xfcl_Ekim_Kas\u0131m_Aral\u0131k".split("_"),monthsShort:"Oca_\u015eub_Mar_Nis_May_Haz_Tem_A\u011fu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Sal\u0131_\xc7ar\u015famba_Per\u015fembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_\xc7ar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_\xc7a_Pe_Cu_Ct".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:"[bug\xfcn saat] LT",nextDay:"[yar\u0131n saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[d\xfcn] LT",lastWeek:"[ge\xe7en] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \xf6nce",s:"birka\xe7 saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir ay",MM:"%d ay",y:"bir y\u0131l",yy:"%d y\u0131l"},ordinal:function(e,a){switch(a){case"d":case"D":case"Do":case"DD":return e;default:if(0===e)return e+"'\u0131nc\u0131";var _=e%10;return e+(ha[_]||ha[e%100-_]||ha[100<=e?100:null])}},week:{dow:1,doy:7}}),e.defineLocale("tzl",{months:"Januar_Fevraglh_Mar\xe7_Avr\xefu_Mai_G\xfcn_Julia_Guscht_Setemvar_Listop\xe4ts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_G\xfcn_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"S\xfaladi_L\xfane\xe7i_Maitzi_M\xe1rcuri_Xh\xfaadi_Vi\xe9ner\xe7i_S\xe1turi".split("_"),weekdaysShort:"S\xfal_L\xfan_Mai_M\xe1r_Xh\xfa_Vi\xe9_S\xe1t".split("_"),weekdaysMin:"S\xfa_L\xfa_Ma_M\xe1_Xh_Vi_S\xe1".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(e){return"d'o"===e.toLowerCase()},meridiem:function(e,a,_){return 11<e?_?"d'o":"D'O":_?"d'a":"D'A"},calendar:{sameDay:"[oxhi \xe0] LT",nextDay:"[dem\xe0 \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[ieiri \xe0] LT",lastWeek:"[s\xfcr el] dddd [lasteu \xe0] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:ya,ss:ya,m:ya,mm:ya,h:ya,hh:ya,d:ya,dd:ya,M:ya,MM:ya,y:ya,yy:ya},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("tzm-latn",{months:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".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:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minu\u1e0d",mm:"%d minu\u1e0d",h:"sa\u025ba",hh:"%d tassa\u025bin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}}),e.defineLocale("tzm",{months:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),monthsShort:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),weekdays:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysShort:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysMin:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".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:"[\u2d30\u2d59\u2d37\u2d45 \u2d34] LT",nextDay:"[\u2d30\u2d59\u2d3d\u2d30 \u2d34] LT",nextWeek:"dddd [\u2d34] LT",lastDay:"[\u2d30\u2d5a\u2d30\u2d4f\u2d5c \u2d34] LT",lastWeek:"dddd [\u2d34] LT",sameElse:"L"},relativeTime:{future:"\u2d37\u2d30\u2d37\u2d45 \u2d59 \u2d62\u2d30\u2d4f %s",past:"\u2d62\u2d30\u2d4f %s",s:"\u2d49\u2d4e\u2d49\u2d3d",ss:"%d \u2d49\u2d4e\u2d49\u2d3d",m:"\u2d4e\u2d49\u2d4f\u2d53\u2d3a",mm:"%d \u2d4e\u2d49\u2d4f\u2d53\u2d3a",h:"\u2d59\u2d30\u2d44\u2d30",hh:"%d \u2d5c\u2d30\u2d59\u2d59\u2d30\u2d44\u2d49\u2d4f",d:"\u2d30\u2d59\u2d59",dd:"%d o\u2d59\u2d59\u2d30\u2d4f",M:"\u2d30\u2d62o\u2d53\u2d54",MM:"%d \u2d49\u2d62\u2d62\u2d49\u2d54\u2d4f",y:"\u2d30\u2d59\u2d33\u2d30\u2d59",yy:"%d \u2d49\u2d59\u2d33\u2d30\u2d59\u2d4f"},week:{dow:6,doy:12}}),e.defineLocale("ug-cn",{months:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),monthsShort:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),weekdays:"\u064a\u06d5\u0643\u0634\u06d5\u0646\u0628\u06d5_\u062f\u06c8\u0634\u06d5\u0646\u0628\u06d5_\u0633\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u0686\u0627\u0631\u0634\u06d5\u0646\u0628\u06d5_\u067e\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u062c\u06c8\u0645\u06d5_\u0634\u06d5\u0646\u0628\u06d5".split("_"),weekdaysShort:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),weekdaysMin:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649",LLL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm",LLLL:"dddd\u060c YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm"},meridiemParse:/\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5|\u0633\u06d5\u06be\u06d5\u0631|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646|\u0686\u06c8\u0634|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646|\u0643\u06d5\u0686/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5"===a||"\u0633\u06d5\u06be\u06d5\u0631"===a||"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646"===a?e:"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646"===a||"\u0643\u06d5\u0686"===a?e+12:11<=e?e:e+12},meridiem:function(e,a,_){var s=100*e+a;return s<600?"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5":s<900?"\u0633\u06d5\u06be\u06d5\u0631":s<1130?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646":s<1230?"\u0686\u06c8\u0634":s<1800?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646":"\u0643\u06d5\u0686"},calendar:{sameDay:"[\u0628\u06c8\u06af\u06c8\u0646 \u0633\u0627\u0626\u06d5\u062a] LT",nextDay:"[\u0626\u06d5\u062a\u06d5 \u0633\u0627\u0626\u06d5\u062a] LT",nextWeek:"[\u0643\u06d0\u0644\u06d5\u0631\u0643\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",lastDay:"[\u062a\u06c6\u0646\u06c8\u06af\u06c8\u0646] LT",lastWeek:"[\u0626\u0627\u0644\u062f\u0649\u0646\u0642\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0643\u06d0\u064a\u0649\u0646",past:"%s \u0628\u06c7\u0631\u06c7\u0646",s:"\u0646\u06d5\u0686\u0686\u06d5 \u0633\u06d0\u0643\u0648\u0646\u062a",ss:"%d \u0633\u06d0\u0643\u0648\u0646\u062a",m:"\u0628\u0649\u0631 \u0645\u0649\u0646\u06c7\u062a",mm:"%d \u0645\u0649\u0646\u06c7\u062a",h:"\u0628\u0649\u0631 \u0633\u0627\u0626\u06d5\u062a",hh:"%d \u0633\u0627\u0626\u06d5\u062a",d:"\u0628\u0649\u0631 \u0643\u06c8\u0646",dd:"%d \u0643\u06c8\u0646",M:"\u0628\u0649\u0631 \u0626\u0627\u064a",MM:"%d \u0626\u0627\u064a",y:"\u0628\u0649\u0631 \u064a\u0649\u0644",yy:"%d \u064a\u0649\u0644"},dayOfMonthOrdinalParse:/\d{1,2}(-\u0643\u06c8\u0646\u0649|-\u0626\u0627\u064a|-\u06be\u06d5\u067e\u062a\u06d5)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"-\u0643\u06c8\u0646\u0649";case"w":case"W":return e+"-\u06be\u06d5\u067e\u062a\u06d5";default:return e}},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:7}}),e.defineLocale("uk",{months:{format:"\u0441\u0456\u0447\u043d\u044f_\u043b\u044e\u0442\u043e\u0433\u043e_\u0431\u0435\u0440\u0435\u0437\u043d\u044f_\u043a\u0432\u0456\u0442\u043d\u044f_\u0442\u0440\u0430\u0432\u043d\u044f_\u0447\u0435\u0440\u0432\u043d\u044f_\u043b\u0438\u043f\u043d\u044f_\u0441\u0435\u0440\u043f\u043d\u044f_\u0432\u0435\u0440\u0435\u0441\u043d\u044f_\u0436\u043e\u0432\u0442\u043d\u044f_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u0430_\u0433\u0440\u0443\u0434\u043d\u044f".split("_"),standalone:"\u0441\u0456\u0447\u0435\u043d\u044c_\u043b\u044e\u0442\u0438\u0439_\u0431\u0435\u0440\u0435\u0437\u0435\u043d\u044c_\u043a\u0432\u0456\u0442\u0435\u043d\u044c_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u0435\u0440\u0432\u0435\u043d\u044c_\u043b\u0438\u043f\u0435\u043d\u044c_\u0441\u0435\u0440\u043f\u0435\u043d\u044c_\u0432\u0435\u0440\u0435\u0441\u0435\u043d\u044c_\u0436\u043e\u0432\u0442\u0435\u043d\u044c_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434_\u0433\u0440\u0443\u0434\u0435\u043d\u044c".split("_")},monthsShort:"\u0441\u0456\u0447_\u043b\u044e\u0442_\u0431\u0435\u0440_\u043a\u0432\u0456\u0442_\u0442\u0440\u0430\u0432_\u0447\u0435\u0440\u0432_\u043b\u0438\u043f_\u0441\u0435\u0440\u043f_\u0432\u0435\u0440_\u0436\u043e\u0432\u0442_\u043b\u0438\u0441\u0442_\u0433\u0440\u0443\u0434".split("_"),weekdays:function(e,a){var _={nominative:"\u043d\u0435\u0434\u0456\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044f_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),accusative:"\u043d\u0435\u0434\u0456\u043b\u044e_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044e_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),genitive:"\u043d\u0435\u0434\u0456\u043b\u0456_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043a\u0430_\u0432\u0456\u0432\u0442\u043e\u0440\u043a\u0430_\u0441\u0435\u0440\u0435\u0434\u0438_\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u0456_\u0441\u0443\u0431\u043e\u0442\u0438".split("_")};return!0===e?_.nominative.slice(1,7).concat(_.nominative.slice(0,1)):e?_[/(\[[\u0412\u0432\u0423\u0443]\]) ?dddd/.test(a)?"accusative":/\[?(?:\u043c\u0438\u043d\u0443\u043b\u043e\u0457|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u043e\u0457)? ?\] ?dddd/.test(a)?"genitive":"nominative"][e.day()]:_.nominative},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0440.",LLL:"D MMMM YYYY \u0440., HH:mm",LLLL:"dddd, D MMMM YYYY \u0440., HH:mm"},calendar:{sameDay:ka("[\u0421\u044c\u043e\u0433\u043e\u0434\u043d\u0456 "),nextDay:ka("[\u0417\u0430\u0432\u0442\u0440\u0430 "),lastDay:ka("[\u0412\u0447\u043e\u0440\u0430 "),nextWeek:ka("[\u0423] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return ka("[\u041c\u0438\u043d\u0443\u043b\u043e\u0457] dddd [").call(this);case 1:case 2:case 4:return ka("[\u041c\u0438\u043d\u0443\u043b\u043e\u0433\u043e] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"%s \u0442\u043e\u043c\u0443",s:"\u0434\u0435\u043a\u0456\u043b\u044c\u043a\u0430 \u0441\u0435\u043a\u0443\u043d\u0434",ss:ca,m:ca,mm:ca,h:"\u0433\u043e\u0434\u0438\u043d\u0443",hh:ca,d:"\u0434\u0435\u043d\u044c",dd:ca,M:"\u043c\u0456\u0441\u044f\u0446\u044c",MM:ca,y:"\u0440\u0456\u043a",yy:ca},meridiemParse:/\u043d\u043e\u0447\u0456|\u0440\u0430\u043d\u043a\u0443|\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430/,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430)$/.test(e)},meridiem:function(e,a,_){return e<4?"\u043d\u043e\u0447\u0456":e<12?"\u0440\u0430\u043d\u043a\u0443":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u043e\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":case"w":case"W":return e+"-\u0439";case"D":return e+"-\u0433\u043e";default:return e}},week:{dow:1,doy:7}});var pa=["\u062c\u0646\u0648\u0631\u06cc","\u0641\u0631\u0648\u0631\u06cc","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u06cc\u0644","\u0645\u0626\u06cc","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0626\u06cc","\u0627\u06af\u0633\u062a","\u0633\u062a\u0645\u0628\u0631","\u0627\u06a9\u062a\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u062f\u0633\u0645\u0628\u0631"],Da=["\u0627\u062a\u0648\u0627\u0631","\u067e\u06cc\u0631","\u0645\u0646\u06af\u0644","\u0628\u062f\u06be","\u062c\u0645\u0639\u0631\u0627\u062a","\u062c\u0645\u0639\u06c1","\u06c1\u0641\u062a\u06c1"];return e.defineLocale("ur",{months:pa,monthsShort:pa,weekdays:Da,weekdaysShort:Da,weekdaysMin:Da,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(e){return"\u0634\u0627\u0645"===e},meridiem:function(e,a,_){return e<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0622\u062c \u0628\u0648\u0642\u062a] LT",nextDay:"[\u06a9\u0644 \u0628\u0648\u0642\u062a] LT",nextWeek:"dddd [\u0628\u0648\u0642\u062a] LT",lastDay:"[\u06af\u0630\u0634\u062a\u06c1 \u0631\u0648\u0632 \u0628\u0648\u0642\u062a] LT",lastWeek:"[\u06af\u0630\u0634\u062a\u06c1] dddd [\u0628\u0648\u0642\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0628\u0639\u062f",past:"%s \u0642\u0628\u0644",s:"\u0686\u0646\u062f \u0633\u06cc\u06a9\u0646\u0688",ss:"%d \u0633\u06cc\u06a9\u0646\u0688",m:"\u0627\u06cc\u06a9 \u0645\u0646\u0679",mm:"%d \u0645\u0646\u0679",h:"\u0627\u06cc\u06a9 \u06af\u06be\u0646\u0679\u06c1",hh:"%d \u06af\u06be\u0646\u0679\u06d2",d:"\u0627\u06cc\u06a9 \u062f\u0646",dd:"%d \u062f\u0646",M:"\u0627\u06cc\u06a9 \u0645\u0627\u06c1",MM:"%d \u0645\u0627\u06c1",y:"\u0627\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:4}}),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}}),e.defineLocale("uz",{months:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u042f\u043a\u0448\u0430\u043d\u0431\u0430_\u0414\u0443\u0448\u0430\u043d\u0431\u0430_\u0421\u0435\u0448\u0430\u043d\u0431\u0430_\u0427\u043e\u0440\u0448\u0430\u043d\u0431\u0430_\u041f\u0430\u0439\u0448\u0430\u043d\u0431\u0430_\u0416\u0443\u043c\u0430_\u0428\u0430\u043d\u0431\u0430".split("_"),weekdaysShort:"\u042f\u043a\u0448_\u0414\u0443\u0448_\u0421\u0435\u0448_\u0427\u043e\u0440_\u041f\u0430\u0439_\u0416\u0443\u043c_\u0428\u0430\u043d".split("_"),weekdaysMin:"\u042f\u043a_\u0414\u0443_\u0421\u0435_\u0427\u043e_\u041f\u0430_\u0416\u0443_\u0428\u0430".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:"[\u0411\u0443\u0433\u0443\u043d \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",nextDay:"[\u042d\u0440\u0442\u0430\u0433\u0430] LT [\u0434\u0430]",nextWeek:"dddd [\u043a\u0443\u043d\u0438 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",lastDay:"[\u041a\u0435\u0447\u0430 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",lastWeek:"[\u0423\u0442\u0433\u0430\u043d] dddd [\u043a\u0443\u043d\u0438 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",sameElse:"L"},relativeTime:{future:"\u042f\u043a\u0438\u043d %s \u0438\u0447\u0438\u0434\u0430",past:"\u0411\u0438\u0440 \u043d\u0435\u0447\u0430 %s \u043e\u043b\u0434\u0438\u043d",s:"\u0444\u0443\u0440\u0441\u0430\u0442",ss:"%d \u0444\u0443\u0440\u0441\u0430\u0442",m:"\u0431\u0438\u0440 \u0434\u0430\u043a\u0438\u043a\u0430",mm:"%d \u0434\u0430\u043a\u0438\u043a\u0430",h:"\u0431\u0438\u0440 \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u0431\u0438\u0440 \u043e\u0439",MM:"%d \u043e\u0439",y:"\u0431\u0438\u0440 \u0439\u0438\u043b",yy:"%d \u0439\u0438\u043b"},week:{dow:1,doy:7}}),e.defineLocale("vi",{months:"th\xe1ng 1_th\xe1ng 2_th\xe1ng 3_th\xe1ng 4_th\xe1ng 5_th\xe1ng 6_th\xe1ng 7_th\xe1ng 8_th\xe1ng 9_th\xe1ng 10_th\xe1ng 11_th\xe1ng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"ch\u1ee7 nh\u1eadt_th\u1ee9 hai_th\u1ee9 ba_th\u1ee9 t\u01b0_th\u1ee9 n\u0103m_th\u1ee9 s\xe1u_th\u1ee9 b\u1ea3y".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,a,_){return e<12?_?"sa":"SA":_?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [n\u0103m] YYYY",LLL:"D MMMM [n\u0103m] YYYY HH:mm",LLLL:"dddd, D MMMM [n\u0103m] 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\xf4m nay l\xfac] LT",nextDay:"[Ng\xe0y mai l\xfac] LT",nextWeek:"dddd [tu\u1ea7n t\u1edbi l\xfac] LT",lastDay:"[H\xf4m qua l\xfac] LT",lastWeek:"dddd [tu\u1ea7n r\u1ed3i l\xfac] LT",sameElse:"L"},relativeTime:{future:"%s t\u1edbi",past:"%s tr\u01b0\u1edbc",s:"v\xe0i gi\xe2y",ss:"%d gi\xe2y",m:"m\u1ed9t ph\xfat",mm:"%d ph\xfat",h:"m\u1ed9t gi\u1edd",hh:"%d gi\u1edd",d:"m\u1ed9t ng\xe0y",dd:"%d ng\xe0y",M:"m\u1ed9t th\xe1ng",MM:"%d th\xe1ng",y:"m\u1ed9t n\u0103m",yy:"%d n\u0103m"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),e.defineLocale("x-pseudo",{months:"J~\xe1\xf1\xfa\xe1~r\xfd_F~\xe9br\xfa~\xe1r\xfd_~M\xe1rc~h_\xc1p~r\xedl_~M\xe1\xfd_~J\xfa\xf1\xe9~_J\xfal~\xfd_\xc1\xfa~g\xfast~_S\xe9p~t\xe9mb~\xe9r_\xd3~ct\xf3b~\xe9r_\xd1~\xf3v\xe9m~b\xe9r_~D\xe9c\xe9~mb\xe9r".split("_"),monthsShort:"J~\xe1\xf1_~F\xe9b_~M\xe1r_~\xc1pr_~M\xe1\xfd_~J\xfa\xf1_~J\xfal_~\xc1\xfag_~S\xe9p_~\xd3ct_~\xd1\xf3v_~D\xe9c".split("_"),monthsParseExact:!0,weekdays:"S~\xfa\xf1d\xe1~\xfd_M\xf3~\xf1d\xe1\xfd~_T\xfa\xe9~sd\xe1\xfd~_W\xe9d~\xf1\xe9sd~\xe1\xfd_T~h\xfars~d\xe1\xfd_~Fr\xedd~\xe1\xfd_S~\xe1t\xfar~d\xe1\xfd".split("_"),weekdaysShort:"S~\xfa\xf1_~M\xf3\xf1_~T\xfa\xe9_~W\xe9d_~Th\xfa_~Fr\xed_~S\xe1t".split("_"),weekdaysMin:"S~\xfa_M\xf3~_T\xfa_~W\xe9_T~h_Fr~_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~\xf3d\xe1~\xfd \xe1t] LT",nextDay:"[T~\xf3m\xf3~rr\xf3~w \xe1t] LT",nextWeek:"dddd [\xe1t] LT",lastDay:"[\xdd~\xe9st~\xe9rd\xe1~\xfd \xe1t] LT",lastWeek:"[L~\xe1st] dddd [\xe1t] LT",sameElse:"L"},relativeTime:{future:"\xed~\xf1 %s",past:"%s \xe1~g\xf3",s:"\xe1 ~f\xe9w ~s\xe9c\xf3~\xf1ds",ss:"%d s~\xe9c\xf3\xf1~ds",m:"\xe1 ~m\xed\xf1~\xfat\xe9",mm:"%d m~\xed\xf1\xfa~t\xe9s",h:"\xe1~\xf1 h\xf3~\xfar",hh:"%d h~\xf3\xfars",d:"\xe1 ~d\xe1\xfd",dd:"%d d~\xe1\xfds",M:"\xe1 ~m\xf3\xf1~th",MM:"%d m~\xf3\xf1t~hs",y:"\xe1 ~\xfd\xe9\xe1r",yy:"%d \xfd~\xe9\xe1rs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}}),e.defineLocale("yo",{months:"S\u1eb9\u0301r\u1eb9\u0301_E\u0300re\u0300le\u0300_\u1eb8r\u1eb9\u0300na\u0300_I\u0300gbe\u0301_E\u0300bibi_O\u0300ku\u0300du_Ag\u1eb9mo_O\u0300gu\u0301n_Owewe_\u1ecc\u0300wa\u0300ra\u0300_Be\u0301lu\u0301_\u1ecc\u0300p\u1eb9\u0300\u0300".split("_"),monthsShort:"S\u1eb9\u0301r_E\u0300rl_\u1eb8rn_I\u0300gb_E\u0300bi_O\u0300ku\u0300_Ag\u1eb9_O\u0300gu\u0301_Owe_\u1ecc\u0300wa\u0300_Be\u0301l_\u1ecc\u0300p\u1eb9\u0300\u0300".split("_"),weekdays:"A\u0300i\u0300ku\u0301_Aje\u0301_I\u0300s\u1eb9\u0301gun_\u1eccj\u1ecd\u0301ru\u0301_\u1eccj\u1ecd\u0301b\u1ecd_\u1eb8ti\u0300_A\u0300ba\u0301m\u1eb9\u0301ta".split("_"),weekdaysShort:"A\u0300i\u0300k_Aje\u0301_I\u0300s\u1eb9\u0301_\u1eccjr_\u1eccjb_\u1eb8ti\u0300_A\u0300ba\u0301".split("_"),weekdaysMin:"A\u0300i\u0300_Aj_I\u0300s_\u1eccr_\u1eccb_\u1eb8t_A\u0300b".split("_"),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:"[O\u0300ni\u0300 ni] LT",nextDay:"[\u1ecc\u0300la ni] LT",nextWeek:"dddd [\u1eccs\u1eb9\u0300 to\u0301n'b\u1ecd] [ni] LT",lastDay:"[A\u0300na ni] LT",lastWeek:"dddd [\u1eccs\u1eb9\u0300 to\u0301l\u1ecd\u0301] [ni] LT",sameElse:"L"},relativeTime:{future:"ni\u0301 %s",past:"%s k\u1ecdja\u0301",s:"i\u0300s\u1eb9ju\u0301 aaya\u0301 die",ss:"aaya\u0301 %d",m:"i\u0300s\u1eb9ju\u0301 kan",mm:"i\u0300s\u1eb9ju\u0301 %d",h:"wa\u0301kati kan",hh:"wa\u0301kati %d",d:"\u1ecdj\u1ecd\u0301 kan",dd:"\u1ecdj\u1ecd\u0301 %d",M:"osu\u0300 kan",MM:"osu\u0300 %d",y:"\u1ecddu\u0301n kan",yy:"\u1ecddu\u0301n %d"},dayOfMonthOrdinalParse:/\u1ecdj\u1ecd\u0301\s\d{1,2}/,ordinal:"\u1ecdj\u1ecd\u0301 %d",week:{dow:1,doy:4}}),e.defineLocale("zh-cn",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u5468\u65e5_\u5468\u4e00_\u5468\u4e8c_\u5468\u4e09_\u5468\u56db_\u5468\u4e94_\u5468\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5Ah\u70b9mm\u5206",LLLL:"YYYY\u5e74M\u6708D\u65e5ddddAh\u70b9mm\u5206",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:11<=e?e:e+12},meridiem:function(e,a,_){var s=100*e+a;return s<600?"\u51cc\u6668":s<900?"\u65e9\u4e0a":s<1130?"\u4e0a\u5348":s<1230?"\u4e2d\u5348":s<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u5468)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u5468";default:return e}},relativeTime:{future:"%s\u5185",past:"%s\u524d",s:"\u51e0\u79d2",ss:"%d \u79d2",m:"1 \u5206\u949f",mm:"%d \u5206\u949f",h:"1 \u5c0f\u65f6",hh:"%d \u5c0f\u65f6",d:"1 \u5929",dd:"%d \u5929",M:"1 \u4e2a\u6708",MM:"%d \u4e2a\u6708",y:"1 \u5e74",yy:"%d \u5e74"},week:{dow:1,doy:4}}),e.defineLocale("zh-hk",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,_){var s=100*e+a;return s<600?"\u51cc\u6668":s<900?"\u65e9\u4e0a":s<1130?"\u4e0a\u5348":s<1230?"\u4e2d\u5348":s<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5167",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),e.defineLocale("zh-tw",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,_){var s=100*e+a;return s<600?"\u51cc\u6668":s<900?"\u65e9\u4e0a":s<1130?"\u4e0a\u5348":s<1230?"\u4e2d\u5348":s<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929] LT",nextDay:"[\u660e\u5929] LT",nextWeek:"[\u4e0b]dddd LT",lastDay:"[\u6628\u5929] LT",lastWeek:"[\u4e0a]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5167",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),e.locale("en"),e}); \ No newline at end of file diff --git a/public/bower_components/moment/min/moment-with-locales.js b/public/bower_components/moment/min/moment-with-locales.js new file mode 100644 index 0000000..0892cdc --- /dev/null +++ b/public/bower_components/moment/min/moment-with-locales.js @@ -0,0 +1,14765 @@ +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + global.moment = factory() +}(this, (function () { 'use strict'; + + var hookCallback; + + function hooks () { + return hookCallback.apply(null, arguments); + } + + // This is done to register the method called with moment() + // without creating circular dependencies. + function setHookCallback (callback) { + hookCallback = callback; + } + + function isArray(input) { + return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]'; + } + + function isObject(input) { + // IE8 will treat undefined and null as object if it wasn't for + // input != null + return input != null && Object.prototype.toString.call(input) === '[object Object]'; + } + + function isObjectEmpty(obj) { + if (Object.getOwnPropertyNames) { + return (Object.getOwnPropertyNames(obj).length === 0); + } else { + var k; + for (k in obj) { + if (obj.hasOwnProperty(k)) { + return false; + } + } + return true; + } + } + + function isUndefined(input) { + return input === void 0; + } + + function isNumber(input) { + return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]'; + } + + function isDate(input) { + return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]'; + } + + function map(arr, fn) { + var res = [], i; + for (i = 0; i < arr.length; ++i) { + res.push(fn(arr[i], i)); + } + return res; + } + + function hasOwnProp(a, b) { + return Object.prototype.hasOwnProperty.call(a, b); + } + + function extend(a, b) { + for (var i in b) { + if (hasOwnProp(b, i)) { + a[i] = b[i]; + } + } + + if (hasOwnProp(b, 'toString')) { + a.toString = b.toString; + } + + if (hasOwnProp(b, 'valueOf')) { + a.valueOf = b.valueOf; + } + + return a; + } + + function createUTC (input, format, locale, strict) { + return createLocalOrUTC(input, format, locale, strict, true).utc(); + } + + function defaultParsingFlags() { + // We need to deep clone this object. + return { + empty : false, + unusedTokens : [], + unusedInput : [], + overflow : -2, + charsLeftOver : 0, + nullInput : false, + invalidMonth : null, + invalidFormat : false, + userInvalidated : false, + iso : false, + parsedDateParts : [], + meridiem : null, + rfc2822 : false, + weekdayMismatch : false + }; + } + + function getParsingFlags(m) { + if (m._pf == null) { + m._pf = defaultParsingFlags(); + } + return m._pf; + } + + var some; + if (Array.prototype.some) { + some = Array.prototype.some; + } else { + some = function (fun) { + var t = Object(this); + var len = t.length >>> 0; + + for (var i = 0; i < len; i++) { + if (i in t && fun.call(this, t[i], i, t)) { + return true; + } + } + + return false; + }; + } + + function isValid(m) { + if (m._isValid == null) { + var flags = getParsingFlags(m); + var parsedParts = some.call(flags.parsedDateParts, function (i) { + return i != null; + }); + var isNowValid = !isNaN(m._d.getTime()) && + flags.overflow < 0 && + !flags.empty && + !flags.invalidMonth && + !flags.invalidWeekday && + !flags.weekdayMismatch && + !flags.nullInput && + !flags.invalidFormat && + !flags.userInvalidated && + (!flags.meridiem || (flags.meridiem && parsedParts)); + + if (m._strict) { + isNowValid = isNowValid && + flags.charsLeftOver === 0 && + flags.unusedTokens.length === 0 && + flags.bigHour === undefined; + } + + if (Object.isFrozen == null || !Object.isFrozen(m)) { + m._isValid = isNowValid; + } + else { + return isNowValid; + } + } + return m._isValid; + } + + function createInvalid (flags) { + var m = createUTC(NaN); + if (flags != null) { + extend(getParsingFlags(m), flags); + } + else { + getParsingFlags(m).userInvalidated = true; + } + + return m; + } + + // Plugins that add properties should also add the key here (null value), + // so we can properly clone ourselves. + var momentProperties = hooks.momentProperties = []; + + function copyConfig(to, from) { + var i, prop, val; + + if (!isUndefined(from._isAMomentObject)) { + to._isAMomentObject = from._isAMomentObject; + } + if (!isUndefined(from._i)) { + to._i = from._i; + } + if (!isUndefined(from._f)) { + to._f = from._f; + } + if (!isUndefined(from._l)) { + to._l = from._l; + } + if (!isUndefined(from._strict)) { + to._strict = from._strict; + } + if (!isUndefined(from._tzm)) { + to._tzm = from._tzm; + } + if (!isUndefined(from._isUTC)) { + to._isUTC = from._isUTC; + } + if (!isUndefined(from._offset)) { + to._offset = from._offset; + } + if (!isUndefined(from._pf)) { + to._pf = getParsingFlags(from); + } + if (!isUndefined(from._locale)) { + to._locale = from._locale; + } + + if (momentProperties.length > 0) { + for (i = 0; i < momentProperties.length; i++) { + prop = momentProperties[i]; + val = from[prop]; + if (!isUndefined(val)) { + to[prop] = val; + } + } + } + + return to; + } + + var updateInProgress = false; + + // Moment prototype object + function Moment(config) { + copyConfig(this, config); + this._d = new Date(config._d != null ? config._d.getTime() : NaN); + if (!this.isValid()) { + this._d = new Date(NaN); + } + // Prevent infinite loop in case updateOffset creates new moment + // objects. + if (updateInProgress === false) { + updateInProgress = true; + hooks.updateOffset(this); + updateInProgress = false; + } + } + + function isMoment (obj) { + return obj instanceof Moment || (obj != null && obj._isAMomentObject != null); + } + + function absFloor (number) { + if (number < 0) { + // -0 -> 0 + return Math.ceil(number) || 0; + } else { + return Math.floor(number); + } + } + + function toInt(argumentForCoercion) { + var coercedNumber = +argumentForCoercion, + value = 0; + + if (coercedNumber !== 0 && isFinite(coercedNumber)) { + value = absFloor(coercedNumber); + } + + return value; + } + + // compare two arrays, return the number of differences + function compareArrays(array1, array2, dontConvert) { + var len = Math.min(array1.length, array2.length), + lengthDiff = Math.abs(array1.length - array2.length), + diffs = 0, + i; + for (i = 0; i < len; i++) { + if ((dontConvert && array1[i] !== array2[i]) || + (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) { + diffs++; + } + } + return diffs + lengthDiff; + } + + function warn(msg) { + if (hooks.suppressDeprecationWarnings === false && + (typeof console !== 'undefined') && console.warn) { + console.warn('Deprecation warning: ' + msg); + } + } + + function deprecate(msg, fn) { + var firstTime = true; + + return extend(function () { + if (hooks.deprecationHandler != null) { + hooks.deprecationHandler(null, msg); + } + if (firstTime) { + var args = []; + var arg; + for (var i = 0; i < arguments.length; i++) { + arg = ''; + if (typeof arguments[i] === 'object') { + arg += '\n[' + i + '] '; + for (var key in arguments[0]) { + arg += key + ': ' + arguments[0][key] + ', '; + } + arg = arg.slice(0, -2); // Remove trailing comma and space + } else { + arg = arguments[i]; + } + args.push(arg); + } + warn(msg + '\nArguments: ' + Array.prototype.slice.call(args).join('') + '\n' + (new Error()).stack); + firstTime = false; + } + return fn.apply(this, arguments); + }, fn); + } + + var deprecations = {}; + + function deprecateSimple(name, msg) { + if (hooks.deprecationHandler != null) { + hooks.deprecationHandler(name, msg); + } + if (!deprecations[name]) { + warn(msg); + deprecations[name] = true; + } + } + + hooks.suppressDeprecationWarnings = false; + hooks.deprecationHandler = null; + + function isFunction(input) { + return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]'; + } + + function set (config) { + var prop, i; + for (i in config) { + prop = config[i]; + if (isFunction(prop)) { + this[i] = prop; + } else { + this['_' + i] = prop; + } + } + this._config = config; + // Lenient ordinal parsing accepts just a number in addition to + // number + (possibly) stuff coming from _dayOfMonthOrdinalParse. + // TODO: Remove "ordinalParse" fallback in next major release. + this._dayOfMonthOrdinalParseLenient = new RegExp( + (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + + '|' + (/\d{1,2}/).source); + } + + function mergeConfigs(parentConfig, childConfig) { + var res = extend({}, parentConfig), prop; + for (prop in childConfig) { + if (hasOwnProp(childConfig, prop)) { + if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) { + res[prop] = {}; + extend(res[prop], parentConfig[prop]); + extend(res[prop], childConfig[prop]); + } else if (childConfig[prop] != null) { + res[prop] = childConfig[prop]; + } else { + delete res[prop]; + } + } + } + for (prop in parentConfig) { + if (hasOwnProp(parentConfig, prop) && + !hasOwnProp(childConfig, prop) && + isObject(parentConfig[prop])) { + // make sure changes to properties don't modify parent config + res[prop] = extend({}, res[prop]); + } + } + return res; + } + + function Locale(config) { + if (config != null) { + this.set(config); + } + } + + var keys; + + if (Object.keys) { + keys = Object.keys; + } else { + keys = function (obj) { + var i, res = []; + for (i in obj) { + if (hasOwnProp(obj, i)) { + res.push(i); + } + } + return res; + }; + } + + var defaultCalendar = { + sameDay : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }; + + function calendar (key, mom, now) { + var output = this._calendar[key] || this._calendar['sameElse']; + return isFunction(output) ? output.call(mom, now) : output; + } + + var defaultLongDateFormat = { + LTS : 'h:mm:ss A', + LT : 'h:mm A', + L : 'MM/DD/YYYY', + LL : 'MMMM D, YYYY', + LLL : 'MMMM D, YYYY h:mm A', + LLLL : 'dddd, MMMM D, YYYY h:mm A' + }; + + function longDateFormat (key) { + var format = this._longDateFormat[key], + formatUpper = this._longDateFormat[key.toUpperCase()]; + + if (format || !formatUpper) { + return format; + } + + this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) { + return val.slice(1); + }); + + return this._longDateFormat[key]; + } + + var defaultInvalidDate = 'Invalid date'; + + function invalidDate () { + return this._invalidDate; + } + + var defaultOrdinal = '%d'; + var defaultDayOfMonthOrdinalParse = /\d{1,2}/; + + function ordinal (number) { + return this._ordinal.replace('%d', number); + } + + var defaultRelativeTime = { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }; + + function relativeTime (number, withoutSuffix, string, isFuture) { + var output = this._relativeTime[string]; + return (isFunction(output)) ? + output(number, withoutSuffix, string, isFuture) : + output.replace(/%d/i, number); + } + + function pastFuture (diff, output) { + var format = this._relativeTime[diff > 0 ? 'future' : 'past']; + return isFunction(format) ? format(output) : format.replace(/%s/i, output); + } + + var aliases = {}; + + function addUnitAlias (unit, shorthand) { + var lowerCase = unit.toLowerCase(); + aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit; + } + + function normalizeUnits(units) { + return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined; + } + + function normalizeObjectUnits(inputObject) { + var normalizedInput = {}, + normalizedProp, + prop; + + for (prop in inputObject) { + if (hasOwnProp(inputObject, prop)) { + normalizedProp = normalizeUnits(prop); + if (normalizedProp) { + normalizedInput[normalizedProp] = inputObject[prop]; + } + } + } + + return normalizedInput; + } + + var priorities = {}; + + function addUnitPriority(unit, priority) { + priorities[unit] = priority; + } + + function getPrioritizedUnits(unitsObj) { + var units = []; + for (var u in unitsObj) { + units.push({unit: u, priority: priorities[u]}); + } + units.sort(function (a, b) { + return a.priority - b.priority; + }); + return units; + } + + function zeroFill(number, targetLength, forceSign) { + var absNumber = '' + Math.abs(number), + zerosToFill = targetLength - absNumber.length, + sign = number >= 0; + return (sign ? (forceSign ? '+' : '') : '-') + + Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber; + } + + var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g; + + var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g; + + var formatFunctions = {}; + + var formatTokenFunctions = {}; + + // token: 'M' + // padded: ['MM', 2] + // ordinal: 'Mo' + // callback: function () { this.month() + 1 } + function addFormatToken (token, padded, ordinal, callback) { + var func = callback; + if (typeof callback === 'string') { + func = function () { + return this[callback](); + }; + } + if (token) { + formatTokenFunctions[token] = func; + } + if (padded) { + formatTokenFunctions[padded[0]] = function () { + return zeroFill(func.apply(this, arguments), padded[1], padded[2]); + }; + } + if (ordinal) { + formatTokenFunctions[ordinal] = function () { + return this.localeData().ordinal(func.apply(this, arguments), token); + }; + } + } + + function removeFormattingTokens(input) { + if (input.match(/\[[\s\S]/)) { + return input.replace(/^\[|\]$/g, ''); + } + return input.replace(/\\/g, ''); + } + + function makeFormatFunction(format) { + var array = format.match(formattingTokens), i, length; + + for (i = 0, length = array.length; i < length; i++) { + if (formatTokenFunctions[array[i]]) { + array[i] = formatTokenFunctions[array[i]]; + } else { + array[i] = removeFormattingTokens(array[i]); + } + } + + return function (mom) { + var output = '', i; + for (i = 0; i < length; i++) { + output += isFunction(array[i]) ? array[i].call(mom, format) : array[i]; + } + return output; + }; + } + + // format date using native date object + function formatMoment(m, format) { + if (!m.isValid()) { + return m.localeData().invalidDate(); + } + + format = expandFormat(format, m.localeData()); + formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format); + + return formatFunctions[format](m); + } + + function expandFormat(format, locale) { + var i = 5; + + function replaceLongDateFormatTokens(input) { + return locale.longDateFormat(input) || input; + } + + localFormattingTokens.lastIndex = 0; + while (i >= 0 && localFormattingTokens.test(format)) { + format = format.replace(localFormattingTokens, replaceLongDateFormatTokens); + localFormattingTokens.lastIndex = 0; + i -= 1; + } + + return format; + } + + var match1 = /\d/; // 0 - 9 + var match2 = /\d\d/; // 00 - 99 + var match3 = /\d{3}/; // 000 - 999 + var match4 = /\d{4}/; // 0000 - 9999 + var match6 = /[+-]?\d{6}/; // -999999 - 999999 + var match1to2 = /\d\d?/; // 0 - 99 + var match3to4 = /\d\d\d\d?/; // 999 - 9999 + var match5to6 = /\d\d\d\d\d\d?/; // 99999 - 999999 + var match1to3 = /\d{1,3}/; // 0 - 999 + var match1to4 = /\d{1,4}/; // 0 - 9999 + var match1to6 = /[+-]?\d{1,6}/; // -999999 - 999999 + + var matchUnsigned = /\d+/; // 0 - inf + var matchSigned = /[+-]?\d+/; // -inf - inf + + var matchOffset = /Z|[+-]\d\d:?\d\d/gi; // +00:00 -00:00 +0000 -0000 or Z + var matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z + + var matchTimestamp = /[+-]?\d+(\.\d{1,3})?/; // 123456789 123456789.123 + + // any word (or two) characters or numbers including two/three word month in arabic. + // includes scottish gaelic two word and hyphenated months + var matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i; + + var regexes = {}; + + function addRegexToken (token, regex, strictRegex) { + regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) { + return (isStrict && strictRegex) ? strictRegex : regex; + }; + } + + function getParseRegexForToken (token, config) { + if (!hasOwnProp(regexes, token)) { + return new RegExp(unescapeFormat(token)); + } + + return regexes[token](config._strict, config._locale); + } + + // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript + function unescapeFormat(s) { + return regexEscape(s.replace('\\', '').replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) { + return p1 || p2 || p3 || p4; + })); + } + + function regexEscape(s) { + return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); + } + + var tokens = {}; + + function addParseToken (token, callback) { + var i, func = callback; + if (typeof token === 'string') { + token = [token]; + } + if (isNumber(callback)) { + func = function (input, array) { + array[callback] = toInt(input); + }; + } + for (i = 0; i < token.length; i++) { + tokens[token[i]] = func; + } + } + + function addWeekParseToken (token, callback) { + addParseToken(token, function (input, array, config, token) { + config._w = config._w || {}; + callback(input, config._w, config, token); + }); + } + + function addTimeToArrayFromToken(token, input, config) { + if (input != null && hasOwnProp(tokens, token)) { + tokens[token](input, config._a, config, token); + } + } + + var YEAR = 0; + var MONTH = 1; + var DATE = 2; + var HOUR = 3; + var MINUTE = 4; + var SECOND = 5; + var MILLISECOND = 6; + var WEEK = 7; + var WEEKDAY = 8; + + // FORMATTING + + addFormatToken('Y', 0, 0, function () { + var y = this.year(); + return y <= 9999 ? '' + y : '+' + y; + }); + + addFormatToken(0, ['YY', 2], 0, function () { + return this.year() % 100; + }); + + addFormatToken(0, ['YYYY', 4], 0, 'year'); + addFormatToken(0, ['YYYYY', 5], 0, 'year'); + addFormatToken(0, ['YYYYYY', 6, true], 0, 'year'); + + // ALIASES + + addUnitAlias('year', 'y'); + + // PRIORITIES + + addUnitPriority('year', 1); + + // PARSING + + addRegexToken('Y', matchSigned); + addRegexToken('YY', match1to2, match2); + addRegexToken('YYYY', match1to4, match4); + addRegexToken('YYYYY', match1to6, match6); + addRegexToken('YYYYYY', match1to6, match6); + + addParseToken(['YYYYY', 'YYYYYY'], YEAR); + addParseToken('YYYY', function (input, array) { + array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input); + }); + addParseToken('YY', function (input, array) { + array[YEAR] = hooks.parseTwoDigitYear(input); + }); + addParseToken('Y', function (input, array) { + array[YEAR] = parseInt(input, 10); + }); + + // HELPERS + + function daysInYear(year) { + return isLeapYear(year) ? 366 : 365; + } + + function isLeapYear(year) { + return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; + } + + // HOOKS + + hooks.parseTwoDigitYear = function (input) { + return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); + }; + + // MOMENTS + + var getSetYear = makeGetSet('FullYear', true); + + function getIsLeapYear () { + return isLeapYear(this.year()); + } + + function makeGetSet (unit, keepTime) { + return function (value) { + if (value != null) { + set$1(this, unit, value); + hooks.updateOffset(this, keepTime); + return this; + } else { + return get(this, unit); + } + }; + } + + function get (mom, unit) { + return mom.isValid() ? + mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN; + } + + function set$1 (mom, unit, value) { + if (mom.isValid() && !isNaN(value)) { + if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) { + mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month())); + } + else { + mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); + } + } + } + + // MOMENTS + + function stringGet (units) { + units = normalizeUnits(units); + if (isFunction(this[units])) { + return this[units](); + } + return this; + } + + + function stringSet (units, value) { + if (typeof units === 'object') { + units = normalizeObjectUnits(units); + var prioritized = getPrioritizedUnits(units); + for (var i = 0; i < prioritized.length; i++) { + this[prioritized[i].unit](units[prioritized[i].unit]); + } + } else { + units = normalizeUnits(units); + if (isFunction(this[units])) { + return this[units](value); + } + } + return this; + } + + function mod(n, x) { + return ((n % x) + x) % x; + } + + var indexOf; + + if (Array.prototype.indexOf) { + indexOf = Array.prototype.indexOf; + } else { + indexOf = function (o) { + // I know + var i; + for (i = 0; i < this.length; ++i) { + if (this[i] === o) { + return i; + } + } + return -1; + }; + } + + function daysInMonth(year, month) { + if (isNaN(year) || isNaN(month)) { + return NaN; + } + var modMonth = mod(month, 12); + year += (month - modMonth) / 12; + return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2); + } + + // FORMATTING + + addFormatToken('M', ['MM', 2], 'Mo', function () { + return this.month() + 1; + }); + + addFormatToken('MMM', 0, 0, function (format) { + return this.localeData().monthsShort(this, format); + }); + + addFormatToken('MMMM', 0, 0, function (format) { + return this.localeData().months(this, format); + }); + + // ALIASES + + addUnitAlias('month', 'M'); + + // PRIORITY + + addUnitPriority('month', 8); + + // PARSING + + addRegexToken('M', match1to2); + addRegexToken('MM', match1to2, match2); + addRegexToken('MMM', function (isStrict, locale) { + return locale.monthsShortRegex(isStrict); + }); + addRegexToken('MMMM', function (isStrict, locale) { + return locale.monthsRegex(isStrict); + }); + + addParseToken(['M', 'MM'], function (input, array) { + array[MONTH] = toInt(input) - 1; + }); + + addParseToken(['MMM', 'MMMM'], function (input, array, config, token) { + var month = config._locale.monthsParse(input, token, config._strict); + // if we didn't find a month name, mark the date as invalid. + if (month != null) { + array[MONTH] = month; + } else { + getParsingFlags(config).invalidMonth = input; + } + }); + + // LOCALES + + var MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/; + var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'); + function localeMonths (m, format) { + if (!m) { + return isArray(this._months) ? this._months : + this._months['standalone']; + } + return isArray(this._months) ? this._months[m.month()] : + this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()]; + } + + var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'); + function localeMonthsShort (m, format) { + if (!m) { + return isArray(this._monthsShort) ? this._monthsShort : + this._monthsShort['standalone']; + } + return isArray(this._monthsShort) ? this._monthsShort[m.month()] : + this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()]; + } + + function handleStrictParse(monthName, format, strict) { + var i, ii, mom, llc = monthName.toLocaleLowerCase(); + if (!this._monthsParse) { + // this is not used + this._monthsParse = []; + this._longMonthsParse = []; + this._shortMonthsParse = []; + for (i = 0; i < 12; ++i) { + mom = createUTC([2000, i]); + this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase(); + this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase(); + } + } + + if (strict) { + if (format === 'MMM') { + ii = indexOf.call(this._shortMonthsParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._longMonthsParse, llc); + return ii !== -1 ? ii : null; + } + } else { + if (format === 'MMM') { + ii = indexOf.call(this._shortMonthsParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._longMonthsParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._longMonthsParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortMonthsParse, llc); + return ii !== -1 ? ii : null; + } + } + } + + function localeMonthsParse (monthName, format, strict) { + var i, mom, regex; + + if (this._monthsParseExact) { + return handleStrictParse.call(this, monthName, format, strict); + } + + if (!this._monthsParse) { + this._monthsParse = []; + this._longMonthsParse = []; + this._shortMonthsParse = []; + } + + // TODO: add sorting + // Sorting makes sure if one month (or abbr) is a prefix of another + // see sorting in computeMonthsParse + for (i = 0; i < 12; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, i]); + if (strict && !this._longMonthsParse[i]) { + this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i'); + this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i'); + } + if (!strict && !this._monthsParse[i]) { + regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, ''); + this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i'); + } + // test the regex + if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) { + return i; + } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) { + return i; + } else if (!strict && this._monthsParse[i].test(monthName)) { + return i; + } + } + } + + // MOMENTS + + function setMonth (mom, value) { + var dayOfMonth; + + if (!mom.isValid()) { + // No op + return mom; + } + + if (typeof value === 'string') { + if (/^\d+$/.test(value)) { + value = toInt(value); + } else { + value = mom.localeData().monthsParse(value); + // TODO: Another silent failure? + if (!isNumber(value)) { + return mom; + } + } + } + + dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value)); + mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth); + return mom; + } + + function getSetMonth (value) { + if (value != null) { + setMonth(this, value); + hooks.updateOffset(this, true); + return this; + } else { + return get(this, 'Month'); + } + } + + function getDaysInMonth () { + return daysInMonth(this.year(), this.month()); + } + + var defaultMonthsShortRegex = matchWord; + function monthsShortRegex (isStrict) { + if (this._monthsParseExact) { + if (!hasOwnProp(this, '_monthsRegex')) { + computeMonthsParse.call(this); + } + if (isStrict) { + return this._monthsShortStrictRegex; + } else { + return this._monthsShortRegex; + } + } else { + if (!hasOwnProp(this, '_monthsShortRegex')) { + this._monthsShortRegex = defaultMonthsShortRegex; + } + return this._monthsShortStrictRegex && isStrict ? + this._monthsShortStrictRegex : this._monthsShortRegex; + } + } + + var defaultMonthsRegex = matchWord; + function monthsRegex (isStrict) { + if (this._monthsParseExact) { + if (!hasOwnProp(this, '_monthsRegex')) { + computeMonthsParse.call(this); + } + if (isStrict) { + return this._monthsStrictRegex; + } else { + return this._monthsRegex; + } + } else { + if (!hasOwnProp(this, '_monthsRegex')) { + this._monthsRegex = defaultMonthsRegex; + } + return this._monthsStrictRegex && isStrict ? + this._monthsStrictRegex : this._monthsRegex; + } + } + + function computeMonthsParse () { + function cmpLenRev(a, b) { + return b.length - a.length; + } + + var shortPieces = [], longPieces = [], mixedPieces = [], + i, mom; + for (i = 0; i < 12; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, i]); + shortPieces.push(this.monthsShort(mom, '')); + longPieces.push(this.months(mom, '')); + mixedPieces.push(this.months(mom, '')); + mixedPieces.push(this.monthsShort(mom, '')); + } + // Sorting makes sure if one month (or abbr) is a prefix of another it + // will match the longer piece. + shortPieces.sort(cmpLenRev); + longPieces.sort(cmpLenRev); + mixedPieces.sort(cmpLenRev); + for (i = 0; i < 12; i++) { + shortPieces[i] = regexEscape(shortPieces[i]); + longPieces[i] = regexEscape(longPieces[i]); + } + for (i = 0; i < 24; i++) { + mixedPieces[i] = regexEscape(mixedPieces[i]); + } + + this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); + this._monthsShortRegex = this._monthsRegex; + this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i'); + this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i'); + } + + function createDate (y, m, d, h, M, s, ms) { + // can't just apply() to create a date: + // https://stackoverflow.com/q/181348 + var date; + // the date constructor remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + date = new Date(y + 400, m, d, h, M, s, ms); + if (isFinite(date.getFullYear())) { + date.setFullYear(y); + } + } else { + date = new Date(y, m, d, h, M, s, ms); + } + + return date; + } + + function createUTCDate (y) { + var date; + // the Date.UTC function remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + var args = Array.prototype.slice.call(arguments); + // preserve leap years using a full 400 year cycle, then reset + args[0] = y + 400; + date = new Date(Date.UTC.apply(null, args)); + if (isFinite(date.getUTCFullYear())) { + date.setUTCFullYear(y); + } + } else { + date = new Date(Date.UTC.apply(null, arguments)); + } + + return date; + } + + // start-of-first-week - start-of-year + function firstWeekOffset(year, dow, doy) { + var // first-week day -- which january is always in the first week (4 for iso, 1 for other) + fwd = 7 + dow - doy, + // first-week day local weekday -- which local weekday is fwd + fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7; + + return -fwdlw + fwd - 1; + } + + // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday + function dayOfYearFromWeeks(year, week, weekday, dow, doy) { + var localWeekday = (7 + weekday - dow) % 7, + weekOffset = firstWeekOffset(year, dow, doy), + dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset, + resYear, resDayOfYear; + + if (dayOfYear <= 0) { + resYear = year - 1; + resDayOfYear = daysInYear(resYear) + dayOfYear; + } else if (dayOfYear > daysInYear(year)) { + resYear = year + 1; + resDayOfYear = dayOfYear - daysInYear(year); + } else { + resYear = year; + resDayOfYear = dayOfYear; + } + + return { + year: resYear, + dayOfYear: resDayOfYear + }; + } + + function weekOfYear(mom, dow, doy) { + var weekOffset = firstWeekOffset(mom.year(), dow, doy), + week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1, + resWeek, resYear; + + if (week < 1) { + resYear = mom.year() - 1; + resWeek = week + weeksInYear(resYear, dow, doy); + } else if (week > weeksInYear(mom.year(), dow, doy)) { + resWeek = week - weeksInYear(mom.year(), dow, doy); + resYear = mom.year() + 1; + } else { + resYear = mom.year(); + resWeek = week; + } + + return { + week: resWeek, + year: resYear + }; + } + + function weeksInYear(year, dow, doy) { + var weekOffset = firstWeekOffset(year, dow, doy), + weekOffsetNext = firstWeekOffset(year + 1, dow, doy); + return (daysInYear(year) - weekOffset + weekOffsetNext) / 7; + } + + // FORMATTING + + addFormatToken('w', ['ww', 2], 'wo', 'week'); + addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek'); + + // ALIASES + + addUnitAlias('week', 'w'); + addUnitAlias('isoWeek', 'W'); + + // PRIORITIES + + addUnitPriority('week', 5); + addUnitPriority('isoWeek', 5); + + // PARSING + + addRegexToken('w', match1to2); + addRegexToken('ww', match1to2, match2); + addRegexToken('W', match1to2); + addRegexToken('WW', match1to2, match2); + + addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) { + week[token.substr(0, 1)] = toInt(input); + }); + + // HELPERS + + // LOCALES + + function localeWeek (mom) { + return weekOfYear(mom, this._week.dow, this._week.doy).week; + } + + var defaultLocaleWeek = { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + }; + + function localeFirstDayOfWeek () { + return this._week.dow; + } + + function localeFirstDayOfYear () { + return this._week.doy; + } + + // MOMENTS + + function getSetWeek (input) { + var week = this.localeData().week(this); + return input == null ? week : this.add((input - week) * 7, 'd'); + } + + function getSetISOWeek (input) { + var week = weekOfYear(this, 1, 4).week; + return input == null ? week : this.add((input - week) * 7, 'd'); + } + + // FORMATTING + + addFormatToken('d', 0, 'do', 'day'); + + addFormatToken('dd', 0, 0, function (format) { + return this.localeData().weekdaysMin(this, format); + }); + + addFormatToken('ddd', 0, 0, function (format) { + return this.localeData().weekdaysShort(this, format); + }); + + addFormatToken('dddd', 0, 0, function (format) { + return this.localeData().weekdays(this, format); + }); + + addFormatToken('e', 0, 0, 'weekday'); + addFormatToken('E', 0, 0, 'isoWeekday'); + + // ALIASES + + addUnitAlias('day', 'd'); + addUnitAlias('weekday', 'e'); + addUnitAlias('isoWeekday', 'E'); + + // PRIORITY + addUnitPriority('day', 11); + addUnitPriority('weekday', 11); + addUnitPriority('isoWeekday', 11); + + // PARSING + + addRegexToken('d', match1to2); + addRegexToken('e', match1to2); + addRegexToken('E', match1to2); + addRegexToken('dd', function (isStrict, locale) { + return locale.weekdaysMinRegex(isStrict); + }); + addRegexToken('ddd', function (isStrict, locale) { + return locale.weekdaysShortRegex(isStrict); + }); + addRegexToken('dddd', function (isStrict, locale) { + return locale.weekdaysRegex(isStrict); + }); + + addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) { + var weekday = config._locale.weekdaysParse(input, token, config._strict); + // if we didn't get a weekday name, mark the date as invalid + if (weekday != null) { + week.d = weekday; + } else { + getParsingFlags(config).invalidWeekday = input; + } + }); + + addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) { + week[token] = toInt(input); + }); + + // HELPERS + + function parseWeekday(input, locale) { + if (typeof input !== 'string') { + return input; + } + + if (!isNaN(input)) { + return parseInt(input, 10); + } + + input = locale.weekdaysParse(input); + if (typeof input === 'number') { + return input; + } + + return null; + } + + function parseIsoWeekday(input, locale) { + if (typeof input === 'string') { + return locale.weekdaysParse(input) % 7 || 7; + } + return isNaN(input) ? null : input; + } + + // LOCALES + function shiftWeekdays (ws, n) { + return ws.slice(n, 7).concat(ws.slice(0, n)); + } + + var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'); + function localeWeekdays (m, format) { + var weekdays = isArray(this._weekdays) ? this._weekdays : + this._weekdays[(m && m !== true && this._weekdays.isFormat.test(format)) ? 'format' : 'standalone']; + return (m === true) ? shiftWeekdays(weekdays, this._week.dow) + : (m) ? weekdays[m.day()] : weekdays; + } + + var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'); + function localeWeekdaysShort (m) { + return (m === true) ? shiftWeekdays(this._weekdaysShort, this._week.dow) + : (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort; + } + + var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'); + function localeWeekdaysMin (m) { + return (m === true) ? shiftWeekdays(this._weekdaysMin, this._week.dow) + : (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin; + } + + function handleStrictParse$1(weekdayName, format, strict) { + var i, ii, mom, llc = weekdayName.toLocaleLowerCase(); + if (!this._weekdaysParse) { + this._weekdaysParse = []; + this._shortWeekdaysParse = []; + this._minWeekdaysParse = []; + + for (i = 0; i < 7; ++i) { + mom = createUTC([2000, 1]).day(i); + this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase(); + this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase(); + this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase(); + } + } + + if (strict) { + if (format === 'dddd') { + ii = indexOf.call(this._weekdaysParse, llc); + return ii !== -1 ? ii : null; + } else if (format === 'ddd') { + ii = indexOf.call(this._shortWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } + } else { + if (format === 'dddd') { + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else if (format === 'ddd') { + ii = indexOf.call(this._shortWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._minWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } + } + } + + function localeWeekdaysParse (weekdayName, format, strict) { + var i, mom, regex; + + if (this._weekdaysParseExact) { + return handleStrictParse$1.call(this, weekdayName, format, strict); + } + + if (!this._weekdaysParse) { + this._weekdaysParse = []; + this._minWeekdaysParse = []; + this._shortWeekdaysParse = []; + this._fullWeekdaysParse = []; + } + + for (i = 0; i < 7; i++) { + // make the regex if we don't have it already + + mom = createUTC([2000, 1]).day(i); + if (strict && !this._fullWeekdaysParse[i]) { + this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', 'i'); + this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', 'i'); + this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', 'i'); + } + if (!this._weekdaysParse[i]) { + regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, ''); + this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i'); + } + // test the regex + if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) { + return i; + } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) { + return i; + } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) { + return i; + } else if (!strict && this._weekdaysParse[i].test(weekdayName)) { + return i; + } + } + } + + // MOMENTS + + function getSetDayOfWeek (input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); + if (input != null) { + input = parseWeekday(input, this.localeData()); + return this.add(input - day, 'd'); + } else { + return day; + } + } + + function getSetLocaleDayOfWeek (input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; + return input == null ? weekday : this.add(input - weekday, 'd'); + } + + function getSetISODayOfWeek (input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + + // behaves the same as moment#day except + // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6) + // as a setter, sunday should belong to the previous week. + + if (input != null) { + var weekday = parseIsoWeekday(input, this.localeData()); + return this.day(this.day() % 7 ? weekday : weekday - 7); + } else { + return this.day() || 7; + } + } + + var defaultWeekdaysRegex = matchWord; + function weekdaysRegex (isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysStrictRegex; + } else { + return this._weekdaysRegex; + } + } else { + if (!hasOwnProp(this, '_weekdaysRegex')) { + this._weekdaysRegex = defaultWeekdaysRegex; + } + return this._weekdaysStrictRegex && isStrict ? + this._weekdaysStrictRegex : this._weekdaysRegex; + } + } + + var defaultWeekdaysShortRegex = matchWord; + function weekdaysShortRegex (isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysShortStrictRegex; + } else { + return this._weekdaysShortRegex; + } + } else { + if (!hasOwnProp(this, '_weekdaysShortRegex')) { + this._weekdaysShortRegex = defaultWeekdaysShortRegex; + } + return this._weekdaysShortStrictRegex && isStrict ? + this._weekdaysShortStrictRegex : this._weekdaysShortRegex; + } + } + + var defaultWeekdaysMinRegex = matchWord; + function weekdaysMinRegex (isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysMinStrictRegex; + } else { + return this._weekdaysMinRegex; + } + } else { + if (!hasOwnProp(this, '_weekdaysMinRegex')) { + this._weekdaysMinRegex = defaultWeekdaysMinRegex; + } + return this._weekdaysMinStrictRegex && isStrict ? + this._weekdaysMinStrictRegex : this._weekdaysMinRegex; + } + } + + + function computeWeekdaysParse () { + function cmpLenRev(a, b) { + return b.length - a.length; + } + + var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [], + i, mom, minp, shortp, longp; + for (i = 0; i < 7; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, 1]).day(i); + minp = this.weekdaysMin(mom, ''); + shortp = this.weekdaysShort(mom, ''); + longp = this.weekdays(mom, ''); + minPieces.push(minp); + shortPieces.push(shortp); + longPieces.push(longp); + mixedPieces.push(minp); + mixedPieces.push(shortp); + mixedPieces.push(longp); + } + // Sorting makes sure if one weekday (or abbr) is a prefix of another it + // will match the longer piece. + minPieces.sort(cmpLenRev); + shortPieces.sort(cmpLenRev); + longPieces.sort(cmpLenRev); + mixedPieces.sort(cmpLenRev); + for (i = 0; i < 7; i++) { + shortPieces[i] = regexEscape(shortPieces[i]); + longPieces[i] = regexEscape(longPieces[i]); + mixedPieces[i] = regexEscape(mixedPieces[i]); + } + + this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); + this._weekdaysShortRegex = this._weekdaysRegex; + this._weekdaysMinRegex = this._weekdaysRegex; + + this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i'); + this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i'); + this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i'); + } + + // FORMATTING + + function hFormat() { + return this.hours() % 12 || 12; + } + + function kFormat() { + return this.hours() || 24; + } + + addFormatToken('H', ['HH', 2], 0, 'hour'); + addFormatToken('h', ['hh', 2], 0, hFormat); + addFormatToken('k', ['kk', 2], 0, kFormat); + + addFormatToken('hmm', 0, 0, function () { + return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2); + }); + + addFormatToken('hmmss', 0, 0, function () { + return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) + + zeroFill(this.seconds(), 2); + }); + + addFormatToken('Hmm', 0, 0, function () { + return '' + this.hours() + zeroFill(this.minutes(), 2); + }); + + addFormatToken('Hmmss', 0, 0, function () { + return '' + this.hours() + zeroFill(this.minutes(), 2) + + zeroFill(this.seconds(), 2); + }); + + function meridiem (token, lowercase) { + addFormatToken(token, 0, 0, function () { + return this.localeData().meridiem(this.hours(), this.minutes(), lowercase); + }); + } + + meridiem('a', true); + meridiem('A', false); + + // ALIASES + + addUnitAlias('hour', 'h'); + + // PRIORITY + addUnitPriority('hour', 13); + + // PARSING + + function matchMeridiem (isStrict, locale) { + return locale._meridiemParse; + } + + addRegexToken('a', matchMeridiem); + addRegexToken('A', matchMeridiem); + addRegexToken('H', match1to2); + addRegexToken('h', match1to2); + addRegexToken('k', match1to2); + addRegexToken('HH', match1to2, match2); + addRegexToken('hh', match1to2, match2); + addRegexToken('kk', match1to2, match2); + + addRegexToken('hmm', match3to4); + addRegexToken('hmmss', match5to6); + addRegexToken('Hmm', match3to4); + addRegexToken('Hmmss', match5to6); + + addParseToken(['H', 'HH'], HOUR); + addParseToken(['k', 'kk'], function (input, array, config) { + var kInput = toInt(input); + array[HOUR] = kInput === 24 ? 0 : kInput; + }); + addParseToken(['a', 'A'], function (input, array, config) { + config._isPm = config._locale.isPM(input); + config._meridiem = input; + }); + addParseToken(['h', 'hh'], function (input, array, config) { + array[HOUR] = toInt(input); + getParsingFlags(config).bigHour = true; + }); + addParseToken('hmm', function (input, array, config) { + var pos = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos)); + array[MINUTE] = toInt(input.substr(pos)); + getParsingFlags(config).bigHour = true; + }); + addParseToken('hmmss', function (input, array, config) { + var pos1 = input.length - 4; + var pos2 = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos1)); + array[MINUTE] = toInt(input.substr(pos1, 2)); + array[SECOND] = toInt(input.substr(pos2)); + getParsingFlags(config).bigHour = true; + }); + addParseToken('Hmm', function (input, array, config) { + var pos = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos)); + array[MINUTE] = toInt(input.substr(pos)); + }); + addParseToken('Hmmss', function (input, array, config) { + var pos1 = input.length - 4; + var pos2 = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos1)); + array[MINUTE] = toInt(input.substr(pos1, 2)); + array[SECOND] = toInt(input.substr(pos2)); + }); + + // LOCALES + + function localeIsPM (input) { + // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays + // Using charAt should be more compatible. + return ((input + '').toLowerCase().charAt(0) === 'p'); + } + + var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i; + function localeMeridiem (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'pm' : 'PM'; + } else { + return isLower ? 'am' : 'AM'; + } + } + + + // MOMENTS + + // Setting the hour should keep the time, because the user explicitly + // specified which hour they want. So trying to maintain the same hour (in + // a new timezone) makes sense. Adding/subtracting hours does not follow + // this rule. + var getSetHour = makeGetSet('Hours', true); + + var baseConfig = { + calendar: defaultCalendar, + longDateFormat: defaultLongDateFormat, + invalidDate: defaultInvalidDate, + ordinal: defaultOrdinal, + dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse, + relativeTime: defaultRelativeTime, + + months: defaultLocaleMonths, + monthsShort: defaultLocaleMonthsShort, + + week: defaultLocaleWeek, + + weekdays: defaultLocaleWeekdays, + weekdaysMin: defaultLocaleWeekdaysMin, + weekdaysShort: defaultLocaleWeekdaysShort, + + meridiemParse: defaultLocaleMeridiemParse + }; + + // internal storage for locale config files + var locales = {}; + var localeFamilies = {}; + var globalLocale; + + function normalizeLocale(key) { + return key ? key.toLowerCase().replace('_', '-') : key; + } + + // pick the locale from the array + // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each + // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root + function chooseLocale(names) { + var i = 0, j, next, locale, split; + + while (i < names.length) { + split = normalizeLocale(names[i]).split('-'); + j = split.length; + next = normalizeLocale(names[i + 1]); + next = next ? next.split('-') : null; + while (j > 0) { + locale = loadLocale(split.slice(0, j).join('-')); + if (locale) { + return locale; + } + if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) { + //the next array item is better than a shallower substring of this one + break; + } + j--; + } + i++; + } + return globalLocale; + } + + function loadLocale(name) { + var oldLocale = null; + // TODO: Find a better way to register and load all the locales in Node + if (!locales[name] && (typeof module !== 'undefined') && + module && module.exports) { + try { + oldLocale = globalLocale._abbr; + var aliasedRequire = require; + aliasedRequire('./locale/' + name); + getSetGlobalLocale(oldLocale); + } catch (e) {} + } + return locales[name]; + } + + // This function will load locale and then set the global locale. If + // no arguments are passed in, it will simply return the current global + // locale key. + function getSetGlobalLocale (key, values) { + var data; + if (key) { + if (isUndefined(values)) { + data = getLocale(key); + } + else { + data = defineLocale(key, values); + } + + if (data) { + // moment.duration._locale = moment._locale = data; + globalLocale = data; + } + else { + if ((typeof console !== 'undefined') && console.warn) { + //warn user if arguments are passed but the locale could not be set + console.warn('Locale ' + key + ' not found. Did you forget to load it?'); + } + } + } + + return globalLocale._abbr; + } + + function defineLocale (name, config) { + if (config !== null) { + var locale, parentConfig = baseConfig; + config.abbr = name; + if (locales[name] != null) { + deprecateSimple('defineLocaleOverride', + 'use moment.updateLocale(localeName, config) to change ' + + 'an existing locale. moment.defineLocale(localeName, ' + + 'config) should only be used for creating a new locale ' + + 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'); + parentConfig = locales[name]._config; + } else if (config.parentLocale != null) { + if (locales[config.parentLocale] != null) { + parentConfig = locales[config.parentLocale]._config; + } else { + locale = loadLocale(config.parentLocale); + if (locale != null) { + parentConfig = locale._config; + } else { + if (!localeFamilies[config.parentLocale]) { + localeFamilies[config.parentLocale] = []; + } + localeFamilies[config.parentLocale].push({ + name: name, + config: config + }); + return null; + } + } + } + locales[name] = new Locale(mergeConfigs(parentConfig, config)); + + if (localeFamilies[name]) { + localeFamilies[name].forEach(function (x) { + defineLocale(x.name, x.config); + }); + } + + // backwards compat for now: also set the locale + // make sure we set the locale AFTER all child locales have been + // created, so we won't end up with the child locale set. + getSetGlobalLocale(name); + + + return locales[name]; + } else { + // useful for testing + delete locales[name]; + return null; + } + } + + function updateLocale(name, config) { + if (config != null) { + var locale, tmpLocale, parentConfig = baseConfig; + // MERGE + tmpLocale = loadLocale(name); + if (tmpLocale != null) { + parentConfig = tmpLocale._config; + } + config = mergeConfigs(parentConfig, config); + locale = new Locale(config); + locale.parentLocale = locales[name]; + locales[name] = locale; + + // backwards compat for now: also set the locale + getSetGlobalLocale(name); + } else { + // pass null for config to unupdate, useful for tests + if (locales[name] != null) { + if (locales[name].parentLocale != null) { + locales[name] = locales[name].parentLocale; + } else if (locales[name] != null) { + delete locales[name]; + } + } + } + return locales[name]; + } + + // returns locale data + function getLocale (key) { + var locale; + + if (key && key._locale && key._locale._abbr) { + key = key._locale._abbr; + } + + if (!key) { + return globalLocale; + } + + if (!isArray(key)) { + //short-circuit everything else + locale = loadLocale(key); + if (locale) { + return locale; + } + key = [key]; + } + + return chooseLocale(key); + } + + function listLocales() { + return keys(locales); + } + + function checkOverflow (m) { + var overflow; + var a = m._a; + + if (a && getParsingFlags(m).overflow === -2) { + overflow = + a[MONTH] < 0 || a[MONTH] > 11 ? MONTH : + a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE : + a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR : + a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE : + a[SECOND] < 0 || a[SECOND] > 59 ? SECOND : + a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND : + -1; + + if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) { + overflow = DATE; + } + if (getParsingFlags(m)._overflowWeeks && overflow === -1) { + overflow = WEEK; + } + if (getParsingFlags(m)._overflowWeekday && overflow === -1) { + overflow = WEEKDAY; + } + + getParsingFlags(m).overflow = overflow; + } + + return m; + } + + // Pick the first defined of two or three arguments. + function defaults(a, b, c) { + if (a != null) { + return a; + } + if (b != null) { + return b; + } + return c; + } + + function currentDateArray(config) { + // hooks is actually the exported moment object + var nowValue = new Date(hooks.now()); + if (config._useUTC) { + return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()]; + } + return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()]; + } + + // convert an array to a date. + // the array should mirror the parameters below + // note: all values past the year are optional and will default to the lowest possible value. + // [year, month, day , hour, minute, second, millisecond] + function configFromArray (config) { + var i, date, input = [], currentDate, expectedWeekday, yearToUse; + + if (config._d) { + return; + } + + currentDate = currentDateArray(config); + + //compute day of the year from weeks and weekdays + if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { + dayOfYearFromWeekInfo(config); + } + + //if the day of the year is set, figure out what it is + if (config._dayOfYear != null) { + yearToUse = defaults(config._a[YEAR], currentDate[YEAR]); + + if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) { + getParsingFlags(config)._overflowDayOfYear = true; + } + + date = createUTCDate(yearToUse, 0, config._dayOfYear); + config._a[MONTH] = date.getUTCMonth(); + config._a[DATE] = date.getUTCDate(); + } + + // Default to current date. + // * if no year, month, day of month are given, default to today + // * if day of month is given, default month and year + // * if month is given, default only year + // * if year is given, don't default anything + for (i = 0; i < 3 && config._a[i] == null; ++i) { + config._a[i] = input[i] = currentDate[i]; + } + + // Zero out whatever was not defaulted, including time + for (; i < 7; i++) { + config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i]; + } + + // Check for 24:00:00.000 + if (config._a[HOUR] === 24 && + config._a[MINUTE] === 0 && + config._a[SECOND] === 0 && + config._a[MILLISECOND] === 0) { + config._nextDay = true; + config._a[HOUR] = 0; + } + + config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input); + expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay(); + + // Apply timezone offset from input. The actual utcOffset can be changed + // with parseZone. + if (config._tzm != null) { + config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); + } + + if (config._nextDay) { + config._a[HOUR] = 24; + } + + // check for mismatching day of week + if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) { + getParsingFlags(config).weekdayMismatch = true; + } + } + + function dayOfYearFromWeekInfo(config) { + var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow; + + w = config._w; + if (w.GG != null || w.W != null || w.E != null) { + dow = 1; + doy = 4; + + // TODO: We need to take the current isoWeekYear, but that depends on + // how we interpret now (local, utc, fixed offset). So create + // a now version of current config (take local/utc/offset flags, and + // create now). + weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year); + week = defaults(w.W, 1); + weekday = defaults(w.E, 1); + if (weekday < 1 || weekday > 7) { + weekdayOverflow = true; + } + } else { + dow = config._locale._week.dow; + doy = config._locale._week.doy; + + var curWeek = weekOfYear(createLocal(), dow, doy); + + weekYear = defaults(w.gg, config._a[YEAR], curWeek.year); + + // Default to current week. + week = defaults(w.w, curWeek.week); + + if (w.d != null) { + // weekday -- low day numbers are considered next week + weekday = w.d; + if (weekday < 0 || weekday > 6) { + weekdayOverflow = true; + } + } else if (w.e != null) { + // local weekday -- counting starts from beginning of week + weekday = w.e + dow; + if (w.e < 0 || w.e > 6) { + weekdayOverflow = true; + } + } else { + // default to beginning of week + weekday = dow; + } + } + if (week < 1 || week > weeksInYear(weekYear, dow, doy)) { + getParsingFlags(config)._overflowWeeks = true; + } else if (weekdayOverflow != null) { + getParsingFlags(config)._overflowWeekday = true; + } else { + temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy); + config._a[YEAR] = temp.year; + config._dayOfYear = temp.dayOfYear; + } + } + + // iso 8601 regex + // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00) + var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/; + var basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/; + + var tzRegex = /Z|[+-]\d\d(?::?\d\d)?/; + + var isoDates = [ + ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/], + ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/], + ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/], + ['GGGG-[W]WW', /\d{4}-W\d\d/, false], + ['YYYY-DDD', /\d{4}-\d{3}/], + ['YYYY-MM', /\d{4}-\d\d/, false], + ['YYYYYYMMDD', /[+-]\d{10}/], + ['YYYYMMDD', /\d{8}/], + // YYYYMM is NOT allowed by the standard + ['GGGG[W]WWE', /\d{4}W\d{3}/], + ['GGGG[W]WW', /\d{4}W\d{2}/, false], + ['YYYYDDD', /\d{7}/] + ]; + + // iso time formats and regexes + var isoTimes = [ + ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/], + ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/], + ['HH:mm:ss', /\d\d:\d\d:\d\d/], + ['HH:mm', /\d\d:\d\d/], + ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/], + ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/], + ['HHmmss', /\d\d\d\d\d\d/], + ['HHmm', /\d\d\d\d/], + ['HH', /\d\d/] + ]; + + var aspNetJsonRegex = /^\/?Date\((\-?\d+)/i; + + // date from iso format + function configFromISO(config) { + var i, l, + string = config._i, + match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string), + allowTime, dateFormat, timeFormat, tzFormat; + + if (match) { + getParsingFlags(config).iso = true; + + for (i = 0, l = isoDates.length; i < l; i++) { + if (isoDates[i][1].exec(match[1])) { + dateFormat = isoDates[i][0]; + allowTime = isoDates[i][2] !== false; + break; + } + } + if (dateFormat == null) { + config._isValid = false; + return; + } + if (match[3]) { + for (i = 0, l = isoTimes.length; i < l; i++) { + if (isoTimes[i][1].exec(match[3])) { + // match[2] should be 'T' or space + timeFormat = (match[2] || ' ') + isoTimes[i][0]; + break; + } + } + if (timeFormat == null) { + config._isValid = false; + return; + } + } + if (!allowTime && timeFormat != null) { + config._isValid = false; + return; + } + if (match[4]) { + if (tzRegex.exec(match[4])) { + tzFormat = 'Z'; + } else { + config._isValid = false; + return; + } + } + config._f = dateFormat + (timeFormat || '') + (tzFormat || ''); + configFromStringAndFormat(config); + } else { + config._isValid = false; + } + } + + // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3 + var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/; + + function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) { + var result = [ + untruncateYear(yearStr), + defaultLocaleMonthsShort.indexOf(monthStr), + parseInt(dayStr, 10), + parseInt(hourStr, 10), + parseInt(minuteStr, 10) + ]; + + if (secondStr) { + result.push(parseInt(secondStr, 10)); + } + + return result; + } + + function untruncateYear(yearStr) { + var year = parseInt(yearStr, 10); + if (year <= 49) { + return 2000 + year; + } else if (year <= 999) { + return 1900 + year; + } + return year; + } + + function preprocessRFC2822(s) { + // Remove comments and folding whitespace and replace multiple-spaces with a single space + return s.replace(/\([^)]*\)|[\n\t]/g, ' ').replace(/(\s\s+)/g, ' ').replace(/^\s\s*/, '').replace(/\s\s*$/, ''); + } + + function checkWeekday(weekdayStr, parsedInput, config) { + if (weekdayStr) { + // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check. + var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr), + weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay(); + if (weekdayProvided !== weekdayActual) { + getParsingFlags(config).weekdayMismatch = true; + config._isValid = false; + return false; + } + } + return true; + } + + var obsOffsets = { + UT: 0, + GMT: 0, + EDT: -4 * 60, + EST: -5 * 60, + CDT: -5 * 60, + CST: -6 * 60, + MDT: -6 * 60, + MST: -7 * 60, + PDT: -7 * 60, + PST: -8 * 60 + }; + + function calculateOffset(obsOffset, militaryOffset, numOffset) { + if (obsOffset) { + return obsOffsets[obsOffset]; + } else if (militaryOffset) { + // the only allowed military tz is Z + return 0; + } else { + var hm = parseInt(numOffset, 10); + var m = hm % 100, h = (hm - m) / 100; + return h * 60 + m; + } + } + + // date and time from ref 2822 format + function configFromRFC2822(config) { + var match = rfc2822.exec(preprocessRFC2822(config._i)); + if (match) { + var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]); + if (!checkWeekday(match[1], parsedArray, config)) { + return; + } + + config._a = parsedArray; + config._tzm = calculateOffset(match[8], match[9], match[10]); + + config._d = createUTCDate.apply(null, config._a); + config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); + + getParsingFlags(config).rfc2822 = true; + } else { + config._isValid = false; + } + } + + // date from iso format or fallback + function configFromString(config) { + var matched = aspNetJsonRegex.exec(config._i); + + if (matched !== null) { + config._d = new Date(+matched[1]); + return; + } + + configFromISO(config); + if (config._isValid === false) { + delete config._isValid; + } else { + return; + } + + configFromRFC2822(config); + if (config._isValid === false) { + delete config._isValid; + } else { + return; + } + + // Final attempt, use Input Fallback + hooks.createFromInputFallback(config); + } + + hooks.createFromInputFallback = deprecate( + 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' + + 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' + + 'discouraged and will be removed in an upcoming major release. Please refer to ' + + 'http://momentjs.com/guides/#/warnings/js-date/ for more info.', + function (config) { + config._d = new Date(config._i + (config._useUTC ? ' UTC' : '')); + } + ); + + // constant that refers to the ISO standard + hooks.ISO_8601 = function () {}; + + // constant that refers to the RFC 2822 form + hooks.RFC_2822 = function () {}; + + // date from string and format string + function configFromStringAndFormat(config) { + // TODO: Move this to another part of the creation flow to prevent circular deps + if (config._f === hooks.ISO_8601) { + configFromISO(config); + return; + } + if (config._f === hooks.RFC_2822) { + configFromRFC2822(config); + return; + } + config._a = []; + getParsingFlags(config).empty = true; + + // This array is used to make a Date, either with `new Date` or `Date.UTC` + var string = '' + config._i, + i, parsedInput, tokens, token, skipped, + stringLength = string.length, + totalParsedInputLength = 0; + + tokens = expandFormat(config._f, config._locale).match(formattingTokens) || []; + + for (i = 0; i < tokens.length; i++) { + token = tokens[i]; + parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0]; + // console.log('token', token, 'parsedInput', parsedInput, + // 'regex', getParseRegexForToken(token, config)); + if (parsedInput) { + skipped = string.substr(0, string.indexOf(parsedInput)); + if (skipped.length > 0) { + getParsingFlags(config).unusedInput.push(skipped); + } + string = string.slice(string.indexOf(parsedInput) + parsedInput.length); + totalParsedInputLength += parsedInput.length; + } + // don't parse if it's not a known token + if (formatTokenFunctions[token]) { + if (parsedInput) { + getParsingFlags(config).empty = false; + } + else { + getParsingFlags(config).unusedTokens.push(token); + } + addTimeToArrayFromToken(token, parsedInput, config); + } + else if (config._strict && !parsedInput) { + getParsingFlags(config).unusedTokens.push(token); + } + } + + // add remaining unparsed input length to the string + getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength; + if (string.length > 0) { + getParsingFlags(config).unusedInput.push(string); + } + + // clear _12h flag if hour is <= 12 + if (config._a[HOUR] <= 12 && + getParsingFlags(config).bigHour === true && + config._a[HOUR] > 0) { + getParsingFlags(config).bigHour = undefined; + } + + getParsingFlags(config).parsedDateParts = config._a.slice(0); + getParsingFlags(config).meridiem = config._meridiem; + // handle meridiem + config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem); + + configFromArray(config); + checkOverflow(config); + } + + + function meridiemFixWrap (locale, hour, meridiem) { + var isPm; + + if (meridiem == null) { + // nothing to do + return hour; + } + if (locale.meridiemHour != null) { + return locale.meridiemHour(hour, meridiem); + } else if (locale.isPM != null) { + // Fallback + isPm = locale.isPM(meridiem); + if (isPm && hour < 12) { + hour += 12; + } + if (!isPm && hour === 12) { + hour = 0; + } + return hour; + } else { + // this is not supposed to happen + return hour; + } + } + + // date from string and array of format strings + function configFromStringAndArray(config) { + var tempConfig, + bestMoment, + + scoreToBeat, + i, + currentScore; + + if (config._f.length === 0) { + getParsingFlags(config).invalidFormat = true; + config._d = new Date(NaN); + return; + } + + for (i = 0; i < config._f.length; i++) { + currentScore = 0; + tempConfig = copyConfig({}, config); + if (config._useUTC != null) { + tempConfig._useUTC = config._useUTC; + } + tempConfig._f = config._f[i]; + configFromStringAndFormat(tempConfig); + + if (!isValid(tempConfig)) { + continue; + } + + // if there is any input that was not parsed add a penalty for that format + currentScore += getParsingFlags(tempConfig).charsLeftOver; + + //or tokens + currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10; + + getParsingFlags(tempConfig).score = currentScore; + + if (scoreToBeat == null || currentScore < scoreToBeat) { + scoreToBeat = currentScore; + bestMoment = tempConfig; + } + } + + extend(config, bestMoment || tempConfig); + } + + function configFromObject(config) { + if (config._d) { + return; + } + + var i = normalizeObjectUnits(config._i); + config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) { + return obj && parseInt(obj, 10); + }); + + configFromArray(config); + } + + function createFromConfig (config) { + var res = new Moment(checkOverflow(prepareConfig(config))); + if (res._nextDay) { + // Adding is smart enough around DST + res.add(1, 'd'); + res._nextDay = undefined; + } + + return res; + } + + function prepareConfig (config) { + var input = config._i, + format = config._f; + + config._locale = config._locale || getLocale(config._l); + + if (input === null || (format === undefined && input === '')) { + return createInvalid({nullInput: true}); + } + + if (typeof input === 'string') { + config._i = input = config._locale.preparse(input); + } + + if (isMoment(input)) { + return new Moment(checkOverflow(input)); + } else if (isDate(input)) { + config._d = input; + } else if (isArray(format)) { + configFromStringAndArray(config); + } else if (format) { + configFromStringAndFormat(config); + } else { + configFromInput(config); + } + + if (!isValid(config)) { + config._d = null; + } + + return config; + } + + function configFromInput(config) { + var input = config._i; + if (isUndefined(input)) { + config._d = new Date(hooks.now()); + } else if (isDate(input)) { + config._d = new Date(input.valueOf()); + } else if (typeof input === 'string') { + configFromString(config); + } else if (isArray(input)) { + config._a = map(input.slice(0), function (obj) { + return parseInt(obj, 10); + }); + configFromArray(config); + } else if (isObject(input)) { + configFromObject(config); + } else if (isNumber(input)) { + // from milliseconds + config._d = new Date(input); + } else { + hooks.createFromInputFallback(config); + } + } + + function createLocalOrUTC (input, format, locale, strict, isUTC) { + var c = {}; + + if (locale === true || locale === false) { + strict = locale; + locale = undefined; + } + + if ((isObject(input) && isObjectEmpty(input)) || + (isArray(input) && input.length === 0)) { + input = undefined; + } + // object construction must be done this way. + // https://github.com/moment/moment/issues/1423 + c._isAMomentObject = true; + c._useUTC = c._isUTC = isUTC; + c._l = locale; + c._i = input; + c._f = format; + c._strict = strict; + + return createFromConfig(c); + } + + function createLocal (input, format, locale, strict) { + return createLocalOrUTC(input, format, locale, strict, false); + } + + var prototypeMin = deprecate( + 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', + function () { + var other = createLocal.apply(null, arguments); + if (this.isValid() && other.isValid()) { + return other < this ? this : other; + } else { + return createInvalid(); + } + } + ); + + var prototypeMax = deprecate( + 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', + function () { + var other = createLocal.apply(null, arguments); + if (this.isValid() && other.isValid()) { + return other > this ? this : other; + } else { + return createInvalid(); + } + } + ); + + // Pick a moment m from moments so that m[fn](other) is true for all + // other. This relies on the function fn to be transitive. + // + // moments should either be an array of moment objects or an array, whose + // first element is an array of moment objects. + function pickBy(fn, moments) { + var res, i; + if (moments.length === 1 && isArray(moments[0])) { + moments = moments[0]; + } + if (!moments.length) { + return createLocal(); + } + res = moments[0]; + for (i = 1; i < moments.length; ++i) { + if (!moments[i].isValid() || moments[i][fn](res)) { + res = moments[i]; + } + } + return res; + } + + // TODO: Use [].sort instead? + function min () { + var args = [].slice.call(arguments, 0); + + return pickBy('isBefore', args); + } + + function max () { + var args = [].slice.call(arguments, 0); + + return pickBy('isAfter', args); + } + + var now = function () { + return Date.now ? Date.now() : +(new Date()); + }; + + var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond']; + + function isDurationValid(m) { + for (var key in m) { + if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) { + return false; + } + } + + var unitHasDecimal = false; + for (var i = 0; i < ordering.length; ++i) { + if (m[ordering[i]]) { + if (unitHasDecimal) { + return false; // only allow non-integers for smallest unit + } + if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) { + unitHasDecimal = true; + } + } + } + + return true; + } + + function isValid$1() { + return this._isValid; + } + + function createInvalid$1() { + return createDuration(NaN); + } + + function Duration (duration) { + var normalizedInput = normalizeObjectUnits(duration), + years = normalizedInput.year || 0, + quarters = normalizedInput.quarter || 0, + months = normalizedInput.month || 0, + weeks = normalizedInput.week || normalizedInput.isoWeek || 0, + days = normalizedInput.day || 0, + hours = normalizedInput.hour || 0, + minutes = normalizedInput.minute || 0, + seconds = normalizedInput.second || 0, + milliseconds = normalizedInput.millisecond || 0; + + this._isValid = isDurationValid(normalizedInput); + + // representation for dateAddRemove + this._milliseconds = +milliseconds + + seconds * 1e3 + // 1000 + minutes * 6e4 + // 1000 * 60 + hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978 + // Because of dateAddRemove treats 24 hours as different from a + // day when working around DST, we need to store them separately + this._days = +days + + weeks * 7; + // It is impossible to translate months into days without knowing + // which months you are are talking about, so we have to store + // it separately. + this._months = +months + + quarters * 3 + + years * 12; + + this._data = {}; + + this._locale = getLocale(); + + this._bubble(); + } + + function isDuration (obj) { + return obj instanceof Duration; + } + + function absRound (number) { + if (number < 0) { + return Math.round(-1 * number) * -1; + } else { + return Math.round(number); + } + } + + // FORMATTING + + function offset (token, separator) { + addFormatToken(token, 0, 0, function () { + var offset = this.utcOffset(); + var sign = '+'; + if (offset < 0) { + offset = -offset; + sign = '-'; + } + return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2); + }); + } + + offset('Z', ':'); + offset('ZZ', ''); + + // PARSING + + addRegexToken('Z', matchShortOffset); + addRegexToken('ZZ', matchShortOffset); + addParseToken(['Z', 'ZZ'], function (input, array, config) { + config._useUTC = true; + config._tzm = offsetFromString(matchShortOffset, input); + }); + + // HELPERS + + // timezone chunker + // '+10:00' > ['10', '00'] + // '-1530' > ['-15', '30'] + var chunkOffset = /([\+\-]|\d\d)/gi; + + function offsetFromString(matcher, string) { + var matches = (string || '').match(matcher); + + if (matches === null) { + return null; + } + + var chunk = matches[matches.length - 1] || []; + var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0]; + var minutes = +(parts[1] * 60) + toInt(parts[2]); + + return minutes === 0 ? + 0 : + parts[0] === '+' ? minutes : -minutes; + } + + // Return a moment from input, that is local/utc/zone equivalent to model. + function cloneWithOffset(input, model) { + var res, diff; + if (model._isUTC) { + res = model.clone(); + diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf(); + // Use low-level api, because this fn is low-level api. + res._d.setTime(res._d.valueOf() + diff); + hooks.updateOffset(res, false); + return res; + } else { + return createLocal(input).local(); + } + } + + function getDateOffset (m) { + // On Firefox.24 Date#getTimezoneOffset returns a floating point. + // https://github.com/moment/moment/pull/1871 + return -Math.round(m._d.getTimezoneOffset() / 15) * 15; + } + + // HOOKS + + // This function will be called whenever a moment is mutated. + // It is intended to keep the offset in sync with the timezone. + hooks.updateOffset = function () {}; + + // MOMENTS + + // keepLocalTime = true means only change the timezone, without + // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]--> + // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset + // +0200, so we adjust the time as needed, to be valid. + // + // Keeping the time actually adds/subtracts (one hour) + // from the actual represented time. That is why we call updateOffset + // a second time. In case it wants us to change the offset again + // _changeInProgress == true case, then we have to adjust, because + // there is no such time in the given timezone. + function getSetOffset (input, keepLocalTime, keepMinutes) { + var offset = this._offset || 0, + localAdjust; + if (!this.isValid()) { + return input != null ? this : NaN; + } + if (input != null) { + if (typeof input === 'string') { + input = offsetFromString(matchShortOffset, input); + if (input === null) { + return this; + } + } else if (Math.abs(input) < 16 && !keepMinutes) { + input = input * 60; + } + if (!this._isUTC && keepLocalTime) { + localAdjust = getDateOffset(this); + } + this._offset = input; + this._isUTC = true; + if (localAdjust != null) { + this.add(localAdjust, 'm'); + } + if (offset !== input) { + if (!keepLocalTime || this._changeInProgress) { + addSubtract(this, createDuration(input - offset, 'm'), 1, false); + } else if (!this._changeInProgress) { + this._changeInProgress = true; + hooks.updateOffset(this, true); + this._changeInProgress = null; + } + } + return this; + } else { + return this._isUTC ? offset : getDateOffset(this); + } + } + + function getSetZone (input, keepLocalTime) { + if (input != null) { + if (typeof input !== 'string') { + input = -input; + } + + this.utcOffset(input, keepLocalTime); + + return this; + } else { + return -this.utcOffset(); + } + } + + function setOffsetToUTC (keepLocalTime) { + return this.utcOffset(0, keepLocalTime); + } + + function setOffsetToLocal (keepLocalTime) { + if (this._isUTC) { + this.utcOffset(0, keepLocalTime); + this._isUTC = false; + + if (keepLocalTime) { + this.subtract(getDateOffset(this), 'm'); + } + } + return this; + } + + function setOffsetToParsedOffset () { + if (this._tzm != null) { + this.utcOffset(this._tzm, false, true); + } else if (typeof this._i === 'string') { + var tZone = offsetFromString(matchOffset, this._i); + if (tZone != null) { + this.utcOffset(tZone); + } + else { + this.utcOffset(0, true); + } + } + return this; + } + + function hasAlignedHourOffset (input) { + if (!this.isValid()) { + return false; + } + input = input ? createLocal(input).utcOffset() : 0; + + return (this.utcOffset() - input) % 60 === 0; + } + + function isDaylightSavingTime () { + return ( + this.utcOffset() > this.clone().month(0).utcOffset() || + this.utcOffset() > this.clone().month(5).utcOffset() + ); + } + + function isDaylightSavingTimeShifted () { + if (!isUndefined(this._isDSTShifted)) { + return this._isDSTShifted; + } + + var c = {}; + + copyConfig(c, this); + c = prepareConfig(c); + + if (c._a) { + var other = c._isUTC ? createUTC(c._a) : createLocal(c._a); + this._isDSTShifted = this.isValid() && + compareArrays(c._a, other.toArray()) > 0; + } else { + this._isDSTShifted = false; + } + + return this._isDSTShifted; + } + + function isLocal () { + return this.isValid() ? !this._isUTC : false; + } + + function isUtcOffset () { + return this.isValid() ? this._isUTC : false; + } + + function isUtc () { + return this.isValid() ? this._isUTC && this._offset === 0 : false; + } + + // ASP.NET json date format regex + var aspNetRegex = /^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/; + + // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html + // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere + // and further modified to allow for strings containing both week and day + var isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; + + function createDuration (input, key) { + var duration = input, + // matching against regexp is expensive, do it on demand + match = null, + sign, + ret, + diffRes; + + if (isDuration(input)) { + duration = { + ms : input._milliseconds, + d : input._days, + M : input._months + }; + } else if (isNumber(input)) { + duration = {}; + if (key) { + duration[key] = input; + } else { + duration.milliseconds = input; + } + } else if (!!(match = aspNetRegex.exec(input))) { + sign = (match[1] === '-') ? -1 : 1; + duration = { + y : 0, + d : toInt(match[DATE]) * sign, + h : toInt(match[HOUR]) * sign, + m : toInt(match[MINUTE]) * sign, + s : toInt(match[SECOND]) * sign, + ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match + }; + } else if (!!(match = isoRegex.exec(input))) { + sign = (match[1] === '-') ? -1 : 1; + duration = { + y : parseIso(match[2], sign), + M : parseIso(match[3], sign), + w : parseIso(match[4], sign), + d : parseIso(match[5], sign), + h : parseIso(match[6], sign), + m : parseIso(match[7], sign), + s : parseIso(match[8], sign) + }; + } else if (duration == null) {// checks for null or undefined + duration = {}; + } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) { + diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to)); + + duration = {}; + duration.ms = diffRes.milliseconds; + duration.M = diffRes.months; + } + + ret = new Duration(duration); + + if (isDuration(input) && hasOwnProp(input, '_locale')) { + ret._locale = input._locale; + } + + return ret; + } + + createDuration.fn = Duration.prototype; + createDuration.invalid = createInvalid$1; + + function parseIso (inp, sign) { + // We'd normally use ~~inp for this, but unfortunately it also + // converts floats to ints. + // inp may be undefined, so careful calling replace on it. + var res = inp && parseFloat(inp.replace(',', '.')); + // apply sign while we're at it + return (isNaN(res) ? 0 : res) * sign; + } + + function positiveMomentsDifference(base, other) { + var res = {}; + + res.months = other.month() - base.month() + + (other.year() - base.year()) * 12; + if (base.clone().add(res.months, 'M').isAfter(other)) { + --res.months; + } + + res.milliseconds = +other - +(base.clone().add(res.months, 'M')); + + return res; + } + + function momentsDifference(base, other) { + var res; + if (!(base.isValid() && other.isValid())) { + return {milliseconds: 0, months: 0}; + } + + other = cloneWithOffset(other, base); + if (base.isBefore(other)) { + res = positiveMomentsDifference(base, other); + } else { + res = positiveMomentsDifference(other, base); + res.milliseconds = -res.milliseconds; + res.months = -res.months; + } + + return res; + } + + // TODO: remove 'name' arg after deprecation is removed + function createAdder(direction, name) { + return function (val, period) { + var dur, tmp; + //invert the arguments, but complain about it + if (period !== null && !isNaN(+period)) { + deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' + + 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'); + tmp = val; val = period; period = tmp; + } + + val = typeof val === 'string' ? +val : val; + dur = createDuration(val, period); + addSubtract(this, dur, direction); + return this; + }; + } + + function addSubtract (mom, duration, isAdding, updateOffset) { + var milliseconds = duration._milliseconds, + days = absRound(duration._days), + months = absRound(duration._months); + + if (!mom.isValid()) { + // No op + return; + } + + updateOffset = updateOffset == null ? true : updateOffset; + + if (months) { + setMonth(mom, get(mom, 'Month') + months * isAdding); + } + if (days) { + set$1(mom, 'Date', get(mom, 'Date') + days * isAdding); + } + if (milliseconds) { + mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding); + } + if (updateOffset) { + hooks.updateOffset(mom, days || months); + } + } + + var add = createAdder(1, 'add'); + var subtract = createAdder(-1, 'subtract'); + + function getCalendarFormat(myMoment, now) { + var diff = myMoment.diff(now, 'days', true); + return diff < -6 ? 'sameElse' : + diff < -1 ? 'lastWeek' : + diff < 0 ? 'lastDay' : + diff < 1 ? 'sameDay' : + diff < 2 ? 'nextDay' : + diff < 7 ? 'nextWeek' : 'sameElse'; + } + + function calendar$1 (time, formats) { + // We want to compare the start of today, vs this. + // Getting start-of-today depends on whether we're local/utc/offset or not. + var now = time || createLocal(), + sod = cloneWithOffset(now, this).startOf('day'), + format = hooks.calendarFormat(this, sod) || 'sameElse'; + + var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]); + + return this.format(output || this.localeData().calendar(format, this, createLocal(now))); + } + + function clone () { + return new Moment(this); + } + + function isAfter (input, units) { + var localInput = isMoment(input) ? input : createLocal(input); + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || 'millisecond'; + if (units === 'millisecond') { + return this.valueOf() > localInput.valueOf(); + } else { + return localInput.valueOf() < this.clone().startOf(units).valueOf(); + } + } + + function isBefore (input, units) { + var localInput = isMoment(input) ? input : createLocal(input); + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || 'millisecond'; + if (units === 'millisecond') { + return this.valueOf() < localInput.valueOf(); + } else { + return this.clone().endOf(units).valueOf() < localInput.valueOf(); + } + } + + function isBetween (from, to, units, inclusivity) { + var localFrom = isMoment(from) ? from : createLocal(from), + localTo = isMoment(to) ? to : createLocal(to); + if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) { + return false; + } + inclusivity = inclusivity || '()'; + return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) && + (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units)); + } + + function isSame (input, units) { + var localInput = isMoment(input) ? input : createLocal(input), + inputMs; + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || 'millisecond'; + if (units === 'millisecond') { + return this.valueOf() === localInput.valueOf(); + } else { + inputMs = localInput.valueOf(); + return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf(); + } + } + + function isSameOrAfter (input, units) { + return this.isSame(input, units) || this.isAfter(input, units); + } + + function isSameOrBefore (input, units) { + return this.isSame(input, units) || this.isBefore(input, units); + } + + function diff (input, units, asFloat) { + var that, + zoneDelta, + output; + + if (!this.isValid()) { + return NaN; + } + + that = cloneWithOffset(input, this); + + if (!that.isValid()) { + return NaN; + } + + zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4; + + units = normalizeUnits(units); + + switch (units) { + case 'year': output = monthDiff(this, that) / 12; break; + case 'month': output = monthDiff(this, that); break; + case 'quarter': output = monthDiff(this, that) / 3; break; + case 'second': output = (this - that) / 1e3; break; // 1000 + case 'minute': output = (this - that) / 6e4; break; // 1000 * 60 + case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60 + case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst + case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst + default: output = this - that; + } + + return asFloat ? output : absFloor(output); + } + + function monthDiff (a, b) { + // difference in months + var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()), + // b is in (anchor - 1 month, anchor + 1 month) + anchor = a.clone().add(wholeMonthDiff, 'months'), + anchor2, adjust; + + if (b - anchor < 0) { + anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); + // linear across the month + adjust = (b - anchor) / (anchor - anchor2); + } else { + anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); + // linear across the month + adjust = (b - anchor) / (anchor2 - anchor); + } + + //check for negative zero, return zero if negative zero + return -(wholeMonthDiff + adjust) || 0; + } + + hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ'; + hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]'; + + function toString () { + return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); + } + + function toISOString(keepOffset) { + if (!this.isValid()) { + return null; + } + var utc = keepOffset !== true; + var m = utc ? this.clone().utc() : this; + if (m.year() < 0 || m.year() > 9999) { + return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'); + } + if (isFunction(Date.prototype.toISOString)) { + // native implementation is ~50x faster, use it when we can + if (utc) { + return this.toDate().toISOString(); + } else { + return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z')); + } + } + return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'); + } + + /** + * Return a human readable representation of a moment that can + * also be evaluated to get a new moment which is the same + * + * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects + */ + function inspect () { + if (!this.isValid()) { + return 'moment.invalid(/* ' + this._i + ' */)'; + } + var func = 'moment'; + var zone = ''; + if (!this.isLocal()) { + func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone'; + zone = 'Z'; + } + var prefix = '[' + func + '("]'; + var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY'; + var datetime = '-MM-DD[T]HH:mm:ss.SSS'; + var suffix = zone + '[")]'; + + return this.format(prefix + year + datetime + suffix); + } + + function format (inputString) { + if (!inputString) { + inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat; + } + var output = formatMoment(this, inputString); + return this.localeData().postformat(output); + } + + function from (time, withoutSuffix) { + if (this.isValid() && + ((isMoment(time) && time.isValid()) || + createLocal(time).isValid())) { + return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix); + } else { + return this.localeData().invalidDate(); + } + } + + function fromNow (withoutSuffix) { + return this.from(createLocal(), withoutSuffix); + } + + function to (time, withoutSuffix) { + if (this.isValid() && + ((isMoment(time) && time.isValid()) || + createLocal(time).isValid())) { + return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix); + } else { + return this.localeData().invalidDate(); + } + } + + function toNow (withoutSuffix) { + return this.to(createLocal(), withoutSuffix); + } + + // If passed a locale key, it will set the locale for this + // instance. Otherwise, it will return the locale configuration + // variables for this instance. + function locale (key) { + var newLocaleData; + + if (key === undefined) { + return this._locale._abbr; + } else { + newLocaleData = getLocale(key); + if (newLocaleData != null) { + this._locale = newLocaleData; + } + return this; + } + } + + var lang = deprecate( + 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', + function (key) { + if (key === undefined) { + return this.localeData(); + } else { + return this.locale(key); + } + } + ); + + function localeData () { + return this._locale; + } + + var MS_PER_SECOND = 1000; + var MS_PER_MINUTE = 60 * MS_PER_SECOND; + var MS_PER_HOUR = 60 * MS_PER_MINUTE; + var MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR; + + // actual modulo - handles negative numbers (for dates before 1970): + function mod$1(dividend, divisor) { + return (dividend % divisor + divisor) % divisor; + } + + function localStartOfDate(y, m, d) { + // the date constructor remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + return new Date(y + 400, m, d) - MS_PER_400_YEARS; + } else { + return new Date(y, m, d).valueOf(); + } + } + + function utcStartOfDate(y, m, d) { + // Date.UTC remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS; + } else { + return Date.UTC(y, m, d); + } + } + + function startOf (units) { + var time; + units = normalizeUnits(units); + if (units === undefined || units === 'millisecond' || !this.isValid()) { + return this; + } + + var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; + + switch (units) { + case 'year': + time = startOfDate(this.year(), 0, 1); + break; + case 'quarter': + time = startOfDate(this.year(), this.month() - this.month() % 3, 1); + break; + case 'month': + time = startOfDate(this.year(), this.month(), 1); + break; + case 'week': + time = startOfDate(this.year(), this.month(), this.date() - this.weekday()); + break; + case 'isoWeek': + time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1)); + break; + case 'day': + case 'date': + time = startOfDate(this.year(), this.month(), this.date()); + break; + case 'hour': + time = this._d.valueOf(); + time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR); + break; + case 'minute': + time = this._d.valueOf(); + time -= mod$1(time, MS_PER_MINUTE); + break; + case 'second': + time = this._d.valueOf(); + time -= mod$1(time, MS_PER_SECOND); + break; + } + + this._d.setTime(time); + hooks.updateOffset(this, true); + return this; + } + + function endOf (units) { + var time; + units = normalizeUnits(units); + if (units === undefined || units === 'millisecond' || !this.isValid()) { + return this; + } + + var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; + + switch (units) { + case 'year': + time = startOfDate(this.year() + 1, 0, 1) - 1; + break; + case 'quarter': + time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1; + break; + case 'month': + time = startOfDate(this.year(), this.month() + 1, 1) - 1; + break; + case 'week': + time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1; + break; + case 'isoWeek': + time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1; + break; + case 'day': + case 'date': + time = startOfDate(this.year(), this.month(), this.date() + 1) - 1; + break; + case 'hour': + time = this._d.valueOf(); + time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1; + break; + case 'minute': + time = this._d.valueOf(); + time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1; + break; + case 'second': + time = this._d.valueOf(); + time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1; + break; + } + + this._d.setTime(time); + hooks.updateOffset(this, true); + return this; + } + + function valueOf () { + return this._d.valueOf() - ((this._offset || 0) * 60000); + } + + function unix () { + return Math.floor(this.valueOf() / 1000); + } + + function toDate () { + return new Date(this.valueOf()); + } + + function toArray () { + var m = this; + return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()]; + } + + function toObject () { + var m = this; + return { + years: m.year(), + months: m.month(), + date: m.date(), + hours: m.hours(), + minutes: m.minutes(), + seconds: m.seconds(), + milliseconds: m.milliseconds() + }; + } + + function toJSON () { + // new Date(NaN).toJSON() === null + return this.isValid() ? this.toISOString() : null; + } + + function isValid$2 () { + return isValid(this); + } + + function parsingFlags () { + return extend({}, getParsingFlags(this)); + } + + function invalidAt () { + return getParsingFlags(this).overflow; + } + + function creationData() { + return { + input: this._i, + format: this._f, + locale: this._locale, + isUTC: this._isUTC, + strict: this._strict + }; + } + + // FORMATTING + + addFormatToken(0, ['gg', 2], 0, function () { + return this.weekYear() % 100; + }); + + addFormatToken(0, ['GG', 2], 0, function () { + return this.isoWeekYear() % 100; + }); + + function addWeekYearFormatToken (token, getter) { + addFormatToken(0, [token, token.length], 0, getter); + } + + addWeekYearFormatToken('gggg', 'weekYear'); + addWeekYearFormatToken('ggggg', 'weekYear'); + addWeekYearFormatToken('GGGG', 'isoWeekYear'); + addWeekYearFormatToken('GGGGG', 'isoWeekYear'); + + // ALIASES + + addUnitAlias('weekYear', 'gg'); + addUnitAlias('isoWeekYear', 'GG'); + + // PRIORITY + + addUnitPriority('weekYear', 1); + addUnitPriority('isoWeekYear', 1); + + + // PARSING + + addRegexToken('G', matchSigned); + addRegexToken('g', matchSigned); + addRegexToken('GG', match1to2, match2); + addRegexToken('gg', match1to2, match2); + addRegexToken('GGGG', match1to4, match4); + addRegexToken('gggg', match1to4, match4); + addRegexToken('GGGGG', match1to6, match6); + addRegexToken('ggggg', match1to6, match6); + + addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) { + week[token.substr(0, 2)] = toInt(input); + }); + + addWeekParseToken(['gg', 'GG'], function (input, week, config, token) { + week[token] = hooks.parseTwoDigitYear(input); + }); + + // MOMENTS + + function getSetWeekYear (input) { + return getSetWeekYearHelper.call(this, + input, + this.week(), + this.weekday(), + this.localeData()._week.dow, + this.localeData()._week.doy); + } + + function getSetISOWeekYear (input) { + return getSetWeekYearHelper.call(this, + input, this.isoWeek(), this.isoWeekday(), 1, 4); + } + + function getISOWeeksInYear () { + return weeksInYear(this.year(), 1, 4); + } + + function getWeeksInYear () { + var weekInfo = this.localeData()._week; + return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); + } + + function getSetWeekYearHelper(input, week, weekday, dow, doy) { + var weeksTarget; + if (input == null) { + return weekOfYear(this, dow, doy).year; + } else { + weeksTarget = weeksInYear(input, dow, doy); + if (week > weeksTarget) { + week = weeksTarget; + } + return setWeekAll.call(this, input, week, weekday, dow, doy); + } + } + + function setWeekAll(weekYear, week, weekday, dow, doy) { + var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy), + date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear); + + this.year(date.getUTCFullYear()); + this.month(date.getUTCMonth()); + this.date(date.getUTCDate()); + return this; + } + + // FORMATTING + + addFormatToken('Q', 0, 'Qo', 'quarter'); + + // ALIASES + + addUnitAlias('quarter', 'Q'); + + // PRIORITY + + addUnitPriority('quarter', 7); + + // PARSING + + addRegexToken('Q', match1); + addParseToken('Q', function (input, array) { + array[MONTH] = (toInt(input) - 1) * 3; + }); + + // MOMENTS + + function getSetQuarter (input) { + return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3); + } + + // FORMATTING + + addFormatToken('D', ['DD', 2], 'Do', 'date'); + + // ALIASES + + addUnitAlias('date', 'D'); + + // PRIORITY + addUnitPriority('date', 9); + + // PARSING + + addRegexToken('D', match1to2); + addRegexToken('DD', match1to2, match2); + addRegexToken('Do', function (isStrict, locale) { + // TODO: Remove "ordinalParse" fallback in next major release. + return isStrict ? + (locale._dayOfMonthOrdinalParse || locale._ordinalParse) : + locale._dayOfMonthOrdinalParseLenient; + }); + + addParseToken(['D', 'DD'], DATE); + addParseToken('Do', function (input, array) { + array[DATE] = toInt(input.match(match1to2)[0]); + }); + + // MOMENTS + + var getSetDayOfMonth = makeGetSet('Date', true); + + // FORMATTING + + addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); + + // ALIASES + + addUnitAlias('dayOfYear', 'DDD'); + + // PRIORITY + addUnitPriority('dayOfYear', 4); + + // PARSING + + addRegexToken('DDD', match1to3); + addRegexToken('DDDD', match3); + addParseToken(['DDD', 'DDDD'], function (input, array, config) { + config._dayOfYear = toInt(input); + }); + + // HELPERS + + // MOMENTS + + function getSetDayOfYear (input) { + var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1; + return input == null ? dayOfYear : this.add((input - dayOfYear), 'd'); + } + + // FORMATTING + + addFormatToken('m', ['mm', 2], 0, 'minute'); + + // ALIASES + + addUnitAlias('minute', 'm'); + + // PRIORITY + + addUnitPriority('minute', 14); + + // PARSING + + addRegexToken('m', match1to2); + addRegexToken('mm', match1to2, match2); + addParseToken(['m', 'mm'], MINUTE); + + // MOMENTS + + var getSetMinute = makeGetSet('Minutes', false); + + // FORMATTING + + addFormatToken('s', ['ss', 2], 0, 'second'); + + // ALIASES + + addUnitAlias('second', 's'); + + // PRIORITY + + addUnitPriority('second', 15); + + // PARSING + + addRegexToken('s', match1to2); + addRegexToken('ss', match1to2, match2); + addParseToken(['s', 'ss'], SECOND); + + // MOMENTS + + var getSetSecond = makeGetSet('Seconds', false); + + // FORMATTING + + addFormatToken('S', 0, 0, function () { + return ~~(this.millisecond() / 100); + }); + + addFormatToken(0, ['SS', 2], 0, function () { + return ~~(this.millisecond() / 10); + }); + + addFormatToken(0, ['SSS', 3], 0, 'millisecond'); + addFormatToken(0, ['SSSS', 4], 0, function () { + return this.millisecond() * 10; + }); + addFormatToken(0, ['SSSSS', 5], 0, function () { + return this.millisecond() * 100; + }); + addFormatToken(0, ['SSSSSS', 6], 0, function () { + return this.millisecond() * 1000; + }); + addFormatToken(0, ['SSSSSSS', 7], 0, function () { + return this.millisecond() * 10000; + }); + addFormatToken(0, ['SSSSSSSS', 8], 0, function () { + return this.millisecond() * 100000; + }); + addFormatToken(0, ['SSSSSSSSS', 9], 0, function () { + return this.millisecond() * 1000000; + }); + + + // ALIASES + + addUnitAlias('millisecond', 'ms'); + + // PRIORITY + + addUnitPriority('millisecond', 16); + + // PARSING + + addRegexToken('S', match1to3, match1); + addRegexToken('SS', match1to3, match2); + addRegexToken('SSS', match1to3, match3); + + var token; + for (token = 'SSSS'; token.length <= 9; token += 'S') { + addRegexToken(token, matchUnsigned); + } + + function parseMs(input, array) { + array[MILLISECOND] = toInt(('0.' + input) * 1000); + } + + for (token = 'S'; token.length <= 9; token += 'S') { + addParseToken(token, parseMs); + } + // MOMENTS + + var getSetMillisecond = makeGetSet('Milliseconds', false); + + // FORMATTING + + addFormatToken('z', 0, 0, 'zoneAbbr'); + addFormatToken('zz', 0, 0, 'zoneName'); + + // MOMENTS + + function getZoneAbbr () { + return this._isUTC ? 'UTC' : ''; + } + + function getZoneName () { + return this._isUTC ? 'Coordinated Universal Time' : ''; + } + + var proto = Moment.prototype; + + proto.add = add; + proto.calendar = calendar$1; + proto.clone = clone; + proto.diff = diff; + proto.endOf = endOf; + proto.format = format; + proto.from = from; + proto.fromNow = fromNow; + proto.to = to; + proto.toNow = toNow; + proto.get = stringGet; + proto.invalidAt = invalidAt; + proto.isAfter = isAfter; + proto.isBefore = isBefore; + proto.isBetween = isBetween; + proto.isSame = isSame; + proto.isSameOrAfter = isSameOrAfter; + proto.isSameOrBefore = isSameOrBefore; + proto.isValid = isValid$2; + proto.lang = lang; + proto.locale = locale; + proto.localeData = localeData; + proto.max = prototypeMax; + proto.min = prototypeMin; + proto.parsingFlags = parsingFlags; + proto.set = stringSet; + proto.startOf = startOf; + proto.subtract = subtract; + proto.toArray = toArray; + proto.toObject = toObject; + proto.toDate = toDate; + proto.toISOString = toISOString; + proto.inspect = inspect; + proto.toJSON = toJSON; + proto.toString = toString; + proto.unix = unix; + proto.valueOf = valueOf; + proto.creationData = creationData; + proto.year = getSetYear; + proto.isLeapYear = getIsLeapYear; + proto.weekYear = getSetWeekYear; + proto.isoWeekYear = getSetISOWeekYear; + proto.quarter = proto.quarters = getSetQuarter; + proto.month = getSetMonth; + proto.daysInMonth = getDaysInMonth; + proto.week = proto.weeks = getSetWeek; + proto.isoWeek = proto.isoWeeks = getSetISOWeek; + proto.weeksInYear = getWeeksInYear; + proto.isoWeeksInYear = getISOWeeksInYear; + proto.date = getSetDayOfMonth; + proto.day = proto.days = getSetDayOfWeek; + proto.weekday = getSetLocaleDayOfWeek; + proto.isoWeekday = getSetISODayOfWeek; + proto.dayOfYear = getSetDayOfYear; + proto.hour = proto.hours = getSetHour; + proto.minute = proto.minutes = getSetMinute; + proto.second = proto.seconds = getSetSecond; + proto.millisecond = proto.milliseconds = getSetMillisecond; + proto.utcOffset = getSetOffset; + proto.utc = setOffsetToUTC; + proto.local = setOffsetToLocal; + proto.parseZone = setOffsetToParsedOffset; + proto.hasAlignedHourOffset = hasAlignedHourOffset; + proto.isDST = isDaylightSavingTime; + proto.isLocal = isLocal; + proto.isUtcOffset = isUtcOffset; + proto.isUtc = isUtc; + proto.isUTC = isUtc; + proto.zoneAbbr = getZoneAbbr; + proto.zoneName = getZoneName; + proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth); + proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth); + proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear); + proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone); + proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted); + + function createUnix (input) { + return createLocal(input * 1000); + } + + function createInZone () { + return createLocal.apply(null, arguments).parseZone(); + } + + function preParsePostFormat (string) { + return string; + } + + var proto$1 = Locale.prototype; + + proto$1.calendar = calendar; + proto$1.longDateFormat = longDateFormat; + proto$1.invalidDate = invalidDate; + proto$1.ordinal = ordinal; + proto$1.preparse = preParsePostFormat; + proto$1.postformat = preParsePostFormat; + proto$1.relativeTime = relativeTime; + proto$1.pastFuture = pastFuture; + proto$1.set = set; + + proto$1.months = localeMonths; + proto$1.monthsShort = localeMonthsShort; + proto$1.monthsParse = localeMonthsParse; + proto$1.monthsRegex = monthsRegex; + proto$1.monthsShortRegex = monthsShortRegex; + proto$1.week = localeWeek; + proto$1.firstDayOfYear = localeFirstDayOfYear; + proto$1.firstDayOfWeek = localeFirstDayOfWeek; + + proto$1.weekdays = localeWeekdays; + proto$1.weekdaysMin = localeWeekdaysMin; + proto$1.weekdaysShort = localeWeekdaysShort; + proto$1.weekdaysParse = localeWeekdaysParse; + + proto$1.weekdaysRegex = weekdaysRegex; + proto$1.weekdaysShortRegex = weekdaysShortRegex; + proto$1.weekdaysMinRegex = weekdaysMinRegex; + + proto$1.isPM = localeIsPM; + proto$1.meridiem = localeMeridiem; + + function get$1 (format, index, field, setter) { + var locale = getLocale(); + var utc = createUTC().set(setter, index); + return locale[field](utc, format); + } + + function listMonthsImpl (format, index, field) { + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + + if (index != null) { + return get$1(format, index, field, 'month'); + } + + var i; + var out = []; + for (i = 0; i < 12; i++) { + out[i] = get$1(format, i, field, 'month'); + } + return out; + } + + // () + // (5) + // (fmt, 5) + // (fmt) + // (true) + // (true, 5) + // (true, fmt, 5) + // (true, fmt) + function listWeekdaysImpl (localeSorted, format, index, field) { + if (typeof localeSorted === 'boolean') { + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + } else { + format = localeSorted; + index = format; + localeSorted = false; + + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + } + + var locale = getLocale(), + shift = localeSorted ? locale._week.dow : 0; + + if (index != null) { + return get$1(format, (index + shift) % 7, field, 'day'); + } + + var i; + var out = []; + for (i = 0; i < 7; i++) { + out[i] = get$1(format, (i + shift) % 7, field, 'day'); + } + return out; + } + + function listMonths (format, index) { + return listMonthsImpl(format, index, 'months'); + } + + function listMonthsShort (format, index) { + return listMonthsImpl(format, index, 'monthsShort'); + } + + function listWeekdays (localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdays'); + } + + function listWeekdaysShort (localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort'); + } + + function listWeekdaysMin (localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin'); + } + + getSetGlobalLocale('en', { + dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, + ordinal : function (number) { + var b = number % 10, + output = (toInt(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + } + }); + + // Side effect imports + + hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale); + hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale); + + var mathAbs = Math.abs; + + function abs () { + var data = this._data; + + this._milliseconds = mathAbs(this._milliseconds); + this._days = mathAbs(this._days); + this._months = mathAbs(this._months); + + data.milliseconds = mathAbs(data.milliseconds); + data.seconds = mathAbs(data.seconds); + data.minutes = mathAbs(data.minutes); + data.hours = mathAbs(data.hours); + data.months = mathAbs(data.months); + data.years = mathAbs(data.years); + + return this; + } + + function addSubtract$1 (duration, input, value, direction) { + var other = createDuration(input, value); + + duration._milliseconds += direction * other._milliseconds; + duration._days += direction * other._days; + duration._months += direction * other._months; + + return duration._bubble(); + } + + // supports only 2.0-style add(1, 's') or add(duration) + function add$1 (input, value) { + return addSubtract$1(this, input, value, 1); + } + + // supports only 2.0-style subtract(1, 's') or subtract(duration) + function subtract$1 (input, value) { + return addSubtract$1(this, input, value, -1); + } + + function absCeil (number) { + if (number < 0) { + return Math.floor(number); + } else { + return Math.ceil(number); + } + } + + function bubble () { + var milliseconds = this._milliseconds; + var days = this._days; + var months = this._months; + var data = this._data; + var seconds, minutes, hours, years, monthsFromDays; + + // if we have a mix of positive and negative values, bubble down first + // check: https://github.com/moment/moment/issues/2166 + if (!((milliseconds >= 0 && days >= 0 && months >= 0) || + (milliseconds <= 0 && days <= 0 && months <= 0))) { + milliseconds += absCeil(monthsToDays(months) + days) * 864e5; + days = 0; + months = 0; + } + + // The following code bubbles up values, see the tests for + // examples of what that means. + data.milliseconds = milliseconds % 1000; + + seconds = absFloor(milliseconds / 1000); + data.seconds = seconds % 60; + + minutes = absFloor(seconds / 60); + data.minutes = minutes % 60; + + hours = absFloor(minutes / 60); + data.hours = hours % 24; + + days += absFloor(hours / 24); + + // convert days to months + monthsFromDays = absFloor(daysToMonths(days)); + months += monthsFromDays; + days -= absCeil(monthsToDays(monthsFromDays)); + + // 12 months -> 1 year + years = absFloor(months / 12); + months %= 12; + + data.days = days; + data.months = months; + data.years = years; + + return this; + } + + function daysToMonths (days) { + // 400 years have 146097 days (taking into account leap year rules) + // 400 years have 12 months === 4800 + return days * 4800 / 146097; + } + + function monthsToDays (months) { + // the reverse of daysToMonths + return months * 146097 / 4800; + } + + function as (units) { + if (!this.isValid()) { + return NaN; + } + var days; + var months; + var milliseconds = this._milliseconds; + + units = normalizeUnits(units); + + if (units === 'month' || units === 'quarter' || units === 'year') { + days = this._days + milliseconds / 864e5; + months = this._months + daysToMonths(days); + switch (units) { + case 'month': return months; + case 'quarter': return months / 3; + case 'year': return months / 12; + } + } else { + // handle milliseconds separately because of floating point math errors (issue #1867) + days = this._days + Math.round(monthsToDays(this._months)); + switch (units) { + case 'week' : return days / 7 + milliseconds / 6048e5; + case 'day' : return days + milliseconds / 864e5; + case 'hour' : return days * 24 + milliseconds / 36e5; + case 'minute' : return days * 1440 + milliseconds / 6e4; + case 'second' : return days * 86400 + milliseconds / 1000; + // Math.floor prevents floating point math errors here + case 'millisecond': return Math.floor(days * 864e5) + milliseconds; + default: throw new Error('Unknown unit ' + units); + } + } + } + + // TODO: Use this.as('ms')? + function valueOf$1 () { + if (!this.isValid()) { + return NaN; + } + return ( + this._milliseconds + + this._days * 864e5 + + (this._months % 12) * 2592e6 + + toInt(this._months / 12) * 31536e6 + ); + } + + function makeAs (alias) { + return function () { + return this.as(alias); + }; + } + + var asMilliseconds = makeAs('ms'); + var asSeconds = makeAs('s'); + var asMinutes = makeAs('m'); + var asHours = makeAs('h'); + var asDays = makeAs('d'); + var asWeeks = makeAs('w'); + var asMonths = makeAs('M'); + var asQuarters = makeAs('Q'); + var asYears = makeAs('y'); + + function clone$1 () { + return createDuration(this); + } + + function get$2 (units) { + units = normalizeUnits(units); + return this.isValid() ? this[units + 's']() : NaN; + } + + function makeGetter(name) { + return function () { + return this.isValid() ? this._data[name] : NaN; + }; + } + + var milliseconds = makeGetter('milliseconds'); + var seconds = makeGetter('seconds'); + var minutes = makeGetter('minutes'); + var hours = makeGetter('hours'); + var days = makeGetter('days'); + var months = makeGetter('months'); + var years = makeGetter('years'); + + function weeks () { + return absFloor(this.days() / 7); + } + + var round = Math.round; + var thresholds = { + ss: 44, // a few seconds to seconds + s : 45, // seconds to minute + m : 45, // minutes to hour + h : 22, // hours to day + d : 26, // days to month + M : 11 // months to year + }; + + // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize + function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) { + return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture); + } + + function relativeTime$1 (posNegDuration, withoutSuffix, locale) { + var duration = createDuration(posNegDuration).abs(); + var seconds = round(duration.as('s')); + var minutes = round(duration.as('m')); + var hours = round(duration.as('h')); + var days = round(duration.as('d')); + var months = round(duration.as('M')); + var years = round(duration.as('y')); + + var a = seconds <= thresholds.ss && ['s', seconds] || + seconds < thresholds.s && ['ss', seconds] || + minutes <= 1 && ['m'] || + minutes < thresholds.m && ['mm', minutes] || + hours <= 1 && ['h'] || + hours < thresholds.h && ['hh', hours] || + days <= 1 && ['d'] || + days < thresholds.d && ['dd', days] || + months <= 1 && ['M'] || + months < thresholds.M && ['MM', months] || + years <= 1 && ['y'] || ['yy', years]; + + a[2] = withoutSuffix; + a[3] = +posNegDuration > 0; + a[4] = locale; + return substituteTimeAgo.apply(null, a); + } + + // This function allows you to set the rounding function for relative time strings + function getSetRelativeTimeRounding (roundingFunction) { + if (roundingFunction === undefined) { + return round; + } + if (typeof(roundingFunction) === 'function') { + round = roundingFunction; + return true; + } + return false; + } + + // This function allows you to set a threshold for relative time strings + function getSetRelativeTimeThreshold (threshold, limit) { + if (thresholds[threshold] === undefined) { + return false; + } + if (limit === undefined) { + return thresholds[threshold]; + } + thresholds[threshold] = limit; + if (threshold === 's') { + thresholds.ss = limit - 1; + } + return true; + } + + function humanize (withSuffix) { + if (!this.isValid()) { + return this.localeData().invalidDate(); + } + + var locale = this.localeData(); + var output = relativeTime$1(this, !withSuffix, locale); + + if (withSuffix) { + output = locale.pastFuture(+this, output); + } + + return locale.postformat(output); + } + + var abs$1 = Math.abs; + + function sign(x) { + return ((x > 0) - (x < 0)) || +x; + } + + function toISOString$1() { + // for ISO strings we do not use the normal bubbling rules: + // * milliseconds bubble up until they become hours + // * days do not bubble at all + // * months bubble up until they become years + // This is because there is no context-free conversion between hours and days + // (think of clock changes) + // and also not between days and months (28-31 days per month) + if (!this.isValid()) { + return this.localeData().invalidDate(); + } + + var seconds = abs$1(this._milliseconds) / 1000; + var days = abs$1(this._days); + var months = abs$1(this._months); + var minutes, hours, years; + + // 3600 seconds -> 60 minutes -> 1 hour + minutes = absFloor(seconds / 60); + hours = absFloor(minutes / 60); + seconds %= 60; + minutes %= 60; + + // 12 months -> 1 year + years = absFloor(months / 12); + months %= 12; + + + // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js + var Y = years; + var M = months; + var D = days; + var h = hours; + var m = minutes; + var s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : ''; + var total = this.asSeconds(); + + if (!total) { + // this is the same as C#'s (Noda) and python (isodate)... + // but not other JS (goog.date) + return 'P0D'; + } + + var totalSign = total < 0 ? '-' : ''; + var ymSign = sign(this._months) !== sign(total) ? '-' : ''; + var daysSign = sign(this._days) !== sign(total) ? '-' : ''; + var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : ''; + + return totalSign + 'P' + + (Y ? ymSign + Y + 'Y' : '') + + (M ? ymSign + M + 'M' : '') + + (D ? daysSign + D + 'D' : '') + + ((h || m || s) ? 'T' : '') + + (h ? hmsSign + h + 'H' : '') + + (m ? hmsSign + m + 'M' : '') + + (s ? hmsSign + s + 'S' : ''); + } + + var proto$2 = Duration.prototype; + + proto$2.isValid = isValid$1; + proto$2.abs = abs; + proto$2.add = add$1; + proto$2.subtract = subtract$1; + proto$2.as = as; + proto$2.asMilliseconds = asMilliseconds; + proto$2.asSeconds = asSeconds; + proto$2.asMinutes = asMinutes; + proto$2.asHours = asHours; + proto$2.asDays = asDays; + proto$2.asWeeks = asWeeks; + proto$2.asMonths = asMonths; + proto$2.asQuarters = asQuarters; + proto$2.asYears = asYears; + proto$2.valueOf = valueOf$1; + proto$2._bubble = bubble; + proto$2.clone = clone$1; + proto$2.get = get$2; + proto$2.milliseconds = milliseconds; + proto$2.seconds = seconds; + proto$2.minutes = minutes; + proto$2.hours = hours; + proto$2.days = days; + proto$2.weeks = weeks; + proto$2.months = months; + proto$2.years = years; + proto$2.humanize = humanize; + proto$2.toISOString = toISOString$1; + proto$2.toString = toISOString$1; + proto$2.toJSON = toISOString$1; + proto$2.locale = locale; + proto$2.localeData = localeData; + + proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1); + proto$2.lang = lang; + + // Side effect imports + + // FORMATTING + + addFormatToken('X', 0, 0, 'unix'); + addFormatToken('x', 0, 0, 'valueOf'); + + // PARSING + + addRegexToken('x', matchSigned); + addRegexToken('X', matchTimestamp); + addParseToken('X', function (input, array, config) { + config._d = new Date(parseFloat(input, 10) * 1000); + }); + addParseToken('x', function (input, array, config) { + config._d = new Date(toInt(input)); + }); + + // Side effect imports + + //! moment.js + + hooks.version = '2.24.0'; + + setHookCallback(createLocal); + + hooks.fn = proto; + hooks.min = min; + hooks.max = max; + hooks.now = now; + hooks.utc = createUTC; + hooks.unix = createUnix; + hooks.months = listMonths; + hooks.isDate = isDate; + hooks.locale = getSetGlobalLocale; + hooks.invalid = createInvalid; + hooks.duration = createDuration; + hooks.isMoment = isMoment; + hooks.weekdays = listWeekdays; + hooks.parseZone = createInZone; + hooks.localeData = getLocale; + hooks.isDuration = isDuration; + hooks.monthsShort = listMonthsShort; + hooks.weekdaysMin = listWeekdaysMin; + hooks.defineLocale = defineLocale; + hooks.updateLocale = updateLocale; + hooks.locales = listLocales; + hooks.weekdaysShort = listWeekdaysShort; + hooks.normalizeUnits = normalizeUnits; + hooks.relativeTimeRounding = getSetRelativeTimeRounding; + hooks.relativeTimeThreshold = getSetRelativeTimeThreshold; + hooks.calendarFormat = getCalendarFormat; + hooks.prototype = proto; + + // currently HTML5 input type only supports 24-hour formats + hooks.HTML5_FMT = { + DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type="datetime-local" /> + DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type="datetime-local" step="1" /> + DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type="datetime-local" step="0.001" /> + DATE: 'YYYY-MM-DD', // <input type="date" /> + TIME: 'HH:mm', // <input type="time" /> + TIME_SECONDS: 'HH:mm:ss', // <input type="time" step="1" /> + TIME_MS: 'HH:mm:ss.SSS', // <input type="time" step="0.001" /> + WEEK: 'GGGG-[W]WW', // <input type="week" /> + MONTH: 'YYYY-MM' // <input type="month" /> + }; + + //! moment.js locale configuration + + hooks.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 (input) { + return /^nm$/i.test(input); + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 12) { + return isLower ? 'vm' : 'VM'; + } else { + return isLower ? '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 (number) { + return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter + }, + week : { + dow : 1, // Maandag is die eerste dag van die week. + doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('ar-dz', { + months : 'جانÙÙŠ_ÙÙŠÙØ±ÙŠ_مارس_Ø£ÙØ±ÙŠÙ„_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), + monthsShort : 'جانÙÙŠ_ÙÙŠÙØ±ÙŠ_مارس_Ø£ÙØ±ÙŠÙ„_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), + weekdays : 'Ø§Ù„Ø£ØØ¯_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort : 'Ø§ØØ¯_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin : 'Ø£Ø_إث_ثلا_أر_خم_جم_سب'.split('_'), + weekdaysParseExact : true, + 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 سنوات' + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('ar-kw', { + months : 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), + monthsShort : 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), + weekdays : 'Ø§Ù„Ø£ØØ¯_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort : 'Ø§ØØ¯_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin : 'Ø_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), + weekdaysParseExact : true, + 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 سنوات' + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var symbolMap = { + '1': '1', + '2': '2', + '3': '3', + '4': '4', + '5': '5', + '6': '6', + '7': '7', + '8': '8', + '9': '9', + '0': '0' + }, pluralForm = function (n) { + return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5; + }, plurals = { + s : ['أقل من ثانية', 'ثانية ÙˆØ§ØØ¯Ø©', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'], + m : ['أقل من دقيقة', 'دقيقة ÙˆØ§ØØ¯Ø©', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'], + h : ['أقل من ساعة', 'ساعة ÙˆØ§ØØ¯Ø©', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'], + d : ['أقل من يوم', 'يوم ÙˆØ§ØØ¯', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'], + M : ['أقل من شهر', 'شهر ÙˆØ§ØØ¯', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'], + y : ['أقل من عام', 'عام ÙˆØ§ØØ¯', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام'] + }, pluralize = function (u) { + return function (number, withoutSuffix, string, isFuture) { + var f = pluralForm(number), + str = plurals[u][pluralForm(number)]; + if (f === 2) { + str = str[withoutSuffix ? 0 : 1]; + } + return str.replace(/%d/i, number); + }; + }, months$1 = [ + 'يناير', + 'ÙØ¨Ø±Ø§ÙŠØ±', + 'مارس', + 'أبريل', + 'مايو', + 'يونيو', + 'يوليو', + 'أغسطس', + 'سبتمبر', + 'أكتوبر', + 'نوÙمبر', + 'ديسمبر' + ]; + + hooks.defineLocale('ar-ly', { + months : months$1, + monthsShort : months$1, + weekdays : 'Ø§Ù„Ø£ØØ¯_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort : 'Ø£ØØ¯_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin : 'Ø_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'D/\u200FM/\u200FYYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY HH:mm', + LLLL : 'dddd D MMMM YYYY HH:mm' + }, + meridiemParse: /ص|Ù…/, + isPM : function (input) { + return 'Ù…' === input; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'ص'; + } else { + return 'Ù…'; + } + }, + calendar : { + sameDay: '[اليوم عند الساعة] LT', + nextDay: '[غدًا عند الساعة] LT', + nextWeek: 'dddd [عند الساعة] LT', + lastDay: '[أمس عند الساعة] LT', + lastWeek: 'dddd [عند الساعة] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'بعد %s', + past : 'منذ %s', + s : pluralize('s'), + ss : pluralize('s'), + m : pluralize('m'), + mm : pluralize('m'), + h : pluralize('h'), + hh : pluralize('h'), + d : pluralize('d'), + dd : pluralize('d'), + M : pluralize('M'), + MM : pluralize('M'), + y : pluralize('y'), + yy : pluralize('y') + }, + preparse: function (string) { + return string.replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }).replace(/,/g, 'ØŒ'); + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('ar-ma', { + months : 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), + monthsShort : 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), + weekdays : 'Ø§Ù„Ø£ØØ¯_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort : 'Ø§ØØ¯_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin : 'Ø_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), + weekdaysParseExact : true, + 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 سنوات' + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var symbolMap$1 = { + '1': 'Ù¡', + '2': 'Ù¢', + '3': 'Ù£', + '4': 'Ù¤', + '5': 'Ù¥', + '6': 'Ù¦', + '7': 'Ù§', + '8': 'Ù¨', + '9': 'Ù©', + '0': 'Ù ' + }, numberMap = { + 'Ù¡': '1', + 'Ù¢': '2', + 'Ù£': '3', + 'Ù¤': '4', + 'Ù¥': '5', + 'Ù¦': '6', + 'Ù§': '7', + 'Ù¨': '8', + 'Ù©': '9', + 'Ù ': '0' + }; + + hooks.defineLocale('ar-sa', { + months : 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), + monthsShort : 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), + weekdays : 'Ø§Ù„Ø£ØØ¯_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort : 'Ø£ØØ¯_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin : 'Ø_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), + weekdaysParseExact : true, + 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 (input) { + return 'Ù…' === input; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'ص'; + } else { + return 'Ù…'; + } + }, + 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 (string) { + return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { + return numberMap[match]; + }).replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$1[match]; + }).replace(/,/g, 'ØŒ'); + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('ar-tn', { + months: 'جانÙÙŠ_ÙÙŠÙØ±ÙŠ_مارس_Ø£ÙØ±ÙŠÙ„_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), + monthsShort: 'جانÙÙŠ_ÙÙŠÙØ±ÙŠ_مارس_Ø£ÙØ±ÙŠÙ„_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), + weekdays: 'Ø§Ù„Ø£ØØ¯_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort: 'Ø£ØØ¯_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin: 'Ø_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), + weekdaysParseExact : true, + 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 سنوات' + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var symbolMap$2 = { + '1': 'Ù¡', + '2': 'Ù¢', + '3': 'Ù£', + '4': 'Ù¤', + '5': 'Ù¥', + '6': 'Ù¦', + '7': 'Ù§', + '8': 'Ù¨', + '9': 'Ù©', + '0': 'Ù ' + }, numberMap$1 = { + 'Ù¡': '1', + 'Ù¢': '2', + 'Ù£': '3', + 'Ù¤': '4', + 'Ù¥': '5', + 'Ù¦': '6', + 'Ù§': '7', + 'Ù¨': '8', + 'Ù©': '9', + 'Ù ': '0' + }, pluralForm$1 = function (n) { + return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5; + }, plurals$1 = { + s : ['أقل من ثانية', 'ثانية ÙˆØ§ØØ¯Ø©', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'], + m : ['أقل من دقيقة', 'دقيقة ÙˆØ§ØØ¯Ø©', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'], + h : ['أقل من ساعة', 'ساعة ÙˆØ§ØØ¯Ø©', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'], + d : ['أقل من يوم', 'يوم ÙˆØ§ØØ¯', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'], + M : ['أقل من شهر', 'شهر ÙˆØ§ØØ¯', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'], + y : ['أقل من عام', 'عام ÙˆØ§ØØ¯', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام'] + }, pluralize$1 = function (u) { + return function (number, withoutSuffix, string, isFuture) { + var f = pluralForm$1(number), + str = plurals$1[u][pluralForm$1(number)]; + if (f === 2) { + str = str[withoutSuffix ? 0 : 1]; + } + return str.replace(/%d/i, number); + }; + }, months$2 = [ + 'يناير', + 'ÙØ¨Ø±Ø§ÙŠØ±', + 'مارس', + 'أبريل', + 'مايو', + 'يونيو', + 'يوليو', + 'أغسطس', + 'سبتمبر', + 'أكتوبر', + 'نوÙمبر', + 'ديسمبر' + ]; + + hooks.defineLocale('ar', { + months : months$2, + monthsShort : months$2, + weekdays : 'Ø§Ù„Ø£ØØ¯_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort : 'Ø£ØØ¯_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin : 'Ø_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'D/\u200FM/\u200FYYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY HH:mm', + LLLL : 'dddd D MMMM YYYY HH:mm' + }, + meridiemParse: /ص|Ù…/, + isPM : function (input) { + return 'Ù…' === input; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'ص'; + } else { + return 'Ù…'; + } + }, + calendar : { + sameDay: '[اليوم عند الساعة] LT', + nextDay: '[غدًا عند الساعة] LT', + nextWeek: 'dddd [عند الساعة] LT', + lastDay: '[أمس عند الساعة] LT', + lastWeek: 'dddd [عند الساعة] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'بعد %s', + past : 'منذ %s', + s : pluralize$1('s'), + ss : pluralize$1('s'), + m : pluralize$1('m'), + mm : pluralize$1('m'), + h : pluralize$1('h'), + hh : pluralize$1('h'), + d : pluralize$1('d'), + dd : pluralize$1('d'), + M : pluralize$1('M'), + MM : pluralize$1('M'), + y : pluralize$1('y'), + yy : pluralize$1('y') + }, + preparse: function (string) { + return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { + return numberMap$1[match]; + }).replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$2[match]; + }).replace(/,/g, 'ØŒ'); + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var suffixes = { + 1: '-inci', + 5: '-inci', + 8: '-inci', + 70: '-inci', + 80: '-inci', + 2: '-nci', + 7: '-nci', + 20: '-nci', + 50: '-nci', + 3: '-üncü', + 4: '-üncü', + 100: '-üncü', + 6: '-ncı', + 9: '-uncu', + 10: '-uncu', + 30: '-uncu', + 60: '-ıncı', + 90: '-ıncı' + }; + + hooks.defineLocale('az', { + months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'), + monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'), + weekdays : 'Bazar_Bazar ertÉ™si_ÇərÅŸÉ™nbÉ™ axÅŸamı_ÇərÅŸÉ™nbÉ™_CümÉ™ axÅŸamı_CümÉ™_ŞənbÉ™'.split('_'), + weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'), + weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'), + weekdaysParseExact : true, + 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 : '[bugün saat] LT', + nextDay : '[sabah saat] LT', + nextWeek : '[gÉ™lÉ™n hÉ™ftÉ™] dddd [saat] LT', + lastDay : '[dünÉ™n] LT', + lastWeek : '[keçən hÉ™ftÉ™] dddd [saat] LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s sonra', + past : '%s É™vvÉ™l', + s : 'birneçə saniyÉ™', + ss : '%d saniyÉ™', + m : 'bir dÉ™qiqÉ™', + mm : '%d dÉ™qiqÉ™', + h : 'bir saat', + hh : '%d saat', + d : 'bir gün', + dd : '%d gün', + M : 'bir ay', + MM : '%d ay', + y : 'bir il', + yy : '%d il' + }, + meridiemParse: /gecÉ™|sÉ™hÉ™r|gündüz|axÅŸam/, + isPM : function (input) { + return /^(gündüz|axÅŸam)$/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'gecÉ™'; + } else if (hour < 12) { + return 'sÉ™hÉ™r'; + } else if (hour < 17) { + return 'gündüz'; + } else { + return 'axÅŸam'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/, + ordinal : function (number) { + if (number === 0) { // special case for zero + return number + '-ıncı'; + } + var a = number % 10, + b = number % 100 - a, + c = number >= 100 ? 100 : null; + return number + (suffixes[a] || suffixes[b] || suffixes[c]); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function plural(word, num) { + var forms = word.split('_'); + return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]); + } + function relativeTimeWithPlural(number, withoutSuffix, key) { + var format = { + 'ss': withoutSuffix ? 'Ñекунда_Ñекунды_Ñекунд' : 'Ñекунду_Ñекунды_Ñекунд', + 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін', + 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін', + 'dd': 'дзень_дні_дзён', + 'MM': 'меÑÑц_меÑÑцы_меÑÑцаў', + 'yy': 'год_гады_гадоў' + }; + if (key === 'm') { + return withoutSuffix ? 'хвіліна' : 'хвіліну'; + } + else if (key === 'h') { + return withoutSuffix ? 'гадзіна' : 'гадзіну'; + } + else { + return number + ' ' + plural(format[key], +number); + } + } + + hooks.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 : relativeTimeWithPlural, + mm : relativeTimeWithPlural, + h : relativeTimeWithPlural, + hh : relativeTimeWithPlural, + d : 'дзень', + dd : relativeTimeWithPlural, + M : 'меÑÑц', + MM : relativeTimeWithPlural, + y : 'год', + yy : relativeTimeWithPlural + }, + meridiemParse: /ночы|раніцы|днÑ|вечара/, + isPM : function (input) { + return /^(днÑ|вечара)$/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'ночы'; + } else if (hour < 12) { + return 'раніцы'; + } else if (hour < 17) { + return 'днÑ'; + } else { + return 'вечара'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(Ñ–|Ñ‹|га)/, + ordinal: function (number, period) { + switch (period) { + case 'M': + case 'd': + case 'DDD': + case 'w': + case 'W': + return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-Ñ–' : number + '-Ñ‹'; + case 'D': + return number + '-га'; + default: + return number; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('bg', { + months : 'Ñнуари_февруари_март_април_май_юни_юли_авгуÑÑ‚_Ñептември_октомври_ноември_декември'.split('_'), + monthsShort : 'Ñнр_фев_мар_апр_май_юни_юли_авг_Ñеп_окт_ное_дек'.split('_'), + weekdays : 'неделÑ_понеделник_вторник_ÑÑ€Ñда_четвъртък_петък_Ñъбота'.split('_'), + weekdaysShort : 'нед_пон_вто_ÑÑ€Ñ_чет_пет_Ñъб'.split('_'), + weekdaysMin : 'нд_пн_вт_ÑÑ€_чт_пт_Ñб'.split('_'), + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'D.MM.YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY H:mm', + LLLL : 'dddd, D MMMM YYYY H:mm' + }, + calendar : { + sameDay : '[Ð”Ð½ÐµÑ Ð²] LT', + nextDay : '[Утре в] LT', + nextWeek : 'dddd [в] LT', + lastDay : '[Вчера в] LT', + lastWeek : function () { + switch (this.day()) { + case 0: + case 3: + case 6: + return '[Ð’ изминалата] dddd [в] LT'; + case 1: + case 2: + case 4: + case 5: + return '[Ð’ изминалиÑ] 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 (number) { + var lastDigit = number % 10, + last2Digits = number % 100; + if (number === 0) { + return number + '-ев'; + } else if (last2Digits === 0) { + return number + '-ен'; + } else if (last2Digits > 10 && last2Digits < 20) { + return number + '-ти'; + } else if (lastDigit === 1) { + return number + '-ви'; + } else if (lastDigit === 2) { + return number + '-ри'; + } else if (lastDigit === 7 || lastDigit === 8) { + return number + '-ми'; + } else { + return number + '-ти'; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('bm', { + months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_MÉ›kalo_ZuwÉ›nkalo_Zuluyekalo_Utikalo_SÉ›tanburukalo_É”kutÉ”burukalo_Nowanburukalo_Desanburukalo'.split('_'), + monthsShort : 'Zan_Few_Mar_Awi_MÉ›_Zuw_Zul_Uti_SÉ›t_É”ku_Now_Des'.split('_'), + weekdays : 'Kari_NtÉ›nÉ›n_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'), + weekdaysShort : 'Kar_NtÉ›_Tar_Ara_Ala_Jum_Sib'.split('_'), + weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD/MM/YYYY', + LL : 'MMMM [tile] D [san] YYYY', + LLL : 'MMMM [tile] D [san] YYYY [lÉ›rÉ›] HH:mm', + LLLL : 'dddd MMMM [tile] D [san] YYYY [lÉ›rÉ›] HH:mm' + }, + calendar : { + sameDay : '[Bi lÉ›rÉ›] LT', + nextDay : '[Sini lÉ›rÉ›] LT', + nextWeek : 'dddd [don lÉ›rÉ›] LT', + lastDay : '[Kunu lÉ›rÉ›] LT', + lastWeek : 'dddd [tÉ›mÉ›nen lÉ›rÉ›] LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s kÉ”nÉ”', + past : 'a bÉ› %s bÉ”', + s : 'sanga dama dama', + ss : 'sekondi %d', + m : 'miniti kelen', + mm : 'miniti %d', + h : 'lÉ›rÉ› kelen', + hh : 'lÉ›rÉ› %d', + d : 'tile kelen', + dd : 'tile %d', + M : 'kalo kelen', + MM : 'kalo %d', + y : 'san kelen', + yy : 'san %d' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var symbolMap$3 = { + '1': 'à§§', + '2': '২', + '3': 'à§©', + '4': '৪', + '5': 'à§«', + '6': '৬', + '7': 'à§', + '8': 'à§®', + '9': '৯', + '0': '০' + }, + numberMap$2 = { + 'à§§': '1', + '২': '2', + 'à§©': '3', + '৪': '4', + 'à§«': '5', + '৬': '6', + 'à§': '7', + 'à§®': '8', + '৯': '9', + '০': '0' + }; + + hooks.defineLocale('bn', { + months : 'জানà§à§Ÿà¦¾à¦°à§€_ফেবà§à¦°à§à§Ÿà¦¾à¦°à¦¿_মারà§à¦š_à¦à¦ªà§à¦°à¦¿à¦²_মে_জà§à¦¨_জà§à¦²à¦¾à¦‡_আগসà§à¦Ÿ_সেপà§à¦Ÿà§‡à¦®à§à¦¬à¦°_অকà§à¦Ÿà§‹à¦¬à¦°_নà¦à§‡à¦®à§à¦¬à¦°_ডিসেমà§à¦¬à¦°'.split('_'), + monthsShort : 'জানà§_ফেব_মারà§à¦š_à¦à¦ªà§à¦°_মে_জà§à¦¨_জà§à¦²_আগ_সেপà§à¦Ÿ_অকà§à¦Ÿà§‹_নà¦à§‡_ডিসে'.split('_'), + 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 : 'কয়েক সেকেনà§à¦¡', + ss : '%d সেকেনà§à¦¡', + m : 'à¦à¦• মিনিট', + mm : '%d মিনিট', + h : 'à¦à¦• ঘনà§à¦Ÿà¦¾', + hh : '%d ঘনà§à¦Ÿà¦¾', + d : 'à¦à¦• দিন', + dd : '%d দিন', + M : 'à¦à¦• মাস', + MM : '%d মাস', + y : 'à¦à¦• বছর', + yy : '%d বছর' + }, + preparse: function (string) { + return string.replace(/[১২৩৪৫৬à§à§®à§¯à§¦]/g, function (match) { + return numberMap$2[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$3[match]; + }); + }, + meridiemParse: /রাত|সকাল|দà§à¦ªà§à¦°|বিকাল|রাত/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if ((meridiem === 'রাত' && hour >= 4) || + (meridiem === 'দà§à¦ªà§à¦°' && hour < 5) || + meridiem === 'বিকাল') { + return hour + 12; + } else { + return hour; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'রাত'; + } else if (hour < 10) { + return 'সকাল'; + } else if (hour < 17) { + return 'দà§à¦ªà§à¦°'; + } else if (hour < 20) { + return 'বিকাল'; + } else { + return 'রাত'; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var symbolMap$4 = { + '1': '༡', + '2': '༢', + '3': '༣', + '4': '༤', + '5': '༥', + '6': '༦', + '7': '༧', + '8': '༨', + '9': '༩', + '0': '༠' + }, + numberMap$3 = { + '༡': '1', + '༢': '2', + '༣': '3', + '༤': '4', + '༥': '5', + '༦': '6', + '༧': '7', + '༨': '8', + '༩': '9', + '༠': '0' + }; + + hooks.defineLocale('bo', { + months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'), + monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'), + 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 : '[བདུན་ཕྲག་རྗེས་མ], 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 (string) { + return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) { + return numberMap$3[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$4[match]; + }); + }, + meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if ((meridiem === 'མཚན་མོ' && hour >= 4) || + (meridiem === 'ཉིན་གུང' && hour < 5) || + meridiem === 'དགོང་དག') { + return hour + 12; + } else { + return hour; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'མཚན་མོ'; + } else if (hour < 10) { + return 'ཞོགས་ཀས'; + } else if (hour < 17) { + return 'ཉིན་གུང'; + } else if (hour < 20) { + return 'དགོང་དག'; + } else { + return 'མཚན་མོ'; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function relativeTimeWithMutation(number, withoutSuffix, key) { + var format = { + 'mm': 'munutenn', + 'MM': 'miz', + 'dd': 'devezh' + }; + return number + ' ' + mutation(format[key], number); + } + function specialMutationForYears(number) { + switch (lastNumber(number)) { + case 1: + case 3: + case 4: + case 5: + case 9: + return number + ' bloaz'; + default: + return number + ' vloaz'; + } + } + function lastNumber(number) { + if (number > 9) { + return lastNumber(number % 10); + } + return number; + } + function mutation(text, number) { + if (number === 2) { + return softMutation(text); + } + return text; + } + function softMutation(text) { + var mutationTable = { + 'm': 'v', + 'b': 'v', + 'd': 'z' + }; + if (mutationTable[text.charAt(0)] === undefined) { + return text; + } + return mutationTable[text.charAt(0)] + text.substring(1); + } + + hooks.defineLocale('br', { + months : 'Genver_C\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'), + monthsShort : 'Gen_C\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'), + weekdays : 'Sul_Lun_Meurzh_Merc\'her_Yaou_Gwener_Sadorn'.split('_'), + weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'), + weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'h[e]mm A', + LTS : 'h[e]mm:ss A', + L : 'DD/MM/YYYY', + LL : 'D [a viz] MMMM YYYY', + LLL : 'D [a viz] MMMM YYYY h[e]mm A', + LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A' + }, + calendar : { + sameDay : '[Hiziv da] LT', + nextDay : '[Warc\'hoazh da] LT', + nextWeek : 'dddd [da] LT', + lastDay : '[Dec\'h da] LT', + lastWeek : 'dddd [paset da] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'a-benn %s', + past : '%s \'zo', + s : 'un nebeud segondennoù', + ss : '%d eilenn', + m : 'ur vunutenn', + mm : relativeTimeWithMutation, + h : 'un eur', + hh : '%d eur', + d : 'un devezh', + dd : relativeTimeWithMutation, + M : 'ur miz', + MM : relativeTimeWithMutation, + y : 'ur bloaz', + yy : specialMutationForYears + }, + dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/, + ordinal : function (number) { + var output = (number === 1) ? 'añ' : 'vet'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function translate(number, withoutSuffix, key) { + var result = number + ' '; + switch (key) { + case 'ss': + if (number === 1) { + result += 'sekunda'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'sekunde'; + } else { + result += 'sekundi'; + } + return result; + case 'm': + return withoutSuffix ? 'jedna minuta' : 'jedne minute'; + case 'mm': + if (number === 1) { + result += 'minuta'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'minute'; + } else { + result += 'minuta'; + } + return result; + case 'h': + return withoutSuffix ? 'jedan sat' : 'jednog sata'; + case 'hh': + if (number === 1) { + result += 'sat'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'sata'; + } else { + result += 'sati'; + } + return result; + case 'dd': + if (number === 1) { + result += 'dan'; + } else { + result += 'dana'; + } + return result; + case 'MM': + if (number === 1) { + result += 'mjesec'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'mjeseca'; + } else { + result += 'mjeseci'; + } + return result; + case 'yy': + if (number === 1) { + result += 'godina'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'godine'; + } else { + result += 'godina'; + } + return result; + } + } + + hooks.defineLocale('bs', { + months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'), + monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'), + monthsParseExact: true, + weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota'.split('_'), + weekdaysShort : 'ned._pon._uto._sri._Äet._pet._sub.'.split('_'), + weekdaysMin : 'ne_po_ut_sr_Äe_pe_su'.split('_'), + weekdaysParseExact : true, + 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 : '[danas u] LT', + nextDay : '[sutra u] LT', + nextWeek : function () { + switch (this.day()) { + case 0: + return '[u] [nedjelju] [u] LT'; + case 3: + return '[u] [srijedu] [u] LT'; + case 6: + return '[u] [subotu] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[u] dddd [u] LT'; + } + }, + lastDay : '[juÄer u] LT', + lastWeek : function () { + switch (this.day()) { + case 0: + case 3: + return '[proÅ¡lu] dddd [u] LT'; + case 6: + return '[proÅ¡le] [subote] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[proÅ¡li] dddd [u] LT'; + } + }, + sameElse : 'L' + }, + relativeTime : { + future : 'za %s', + past : 'prije %s', + s : 'par sekundi', + ss : translate, + m : translate, + mm : translate, + h : translate, + hh : translate, + d : 'dan', + dd : translate, + M : 'mjesec', + MM : translate, + y : 'godinu', + yy : translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('ca', { + months : { + standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'), + format: 'de gener_de febrer_de març_d\'abril_de maig_de juny_de juliol_d\'agost_de setembre_d\'octubre_de novembre_de desembre'.split('_'), + isFormat: /D[oD]?(\s)+MMMM/ + }, + monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'), + monthsParseExact : true, + weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'), + weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'), + weekdaysMin : 'dg_dl_dt_dc_dj_dv_ds'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'DD/MM/YYYY', + LL : 'D MMMM [de] YYYY', + ll : 'D MMM YYYY', + LLL : 'D MMMM [de] YYYY [a les] H:mm', + lll : 'D MMM YYYY, H:mm', + LLLL : 'dddd D MMMM [de] YYYY [a les] H:mm', + llll : 'ddd D MMM YYYY, H:mm' + }, + calendar : { + sameDay : function () { + return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; + }, + nextDay : function () { + return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; + }, + nextWeek : function () { + return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; + }, + lastDay : function () { + return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; + }, + lastWeek : function () { + return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; + }, + sameElse : 'L' + }, + relativeTime : { + future : 'd\'aquà %s', + past : 'fa %s', + s : 'uns segons', + ss : '%d segons', + m : 'un minut', + mm : '%d minuts', + h : 'una hora', + hh : '%d hores', + d : 'un dia', + dd : '%d dies', + M : 'un mes', + MM : '%d mesos', + y : 'un any', + yy : '%d anys' + }, + dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/, + ordinal : function (number, period) { + var output = (number === 1) ? 'r' : + (number === 2) ? 'n' : + (number === 3) ? 'r' : + (number === 4) ? 't' : 'è'; + if (period === 'w' || period === 'W') { + output = 'a'; + } + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var months$3 = 'leden_únor_bÅ™ezen_duben_kvÄ›ten_Äerven_Äervenec_srpen_zářÃ_Å™Ãjen_listopad_prosinec'.split('_'), + monthsShort = 'led_úno_bÅ™e_dub_kvÄ›_Ävn_Ävc_srp_zář_Å™Ãj_lis_pro'.split('_'); + + var monthsParse = [/^led/i, /^úno/i, /^bÅ™e/i, /^dub/i, /^kvÄ›/i, /^(Ävn|Äerven$|Äervna)/i, /^(Ävc|Äervenec|Äervence)/i, /^srp/i, /^zář/i, /^Å™Ãj/i, /^lis/i, /^pro/i]; + // NOTE: 'Äerven' is substring of 'Äervenec'; therefore 'Äervenec' must precede 'Äerven' in the regex to be fully matched. + // Otherwise parser matches '1. Äervenec' as '1. Äerven' + 'ec'. + var monthsRegex$1 = /^(leden|únor|bÅ™ezen|duben|kvÄ›ten|Äervenec|Äervence|Äerven|Äervna|srpen|zářÃ|Å™Ãjen|listopad|prosinec|led|úno|bÅ™e|dub|kvÄ›|Ävn|Ävc|srp|zář|Å™Ãj|lis|pro)/i; + + function plural$1(n) { + return (n > 1) && (n < 5) && (~~(n / 10) !== 1); + } + function translate$1(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + switch (key) { + case 's': // a few seconds / in a few seconds / a few seconds ago + return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami'; + case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago + if (withoutSuffix || isFuture) { + return result + (plural$1(number) ? 'sekundy' : 'sekund'); + } else { + return result + 'sekundami'; + } + break; + case 'm': // a minute / in a minute / a minute ago + return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou'); + case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago + if (withoutSuffix || isFuture) { + return result + (plural$1(number) ? 'minuty' : 'minut'); + } else { + return result + 'minutami'; + } + break; + case 'h': // an hour / in an hour / an hour ago + return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou'); + case 'hh': // 9 hours / in 9 hours / 9 hours ago + if (withoutSuffix || isFuture) { + return result + (plural$1(number) ? 'hodiny' : 'hodin'); + } else { + return result + 'hodinami'; + } + break; + case 'd': // a day / in a day / a day ago + return (withoutSuffix || isFuture) ? 'den' : 'dnem'; + case 'dd': // 9 days / in 9 days / 9 days ago + if (withoutSuffix || isFuture) { + return result + (plural$1(number) ? 'dny' : 'dnÃ'); + } else { + return result + 'dny'; + } + break; + case 'M': // a month / in a month / a month ago + return (withoutSuffix || isFuture) ? 'mÄ›sÃc' : 'mÄ›sÃcem'; + case 'MM': // 9 months / in 9 months / 9 months ago + if (withoutSuffix || isFuture) { + return result + (plural$1(number) ? 'mÄ›sÃce' : 'mÄ›sÃců'); + } else { + return result + 'mÄ›sÃci'; + } + break; + case 'y': // a year / in a year / a year ago + return (withoutSuffix || isFuture) ? 'rok' : 'rokem'; + case 'yy': // 9 years / in 9 years / 9 years ago + if (withoutSuffix || isFuture) { + return result + (plural$1(number) ? 'roky' : 'let'); + } else { + return result + 'lety'; + } + break; + } + } + + hooks.defineLocale('cs', { + months : months$3, + monthsShort : monthsShort, + monthsRegex : monthsRegex$1, + monthsShortRegex : monthsRegex$1, + // NOTE: 'Äerven' is substring of 'Äervenec'; therefore 'Äervenec' must precede 'Äerven' in the regex to be fully matched. + // Otherwise parser matches '1. Äervenec' as '1. Äerven' + 'ec'. + monthsStrictRegex : /^(leden|ledna|února|únor|bÅ™ezen|bÅ™ezna|duben|dubna|kvÄ›ten|kvÄ›tna|Äervenec|Äervence|Äerven|Äervna|srpen|srpna|zářÃ|Å™Ãjen|Å™Ãjna|listopadu|listopad|prosinec|prosince)/i, + monthsShortStrictRegex : /^(led|úno|bÅ™e|dub|kvÄ›|Ävn|Ävc|srp|zář|Å™Ãj|lis|pro)/i, + monthsParse : monthsParse, + longMonthsParse : monthsParse, + shortMonthsParse : monthsParse, + weekdays : 'nedÄ›le_pondÄ›lÃ_úterý_stÅ™eda_Ätvrtek_pátek_sobota'.split('_'), + weekdaysShort : 'ne_po_út_st_Ät_pá_so'.split('_'), + weekdaysMin : 'ne_po_út_st_Ät_pá_so'.split('_'), + 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', + l : 'D. M. YYYY' + }, + calendar : { + sameDay: '[dnes v] LT', + nextDay: '[zÃtra v] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[v nedÄ›li v] LT'; + case 1: + case 2: + return '[v] dddd [v] LT'; + case 3: + return '[ve stÅ™edu v] LT'; + case 4: + return '[ve Ätvrtek v] LT'; + case 5: + return '[v pátek v] LT'; + case 6: + return '[v sobotu v] LT'; + } + }, + lastDay: '[vÄera v] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[minulou nedÄ›li v] LT'; + case 1: + case 2: + return '[minulé] dddd [v] LT'; + case 3: + return '[minulou stÅ™edu v] LT'; + case 4: + case 5: + return '[minulý] dddd [v] LT'; + case 6: + return '[minulou sobotu v] LT'; + } + }, + sameElse: 'L' + }, + relativeTime : { + future : 'za %s', + past : 'pÅ™ed %s', + s : translate$1, + ss : translate$1, + m : translate$1, + mm : translate$1, + h : translate$1, + hh : translate$1, + d : translate$1, + dd : translate$1, + M : translate$1, + MM : translate$1, + y : translate$1, + yy : translate$1 + }, + dayOfMonthOrdinalParse : /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('cv', { + months : 'кӑрлач_нарӑÑ_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'), + monthsShort : 'кӑр_нар_пуш_ака_май_Ò«Ó—Ñ€_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'), + weekdays : 'вырÑарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_Ñрнекун_шӑматкун'.split('_'), + weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_Ñрн_шӑм'.split('_'), + weekdaysMin : 'вр_тн_ыт_юн_кҫ_ÑÑ€_шм'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD-MM-YYYY', + LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]', + LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', + LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm' + }, + calendar : { + sameDay: '[ПаÑн] LT [Ñехетре]', + nextDay: '[Ыран] LT [Ñехетре]', + lastDay: '[Ӗнер] LT [Ñехетре]', + nextWeek: '[ҪитеÑ] dddd LT [Ñехетре]', + lastWeek: '[Иртнӗ] dddd LT [Ñехетре]', + sameElse: 'L' + }, + relativeTime : { + future : function (output) { + var affix = /Ñехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран'; + return output + affix; + }, + 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-мӗш', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('cy', { + months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'), + monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'), + weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'), + weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'), + weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'), + weekdaysParseExact : true, + // time formats are the same as en-gb + 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: '[Heddiw am] LT', + nextDay: '[Yfory am] LT', + nextWeek: 'dddd [am] LT', + lastDay: '[Ddoe am] LT', + lastWeek: 'dddd [diwethaf am] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'mewn %s', + past: '%s yn ôl', + s: 'ychydig eiliadau', + ss: '%d eiliad', + m: 'munud', + mm: '%d munud', + h: 'awr', + hh: '%d awr', + d: 'diwrnod', + dd: '%d diwrnod', + M: 'mis', + MM: '%d mis', + y: 'blwyddyn', + yy: '%d flynedd' + }, + dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/, + // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh + ordinal: function (number) { + var b = number, + output = '', + lookup = [ + '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed + 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed + ]; + if (b > 20) { + if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) { + output = 'fed'; // not 30ain, 70ain or 90ain + } else { + output = 'ain'; + } + } else if (b > 0) { + output = lookup[b]; + } + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('da', { + months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'), + monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), + weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), + weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'), + weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.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.] D. MMMM YYYY [kl.] HH:mm' + }, + calendar : { + sameDay : '[i dag kl.] LT', + nextDay : '[i morgen kl.] LT', + nextWeek : 'pÃ¥ dddd [kl.] LT', + lastDay : '[i gÃ¥r kl.] LT', + lastWeek : '[i] dddd[s kl.] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'om %s', + past : '%s siden', + s : 'fÃ¥ sekunder', + ss : '%d sekunder', + m : 'et minut', + mm : '%d minutter', + h : 'en time', + hh : '%d timer', + d : 'en dag', + dd : '%d dage', + M : 'en mÃ¥ned', + MM : '%d mÃ¥neder', + y : 'et Ã¥r', + yy : '%d Ã¥r' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + 'm': ['eine Minute', 'einer Minute'], + 'h': ['eine Stunde', 'einer Stunde'], + 'd': ['ein Tag', 'einem Tag'], + 'dd': [number + ' Tage', number + ' Tagen'], + 'M': ['ein Monat', 'einem Monat'], + 'MM': [number + ' Monate', number + ' Monaten'], + 'y': ['ein Jahr', 'einem Jahr'], + 'yy': [number + ' Jahre', number + ' Jahren'] + }; + return withoutSuffix ? format[key][0] : format[key][1]; + } + + hooks.defineLocale('de-at', { + months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), + monthsShort : 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), + monthsParseExact : true, + weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), + weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), + weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), + weekdaysParseExact : true, + 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: '[heute um] LT [Uhr]', + sameElse: 'L', + nextDay: '[morgen um] LT [Uhr]', + nextWeek: 'dddd [um] LT [Uhr]', + lastDay: '[gestern um] LT [Uhr]', + lastWeek: '[letzten] dddd [um] LT [Uhr]' + }, + relativeTime : { + future : 'in %s', + past : 'vor %s', + s : 'ein paar Sekunden', + ss : '%d Sekunden', + m : processRelativeTime, + mm : '%d Minuten', + h : processRelativeTime, + hh : '%d Stunden', + d : processRelativeTime, + dd : processRelativeTime, + M : processRelativeTime, + MM : processRelativeTime, + y : processRelativeTime, + yy : processRelativeTime + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function processRelativeTime$1(number, withoutSuffix, key, isFuture) { + var format = { + 'm': ['eine Minute', 'einer Minute'], + 'h': ['eine Stunde', 'einer Stunde'], + 'd': ['ein Tag', 'einem Tag'], + 'dd': [number + ' Tage', number + ' Tagen'], + 'M': ['ein Monat', 'einem Monat'], + 'MM': [number + ' Monate', number + ' Monaten'], + 'y': ['ein Jahr', 'einem Jahr'], + 'yy': [number + ' Jahre', number + ' Jahren'] + }; + return withoutSuffix ? format[key][0] : format[key][1]; + } + + hooks.defineLocale('de-ch', { + months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), + monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), + monthsParseExact : true, + weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), + weekdaysShort : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), + weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), + weekdaysParseExact : true, + 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: '[heute um] LT [Uhr]', + sameElse: 'L', + nextDay: '[morgen um] LT [Uhr]', + nextWeek: 'dddd [um] LT [Uhr]', + lastDay: '[gestern um] LT [Uhr]', + lastWeek: '[letzten] dddd [um] LT [Uhr]' + }, + relativeTime : { + future : 'in %s', + past : 'vor %s', + s : 'ein paar Sekunden', + ss : '%d Sekunden', + m : processRelativeTime$1, + mm : '%d Minuten', + h : processRelativeTime$1, + hh : '%d Stunden', + d : processRelativeTime$1, + dd : processRelativeTime$1, + M : processRelativeTime$1, + MM : processRelativeTime$1, + y : processRelativeTime$1, + yy : processRelativeTime$1 + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function processRelativeTime$2(number, withoutSuffix, key, isFuture) { + var format = { + 'm': ['eine Minute', 'einer Minute'], + 'h': ['eine Stunde', 'einer Stunde'], + 'd': ['ein Tag', 'einem Tag'], + 'dd': [number + ' Tage', number + ' Tagen'], + 'M': ['ein Monat', 'einem Monat'], + 'MM': [number + ' Monate', number + ' Monaten'], + 'y': ['ein Jahr', 'einem Jahr'], + 'yy': [number + ' Jahre', number + ' Jahren'] + }; + return withoutSuffix ? format[key][0] : format[key][1]; + } + + hooks.defineLocale('de', { + months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), + monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), + monthsParseExact : true, + weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), + weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), + weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), + weekdaysParseExact : true, + 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: '[heute um] LT [Uhr]', + sameElse: 'L', + nextDay: '[morgen um] LT [Uhr]', + nextWeek: 'dddd [um] LT [Uhr]', + lastDay: '[gestern um] LT [Uhr]', + lastWeek: '[letzten] dddd [um] LT [Uhr]' + }, + relativeTime : { + future : 'in %s', + past : 'vor %s', + s : 'ein paar Sekunden', + ss : '%d Sekunden', + m : processRelativeTime$2, + mm : '%d Minuten', + h : processRelativeTime$2, + hh : '%d Stunden', + d : processRelativeTime$2, + dd : processRelativeTime$2, + M : processRelativeTime$2, + MM : processRelativeTime$2, + y : processRelativeTime$2, + yy : processRelativeTime$2 + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var months$4 = [ + 'Þ–Þ¬Þ‚ÞªÞ‡Þ¦ÞƒÞ©', + 'ÞŠÞ¬Þ„Þ°ÞƒÞªÞ‡Þ¦ÞƒÞ©', + 'Þ‰Þ§ÞƒÞ¨Þ—Þª', + 'Þ‡ÞÞ•Þ°ÞƒÞ©ÞÞª', + 'Þ‰Þ', + 'Þ–Þ«Þ‚Þ°', + 'Þ–ÞªÞÞ¦Þ‡Þ¨', + 'Þ‡Þ¯ÞŽÞ¦ÞÞ°Þ“Þª', + 'ÞÞ¬Þ•Þ°Þ“Þ¬Þ‰Þ°Þ„Þ¦ÞƒÞª', + 'Þ‡Þ®Þ†Þ°Þ“Þ¯Þ„Þ¦ÞƒÞª', + 'Þ‚Þ®ÞˆÞ¬Þ‰Þ°Þ„Þ¦ÞƒÞª', + 'Þ‘Þ¨ÞÞ¬Þ‰Þ°Þ„Þ¦ÞƒÞª' + ], weekdays = [ + 'އާދިއްތަ', + 'Þ€Þ¯Þ‰Þ¦', + 'Þ‡Þ¦Þ‚Þ°ÞŽÞ§ÞƒÞ¦', + 'Þ„ÞªÞ‹Þ¦', + 'Þ„ÞªÞƒÞ§Þްފަތި', + 'Þ€ÞªÞ†ÞªÞƒÞª', + 'Þ€Þ®Þ‚Þ¨Þ€Þ¨ÞƒÞª' + ]; + + hooks.defineLocale('dv', { + months : months$4, + monthsShort : months$4, + weekdays : weekdays, + weekdaysShort : weekdays, + weekdaysMin : 'Þ‡Þ§Þ‹Þ¨_Þ€Þ¯Þ‰Þ¦_Þ‡Þ¦Þ‚Þ°_Þ„ÞªÞ‹Þ¦_Þ„ÞªÞƒÞ§_Þ€ÞªÞ†Þª_Þ€Þ®Þ‚Þ¨'.split('_'), + 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 (input) { + return 'Þ‰ÞŠ' === input; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'Þ‰Þ†'; + } else { + return 'Þ‰ÞŠ'; + } + }, + 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 (string) { + return string.replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/,/g, 'ØŒ'); + }, + week : { + dow : 7, // Sunday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('el', { + monthsNominativeEl : 'ΙανουάÏιος_ΦεβÏουάÏιος_ΜάÏτιος_ΑπÏίλιος_Μάιος_ΙοÏνιος_ΙοÏλιος_ΑÏγουστος_ΣεπτÎμβÏιος_ΟκτώβÏιος_ÎοÎμβÏιος_ΔεκÎμβÏιος'.split('_'), + monthsGenitiveEl : 'ΙανουαÏίου_ΦεβÏουαÏίου_ΜαÏτίου_ΑπÏιλίου_ΜαÎου_Ιουνίου_Ιουλίου_ΑυγοÏστου_ΣεπτεμβÏίου_ΟκτωβÏίου_ÎοεμβÏίου_ΔεκεμβÏίου'.split('_'), + months : function (momentToFormat, format) { + if (!momentToFormat) { + return this._monthsNominativeEl; + } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM' + return this._monthsGenitiveEl[momentToFormat.month()]; + } else { + return this._monthsNominativeEl[momentToFormat.month()]; + } + }, + monthsShort : 'Ιαν_Φεβ_ΜαÏ_ΑπÏ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Îοε_Δεκ'.split('_'), + weekdays : 'ΚυÏιακή_ΔευτÎÏα_ΤÏίτη_ΤετάÏτη_Î Îμπτη_ΠαÏασκευή_Σάββατο'.split('_'), + weekdaysShort : 'ΚυÏ_Δευ_ΤÏι_Τετ_Πεμ_ΠαÏ_Σαβ'.split('_'), + weekdaysMin : 'Κυ_Δε_ΤÏ_Τε_Πε_Πα_Σα'.split('_'), + meridiem : function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'μμ' : 'ΜΜ'; + } else { + return isLower ? 'πμ' : 'ΠΜ'; + } + }, + isPM : function (input) { + return ((input + '').toLowerCase()[0] === 'μ'); + }, + meridiemParse : /[ΠΜ]\.?Μ?\.?/i, + 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' + }, + calendarEl : { + sameDay : '[ΣήμεÏα {}] LT', + nextDay : '[ΑÏÏιο {}] LT', + nextWeek : 'dddd [{}] LT', + lastDay : '[Χθες {}] LT', + lastWeek : function () { + switch (this.day()) { + case 6: + return '[το Ï€ÏοηγοÏμενο] dddd [{}] LT'; + default: + return '[την Ï€ÏοηγοÏμενη] dddd [{}] LT'; + } + }, + sameElse : 'L' + }, + calendar : function (key, mom) { + var output = this._calendarEl[key], + hours = mom && mom.hours(); + if (isFunction(output)) { + output = output.apply(mom); + } + return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις')); + }, + 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η', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4st is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('en-SG', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.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 : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('en-au', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + 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 : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('en-ca', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + longDateFormat : { + LT : 'h:mm A', + LTS : 'h:mm:ss A', + L : 'YYYY-MM-DD', + LL : 'MMMM D, YYYY', + LLL : 'MMMM D, YYYY h:mm A', + LLLL : 'dddd, MMMM D, YYYY h:mm A' + }, + calendar : { + sameDay : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('en-gb', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.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 : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('en-ie', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.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 : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('en-il', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.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 : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('en-nz', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + 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 : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('eo', { + months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aÅgusto_septembro_oktobro_novembro_decembro'.split('_'), + monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aÅg_sep_okt_nov_dec'.split('_'), + weekdays : 'dimanĉo_lundo_mardo_merkredo_ĵaÅdo_vendredo_sabato'.split('_'), + weekdaysShort : 'dim_lun_mard_merk_ĵaÅ_ven_sab'.split('_'), + weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY-MM-DD', + LL : 'D[-a de] MMMM, YYYY', + LLL : 'D[-a de] MMMM, YYYY HH:mm', + LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm' + }, + meridiemParse: /[ap]\.t\.m/i, + isPM: function (input) { + return input.charAt(0).toLowerCase() === 'p'; + }, + meridiem : function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'p.t.m.' : 'P.T.M.'; + } else { + return isLower ? 'a.t.m.' : 'A.T.M.'; + } + }, + calendar : { + sameDay : '[HodiaÅ je] LT', + nextDay : '[MorgaÅ je] LT', + nextWeek : 'dddd [je] LT', + lastDay : '[HieraÅ je] LT', + lastWeek : '[pasinta] dddd [je] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'post %s', + past : 'antaÅ %s', + s : 'sekundoj', + ss : '%d sekundoj', + m : 'minuto', + mm : '%d minutoj', + h : 'horo', + hh : '%d horoj', + d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo + dd : '%d tagoj', + M : 'monato', + MM : '%d monatoj', + y : 'jaro', + yy : '%d jaroj' + }, + dayOfMonthOrdinalParse: /\d{1,2}a/, + ordinal : '%da', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'), + monthsShort$1 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'); + + var monthsParse$1 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i]; + var monthsRegex$2 = /^(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; + + hooks.defineLocale('es-do', { + months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), + monthsShort : function (m, format) { + if (!m) { + return monthsShortDot; + } else if (/-MMM-/.test(format)) { + return monthsShort$1[m.month()]; + } else { + return monthsShortDot[m.month()]; + } + }, + monthsRegex: monthsRegex$2, + monthsShortRegex: monthsRegex$2, + 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: monthsParse$1, + longMonthsParse: monthsParse$1, + shortMonthsParse: monthsParse$1, + 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 : true, + 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' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + nextDay : function () { + return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + nextWeek : function () { + return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + lastDay : function () { + return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + lastWeek : function () { + return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? '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, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var monthsShortDot$1 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'), + monthsShort$2 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'); + + var monthsParse$2 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i]; + var monthsRegex$3 = /^(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; + + hooks.defineLocale('es-us', { + months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), + monthsShort : function (m, format) { + if (!m) { + return monthsShortDot$1; + } else if (/-MMM-/.test(format)) { + return monthsShort$2[m.month()]; + } else { + return monthsShortDot$1[m.month()]; + } + }, + monthsRegex: monthsRegex$3, + monthsShortRegex: monthsRegex$3, + 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: monthsParse$2, + longMonthsParse: monthsParse$2, + shortMonthsParse: monthsParse$2, + 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 : true, + longDateFormat : { + LT : 'h:mm A', + LTS : 'h:mm:ss A', + L : 'MM/DD/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' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + nextDay : function () { + return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + nextWeek : function () { + return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + lastDay : function () { + return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + lastWeek : function () { + return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? '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 : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var monthsShortDot$2 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'), + monthsShort$3 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'); + + var monthsParse$3 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i]; + var monthsRegex$4 = /^(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; + + hooks.defineLocale('es', { + months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), + monthsShort : function (m, format) { + if (!m) { + return monthsShortDot$2; + } else if (/-MMM-/.test(format)) { + return monthsShort$3[m.month()]; + } else { + return monthsShortDot$2[m.month()]; + } + }, + monthsRegex : monthsRegex$4, + monthsShortRegex : monthsRegex$4, + 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 : monthsParse$3, + longMonthsParse : monthsParse$3, + shortMonthsParse : monthsParse$3, + 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 : true, + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'DD/MM/YYYY', + LL : 'D [de] MMMM [de] YYYY', + LLL : 'D [de] MMMM [de] YYYY H:mm', + LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm' + }, + calendar : { + sameDay : function () { + return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + nextDay : function () { + return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + nextWeek : function () { + return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + lastDay : function () { + return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + lastWeek : function () { + return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? '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, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function processRelativeTime$3(number, withoutSuffix, key, isFuture) { + var format = { + 's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'], + 'ss': [number + 'sekundi', number + 'sekundit'], + 'm' : ['ühe minuti', 'üks minut'], + 'mm': [number + ' minuti', number + ' minutit'], + 'h' : ['ühe tunni', 'tund aega', 'üks tund'], + 'hh': [number + ' tunni', number + ' tundi'], + 'd' : ['ühe päeva', 'üks päev'], + 'M' : ['kuu aja', 'kuu aega', 'üks kuu'], + 'MM': [number + ' kuu', number + ' kuud'], + 'y' : ['ühe aasta', 'aasta', 'üks aasta'], + 'yy': [number + ' aasta', number + ' aastat'] + }; + if (withoutSuffix) { + return format[key][2] ? format[key][2] : format[key][1]; + } + return isFuture ? format[key][0] : format[key][1]; + } + + hooks.defineLocale('et', { + months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'), + monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'), + weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'), + weekdaysShort : 'P_E_T_K_N_R_L'.split('_'), + weekdaysMin : 'P_E_T_K_N_R_L'.split('_'), + 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 : '[Täna,] LT', + nextDay : '[Homme,] LT', + nextWeek : '[Järgmine] dddd LT', + lastDay : '[Eile,] LT', + lastWeek : '[Eelmine] dddd LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s pärast', + past : '%s tagasi', + s : processRelativeTime$3, + ss : processRelativeTime$3, + m : processRelativeTime$3, + mm : processRelativeTime$3, + h : processRelativeTime$3, + hh : processRelativeTime$3, + d : processRelativeTime$3, + dd : '%d päeva', + M : processRelativeTime$3, + MM : processRelativeTime$3, + y : processRelativeTime$3, + yy : processRelativeTime$3 + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('eu', { + months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'), + monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'), + monthsParseExact : true, + weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'), + weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'), + weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY-MM-DD', + LL : 'YYYY[ko] MMMM[ren] D[a]', + LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm', + LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm', + l : 'YYYY-M-D', + ll : 'YYYY[ko] MMM D[a]', + lll : 'YYYY[ko] MMM D[a] HH:mm', + llll : 'ddd, YYYY[ko] MMM D[a] HH:mm' + }, + calendar : { + sameDay : '[gaur] LT[etan]', + nextDay : '[bihar] LT[etan]', + nextWeek : 'dddd LT[etan]', + lastDay : '[atzo] LT[etan]', + lastWeek : '[aurreko] dddd LT[etan]', + sameElse : 'L' + }, + relativeTime : { + future : '%s barru', + past : 'duela %s', + s : 'segundo batzuk', + ss : '%d segundo', + m : 'minutu bat', + mm : '%d minutu', + h : 'ordu bat', + hh : '%d ordu', + d : 'egun bat', + dd : '%d egun', + M : 'hilabete bat', + MM : '%d hilabete', + y : 'urte bat', + yy : '%d urte' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var symbolMap$5 = { + '1': 'Û±', + '2': 'Û²', + '3': 'Û³', + '4': 'Û´', + '5': 'Ûµ', + '6': 'Û¶', + '7': 'Û·', + '8': 'Û¸', + '9': 'Û¹', + '0': 'Û°' + }, numberMap$4 = { + 'Û±': '1', + 'Û²': '2', + 'Û³': '3', + 'Û´': '4', + 'Ûµ': '5', + 'Û¶': '6', + 'Û·': '7', + 'Û¸': '8', + 'Û¹': '9', + 'Û°': '0' + }; + + hooks.defineLocale('fa', { + months : 'ژانویه_Ùوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'), + monthsShort : 'ژانویه_Ùوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'), + weekdays : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'), + weekdaysShort : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'), + weekdaysMin : 'ÛŒ_د_س_Ú†_Ù¾_ج_Ø´'.split('_'), + weekdaysParseExact : true, + 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 (input) { + return /بعد از ظهر/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'قبل از ظهر'; + } else { + return 'بعد از ظهر'; + } + }, + 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 (string) { + return string.replace(/[Û°-Û¹]/g, function (match) { + return numberMap$4[match]; + }).replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$5[match]; + }).replace(/,/g, 'ØŒ'); + }, + dayOfMonthOrdinalParse: /\d{1,2}Ù…/, + ordinal : '%dÙ…', + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '), + numbersFuture = [ + 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden', + numbersPast[7], numbersPast[8], numbersPast[9] + ]; + function translate$2(number, withoutSuffix, key, isFuture) { + var result = ''; + switch (key) { + case 's': + return isFuture ? 'muutaman sekunnin' : 'muutama sekunti'; + case 'ss': + return isFuture ? 'sekunnin' : 'sekuntia'; + case 'm': + return isFuture ? 'minuutin' : 'minuutti'; + case 'mm': + result = isFuture ? 'minuutin' : 'minuuttia'; + break; + case 'h': + return isFuture ? 'tunnin' : 'tunti'; + case 'hh': + result = isFuture ? 'tunnin' : 'tuntia'; + break; + case 'd': + return isFuture ? 'päivän' : 'päivä'; + case 'dd': + result = isFuture ? 'päivän' : 'päivää'; + break; + case 'M': + return isFuture ? 'kuukauden' : 'kuukausi'; + case 'MM': + result = isFuture ? 'kuukauden' : 'kuukautta'; + break; + case 'y': + return isFuture ? 'vuoden' : 'vuosi'; + case 'yy': + result = isFuture ? 'vuoden' : 'vuotta'; + break; + } + result = verbalNumber(number, isFuture) + ' ' + result; + return result; + } + function verbalNumber(number, isFuture) { + return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number; + } + + hooks.defineLocale('fi', { + months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'), + monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'), + weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'), + weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'), + weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'), + longDateFormat : { + LT : 'HH.mm', + LTS : 'HH.mm.ss', + L : 'DD.MM.YYYY', + LL : 'Do MMMM[ta] YYYY', + LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm', + LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm', + l : 'D.M.YYYY', + ll : 'Do MMM YYYY', + lll : 'Do MMM YYYY, [klo] HH.mm', + llll : 'ddd, Do MMM YYYY, [klo] HH.mm' + }, + calendar : { + sameDay : '[tänään] [klo] LT', + nextDay : '[huomenna] [klo] LT', + nextWeek : 'dddd [klo] LT', + lastDay : '[eilen] [klo] LT', + lastWeek : '[viime] dddd[na] [klo] LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s päästä', + past : '%s sitten', + s : translate$2, + ss : translate$2, + m : translate$2, + mm : translate$2, + h : translate$2, + hh : translate$2, + d : translate$2, + dd : translate$2, + M : translate$2, + MM : translate$2, + y : translate$2, + yy : translate$2 + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('fo', { + months : 'januar_februar_mars_aprÃl_mai_juni_juli_august_september_oktober_november_desember'.split('_'), + monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), + weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_frÃggjadagur_leygardagur'.split('_'), + weekdaysShort : 'sun_mán_týs_mik_hós_frÃ_ley'.split('_'), + weekdaysMin : 'su_má_tý_mi_hó_fr_le'.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 : '[à dag kl.] LT', + nextDay : '[à morgin kl.] LT', + nextWeek : 'dddd [kl.] LT', + lastDay : '[à gjár kl.] LT', + lastWeek : '[sÃðstu] dddd [kl] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'um %s', + past : '%s sÃðani', + s : 'fá sekund', + ss : '%d sekundir', + m : 'ein minuttur', + mm : '%d minuttir', + h : 'ein tÃmi', + hh : '%d tÃmar', + d : 'ein dagur', + dd : '%d dagar', + M : 'ein mánaður', + MM : '%d mánaðir', + y : 'eitt ár', + yy : '%d ár' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('fr-ca', { + months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), + monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), + monthsParseExact : true, + weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), + weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), + weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY-MM-DD', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY HH:mm', + LLLL : 'dddd D MMMM YYYY HH:mm' + }, + calendar : { + sameDay : '[Aujourd’hui à ] LT', + nextDay : '[Demain à ] LT', + nextWeek : 'dddd [à ] LT', + lastDay : '[Hier à ] LT', + lastWeek : 'dddd [dernier à ] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'dans %s', + past : 'il y a %s', + s : 'quelques secondes', + ss : '%d secondes', + m : 'une minute', + mm : '%d minutes', + h : 'une heure', + hh : '%d heures', + d : 'un jour', + dd : '%d jours', + M : 'un mois', + MM : '%d mois', + y : 'un an', + yy : '%d ans' + }, + dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, + ordinal : function (number, period) { + switch (period) { + // Words with masculine grammatical gender: mois, trimestre, jour + default: + case 'M': + case 'Q': + case 'D': + case 'DDD': + case 'd': + return number + (number === 1 ? 'er' : 'e'); + + // Words with feminine grammatical gender: semaine + case 'w': + case 'W': + return number + (number === 1 ? 're' : 'e'); + } + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('fr-ch', { + months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), + monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), + monthsParseExact : true, + weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), + weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), + weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'), + weekdaysParseExact : true, + 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 : '[Aujourd’hui à ] LT', + nextDay : '[Demain à ] LT', + nextWeek : 'dddd [à ] LT', + lastDay : '[Hier à ] LT', + lastWeek : 'dddd [dernier à ] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'dans %s', + past : 'il y a %s', + s : 'quelques secondes', + ss : '%d secondes', + m : 'une minute', + mm : '%d minutes', + h : 'une heure', + hh : '%d heures', + d : 'un jour', + dd : '%d jours', + M : 'un mois', + MM : '%d mois', + y : 'un an', + yy : '%d ans' + }, + dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, + ordinal : function (number, period) { + switch (period) { + // Words with masculine grammatical gender: mois, trimestre, jour + default: + case 'M': + case 'Q': + case 'D': + case 'DDD': + case 'd': + return number + (number === 1 ? 'er' : 'e'); + + // Words with feminine grammatical gender: semaine + case 'w': + case 'W': + return number + (number === 1 ? 're' : 'e'); + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('fr', { + months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), + monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), + monthsParseExact : true, + weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), + weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), + weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'), + weekdaysParseExact : true, + 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 : '[Aujourd’hui à ] LT', + nextDay : '[Demain à ] LT', + nextWeek : 'dddd [à ] LT', + lastDay : '[Hier à ] LT', + lastWeek : 'dddd [dernier à ] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'dans %s', + past : 'il y a %s', + s : 'quelques secondes', + ss : '%d secondes', + m : 'une minute', + mm : '%d minutes', + h : 'une heure', + hh : '%d heures', + d : 'un jour', + dd : '%d jours', + M : 'un mois', + MM : '%d mois', + y : 'un an', + yy : '%d ans' + }, + dayOfMonthOrdinalParse: /\d{1,2}(er|)/, + ordinal : function (number, period) { + switch (period) { + // TODO: Return 'e' when day of month > 1. Move this case inside + // block for masculine words below. + // See https://github.com/moment/moment/issues/3375 + case 'D': + return number + (number === 1 ? 'er' : ''); + + // Words with masculine grammatical gender: mois, trimestre, jour + default: + case 'M': + case 'Q': + case 'DDD': + case 'd': + return number + (number === 1 ? 'er' : 'e'); + + // Words with feminine grammatical gender: semaine + case 'w': + case 'W': + return number + (number === 1 ? 're' : 'e'); + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'), + monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'); + + hooks.defineLocale('fy', { + months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'), + monthsShort : function (m, format) { + if (!m) { + return monthsShortWithDots; + } else if (/-MMM-/.test(format)) { + return monthsShortWithoutDots[m.month()]; + } else { + return monthsShortWithDots[m.month()]; + } + }, + monthsParseExact : true, + weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'), + weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'), + weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'), + weekdaysParseExact : true, + 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: '[hjoed om] LT', + nextDay: '[moarn om] LT', + nextWeek: 'dddd [om] LT', + lastDay: '[juster om] LT', + lastWeek: '[ôfrûne] dddd [om] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'oer %s', + past : '%s lyn', + s : 'in pear sekonden', + ss : '%d sekonden', + m : 'ien minút', + mm : '%d minuten', + h : 'ien oere', + hh : '%d oeren', + d : 'ien dei', + dd : '%d dagen', + M : 'ien moanne', + MM : '%d moannen', + y : 'ien jier', + yy : '%d jierren' + }, + dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, + ordinal : function (number) { + return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + + var months$5 = [ + 'Eanáir', 'Feabhra', 'Márta', 'Aibreán', 'Bealtaine', 'Méitheamh', 'Iúil', 'Lúnasa', 'Meán Fómhair', 'Deaireadh Fómhair', 'Samhain', 'Nollaig' + ]; + + var monthsShort$4 = ['Eaná', 'Feab', 'Márt', 'Aibr', 'Beal', 'Méit', 'Iúil', 'Lúna', 'Meán', 'Deai', 'Samh', 'Noll']; + + var weekdays$1 = ['Dé Domhnaigh', 'Dé Luain', 'Dé Máirt', 'Dé Céadaoin', 'Déardaoin', 'Dé hAoine', 'Dé Satharn']; + + var weekdaysShort = ['Dom', 'Lua', 'Mái', 'Céa', 'Déa', 'hAo', 'Sat']; + + var weekdaysMin = ['Do', 'Lu', 'Má', 'Ce', 'Dé', 'hA', 'Sa']; + + hooks.defineLocale('ga', { + months: months$5, + monthsShort: monthsShort$4, + monthsParseExact: true, + weekdays: weekdays$1, + weekdaysShort: weekdaysShort, + weekdaysMin: weekdaysMin, + 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: '[Inniu ag] LT', + nextDay: '[Amárach ag] LT', + nextWeek: 'dddd [ag] LT', + lastDay: '[Inné aig] LT', + lastWeek: 'dddd [seo caite] [ag] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'i %s', + past: '%s ó shin', + s: 'cúpla soicind', + ss: '%d soicind', + m: 'nóiméad', + mm: '%d nóiméad', + h: 'uair an chloig', + hh: '%d uair an chloig', + d: 'lá', + dd: '%d lá', + M: 'mÃ', + MM: '%d mÃ', + y: 'bliain', + yy: '%d bliain' + }, + dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/, + ordinal: function (number) { + var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; + return number + output; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var months$6 = [ + 'Am Faoilleach', 'An Gearran', 'Am Mà rt', 'An Giblean', 'An Cèitean', 'An t-Ã’gmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dà mhair', 'An t-Samhain', 'An Dùbhlachd' + ]; + + var monthsShort$5 = ['Faoi', 'Gear', 'Mà rt', 'Gibl', 'Cèit', 'Ã’gmh', 'Iuch', 'Lùn', 'Sult', 'Dà mh', 'Samh', 'Dùbh']; + + var weekdays$2 = ['Didòmhnaich', 'Diluain', 'Dimà irt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne']; + + var weekdaysShort$1 = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis']; + + var weekdaysMin$1 = ['Dò', 'Lu', 'Mà ', 'Ci', 'Ar', 'Ha', 'Sa']; + + hooks.defineLocale('gd', { + months : months$6, + monthsShort : monthsShort$5, + monthsParseExact : true, + weekdays : weekdays$2, + weekdaysShort : weekdaysShort$1, + weekdaysMin : weekdaysMin$1, + 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 : '[An-diugh aig] LT', + nextDay : '[A-mà ireach aig] LT', + nextWeek : 'dddd [aig] LT', + lastDay : '[An-dè aig] LT', + lastWeek : 'dddd [seo chaidh] [aig] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'ann an %s', + past : 'bho chionn %s', + s : 'beagan diogan', + ss : '%d diogan', + m : 'mionaid', + mm : '%d mionaidean', + h : 'uair', + hh : '%d uairean', + d : 'latha', + dd : '%d latha', + M : 'mìos', + MM : '%d mìosan', + y : 'bliadhna', + yy : '%d bliadhna' + }, + dayOfMonthOrdinalParse : /\d{1,2}(d|na|mh)/, + ordinal : function (number) { + var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('gl', { + months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'), + monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'), + monthsParseExact: true, + weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'), + weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'), + weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'DD/MM/YYYY', + LL : 'D [de] MMMM [de] YYYY', + LLL : 'D [de] MMMM [de] YYYY H:mm', + LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm' + }, + calendar : { + sameDay : function () { + return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT'; + }, + nextDay : function () { + return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT'; + }, + nextWeek : function () { + return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT'; + }, + lastDay : function () { + return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT'; + }, + lastWeek : function () { + return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT'; + }, + sameElse : 'L' + }, + relativeTime : { + future : function (str) { + if (str.indexOf('un') === 0) { + return 'n' + str; + } + return 'en ' + str; + }, + past : 'hai %s', + s : 'uns segundos', + ss : '%d segundos', + m : 'un minuto', + mm : '%d minutos', + h : 'unha hora', + hh : '%d horas', + d : 'un dÃa', + dd : '%d dÃas', + M : 'un mes', + MM : '%d meses', + y : 'un ano', + yy : '%d anos' + }, + dayOfMonthOrdinalParse : /\d{1,2}º/, + ordinal : '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function processRelativeTime$4(number, withoutSuffix, key, isFuture) { + var format = { + 's': ['thodde secondanim', 'thodde second'], + 'ss': [number + ' secondanim', number + ' second'], + 'm': ['eka mintan', 'ek minute'], + 'mm': [number + ' mintanim', number + ' mintam'], + 'h': ['eka voran', 'ek vor'], + 'hh': [number + ' voranim', number + ' voram'], + 'd': ['eka disan', 'ek dis'], + 'dd': [number + ' disanim', number + ' dis'], + 'M': ['eka mhoinean', 'ek mhoino'], + 'MM': [number + ' mhoineanim', number + ' mhoine'], + 'y': ['eka vorsan', 'ek voros'], + 'yy': [number + ' vorsanim', number + ' vorsam'] + }; + return withoutSuffix ? format[key][0] : format[key][1]; + } + + hooks.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 : true, + 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 : true, + 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 : processRelativeTime$4, + ss : processRelativeTime$4, + m : processRelativeTime$4, + mm : processRelativeTime$4, + h : processRelativeTime$4, + hh : processRelativeTime$4, + d : processRelativeTime$4, + dd : processRelativeTime$4, + M : processRelativeTime$4, + MM : processRelativeTime$4, + y : processRelativeTime$4, + yy : processRelativeTime$4 + }, + dayOfMonthOrdinalParse : /\d{1,2}(er)/, + ordinal : function (number, period) { + switch (period) { + // the ordinal 'er' only applies to day of the month + case 'D': + return number + 'er'; + default: + case 'M': + case 'Q': + case 'DDD': + case 'd': + case 'w': + case 'W': + return number; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + }, + meridiemParse: /rati|sokalli|donparam|sanje/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'rati') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'sokalli') { + return hour; + } else if (meridiem === 'donparam') { + return hour > 12 ? hour : hour + 12; + } else if (meridiem === 'sanje') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'rati'; + } else if (hour < 12) { + return 'sokalli'; + } else if (hour < 16) { + return 'donparam'; + } else if (hour < 20) { + return 'sanje'; + } else { + return 'rati'; + } + } + }); + + //! moment.js locale configuration + + var symbolMap$6 = { + '1': 'à«§', + '2': '૨', + '3': 'à«©', + '4': '૪', + '5': 'à««', + '6': '૬', + '7': 'à«', + '8': 'à«®', + '9': '૯', + '0': '૦' + }, + numberMap$5 = { + 'à«§': '1', + '૨': '2', + 'à«©': '3', + '૪': '4', + 'à««': '5', + '૬': '6', + 'à«': '7', + 'à«®': '8', + '૯': '9', + '૦': '0' + }; + + hooks.defineLocale('gu', { + months: 'જાનà«àª¯à«àª†àª°à«€_ફેબà«àª°à«àª†àª°à«€_મારà«àªš_àªàªªà«àª°àª¿àª²_મે_જૂન_જà«àª²àª¾àªˆ_ઑગસà«àªŸ_સપà«àªŸà«‡àª®à«àª¬àª°_ઑકà«àªŸà«àª¬àª°_નવેમà«àª¬àª°_ડિસેમà«àª¬àª°'.split('_'), + monthsShort: 'જાનà«àª¯à«._ફેબà«àª°à«._મારà«àªš_àªàªªà«àª°àª¿._મે_જૂન_જà«àª²àª¾._ઑગ._સપà«àªŸà«‡._ઑકà«àªŸà«._નવે._ડિસે.'.split('_'), + monthsParseExact: true, + 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: 'અમà«àª• પળો', + ss: '%d સેકંડ', + m: 'àªàª• મિનિટ', + mm: '%d મિનિટ', + h: 'àªàª• કલાક', + hh: '%d કલાક', + d: 'àªàª• દિવસ', + dd: '%d દિવસ', + M: 'àªàª• મહિનો', + MM: '%d મહિનો', + y: 'àªàª• વરà«àª·', + yy: '%d વરà«àª·' + }, + preparse: function (string) { + return string.replace(/[૧૨૩૪૫૬à«à«®à«¯à«¦]/g, function (match) { + return numberMap$5[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$6[match]; + }); + }, + // Gujarati notation for meridiems are quite fuzzy in practice. While there exists + // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati. + meridiemParse: /રાત|બપોર|સવાર|સાંજ/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'રાત') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'સવાર') { + return hour; + } else if (meridiem === 'બપોર') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'સાંજ') { + return hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'રાત'; + } else if (hour < 10) { + return 'સવાર'; + } else if (hour < 17) { + return 'બપોર'; + } else if (hour < 20) { + return 'સાંજ'; + } else { + return 'રાત'; + } + }, + week: { + dow: 0, // Sunday is the first day of the week. + doy: 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('he', { + 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', + l : 'D/M/YYYY', + ll : 'D MMM YYYY', + lll : 'D MMM YYYY HH:mm', + llll : 'ddd, D MMM 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 : function (number) { + if (number === 2) { + return 'שעתיי×'; + } + return number + ' שעות'; + }, + d : 'יו×', + dd : function (number) { + if (number === 2) { + return 'יומיי×'; + } + return number + ' ימי×'; + }, + M : 'חודש', + MM : function (number) { + if (number === 2) { + return 'חודשיי×'; + } + return number + ' חודשי×'; + }, + y : '×©× ×”', + yy : function (number) { + if (number === 2) { + return '×©× ×ª×™×™×'; + } else if (number % 10 === 0 && number !== 10) { + return number + ' ×©× ×”'; + } + return number + ' ×©× ×™×'; + } + }, + meridiemParse: /××—×”"צ|×œ×¤× ×”"צ|×חרי הצהריי×|×œ×¤× ×™ הצהריי×|×œ×¤× ×•×ª בוקר|בבוקר|בערב/i, + isPM : function (input) { + return /^(××—×”"צ|×חרי הצהריי×|בערב)$/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 5) { + return '×œ×¤× ×•×ª בוקר'; + } else if (hour < 10) { + return 'בבוקר'; + } else if (hour < 12) { + return isLower ? '×œ×¤× ×”"צ' : '×œ×¤× ×™ הצהריי×'; + } else if (hour < 18) { + return isLower ? '××—×”"צ' : '×חרי הצהריי×'; + } else { + return 'בערב'; + } + } + }); + + //! moment.js locale configuration + + var symbolMap$7 = { + '1': '१', + '2': '२', + '3': '३', + '4': '४', + '5': '५', + '6': '६', + '7': 'à¥', + '8': '८', + '9': '९', + '0': '०' + }, + numberMap$6 = { + '१': '1', + '२': '2', + '३': '3', + '४': '4', + '५': '5', + '६': '6', + 'à¥': '7', + '८': '8', + '९': '9', + '०': '0' + }; + + hooks.defineLocale('hi', { + months : 'जनवरी_फ़रवरी_मारà¥à¤š_अपà¥à¤°à¥ˆà¤²_मई_जून_जà¥à¤²à¤¾à¤ˆ_अगसà¥à¤¤_सितमà¥à¤¬à¤°_अकà¥à¤Ÿà¥‚बर_नवमà¥à¤¬à¤°_दिसमà¥à¤¬à¤°'.split('_'), + monthsShort : 'जन._फ़र._मारà¥à¤š_अपà¥à¤°à¥ˆ._मई_जून_जà¥à¤²._अग._सित._अकà¥à¤Ÿà¥‚._नव._दिस.'.split('_'), + monthsParseExact: true, + 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 : 'कà¥à¤› ही कà¥à¤·à¤£', + ss : '%d सेकंड', + m : 'à¤à¤• मिनट', + mm : '%d मिनट', + h : 'à¤à¤• घंटा', + hh : '%d घंटे', + d : 'à¤à¤• दिन', + dd : '%d दिन', + M : 'à¤à¤• महीने', + MM : '%d महीने', + y : 'à¤à¤• वरà¥à¤·', + yy : '%d वरà¥à¤·' + }, + preparse: function (string) { + return string.replace(/[१२३४५६à¥à¥®à¥¯à¥¦]/g, function (match) { + return numberMap$6[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$7[match]; + }); + }, + // Hindi notation for meridiems are quite fuzzy in practice. While there exists + // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi. + meridiemParse: /रात|सà¥à¤¬à¤¹|दोपहर|शाम/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'रात') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'सà¥à¤¬à¤¹') { + return hour; + } else if (meridiem === 'दोपहर') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'शाम') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'रात'; + } else if (hour < 10) { + return 'सà¥à¤¬à¤¹'; + } else if (hour < 17) { + return 'दोपहर'; + } else if (hour < 20) { + return 'शाम'; + } else { + return 'रात'; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function translate$3(number, withoutSuffix, key) { + var result = number + ' '; + switch (key) { + case 'ss': + if (number === 1) { + result += 'sekunda'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'sekunde'; + } else { + result += 'sekundi'; + } + return result; + case 'm': + return withoutSuffix ? 'jedna minuta' : 'jedne minute'; + case 'mm': + if (number === 1) { + result += 'minuta'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'minute'; + } else { + result += 'minuta'; + } + return result; + case 'h': + return withoutSuffix ? 'jedan sat' : 'jednog sata'; + case 'hh': + if (number === 1) { + result += 'sat'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'sata'; + } else { + result += 'sati'; + } + return result; + case 'dd': + if (number === 1) { + result += 'dan'; + } else { + result += 'dana'; + } + return result; + case 'MM': + if (number === 1) { + result += 'mjesec'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'mjeseca'; + } else { + result += 'mjeseci'; + } + return result; + case 'yy': + if (number === 1) { + result += 'godina'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'godine'; + } else { + result += 'godina'; + } + return result; + } + } + + hooks.defineLocale('hr', { + months : { + format: 'sijeÄnja_veljaÄe_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'), + standalone: 'sijeÄanj_veljaÄa_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_') + }, + monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'), + monthsParseExact: true, + weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota'.split('_'), + weekdaysShort : 'ned._pon._uto._sri._Äet._pet._sub.'.split('_'), + weekdaysMin : 'ne_po_ut_sr_Äe_pe_su'.split('_'), + weekdaysParseExact : true, + 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 : '[danas u] LT', + nextDay : '[sutra u] LT', + nextWeek : function () { + switch (this.day()) { + case 0: + return '[u] [nedjelju] [u] LT'; + case 3: + return '[u] [srijedu] [u] LT'; + case 6: + return '[u] [subotu] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[u] dddd [u] LT'; + } + }, + lastDay : '[juÄer u] LT', + lastWeek : function () { + switch (this.day()) { + case 0: + case 3: + return '[proÅ¡lu] dddd [u] LT'; + case 6: + return '[proÅ¡le] [subote] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[proÅ¡li] dddd [u] LT'; + } + }, + sameElse : 'L' + }, + relativeTime : { + future : 'za %s', + past : 'prije %s', + s : 'par sekundi', + ss : translate$3, + m : translate$3, + mm : translate$3, + h : translate$3, + hh : translate$3, + d : 'dan', + dd : translate$3, + M : 'mjesec', + MM : translate$3, + y : 'godinu', + yy : translate$3 + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var weekEndings = 'vasárnap hétfÅ‘n kedden szerdán csütörtökön pénteken szombaton'.split(' '); + function translate$4(number, withoutSuffix, key, isFuture) { + var num = number; + switch (key) { + case 's': + return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce'; + case 'ss': + return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce'; + case 'm': + return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce'); + case 'mm': + return num + (isFuture || withoutSuffix ? ' perc' : ' perce'); + case 'h': + return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája'); + case 'hh': + return num + (isFuture || withoutSuffix ? ' óra' : ' órája'); + case 'd': + return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja'); + case 'dd': + return num + (isFuture || withoutSuffix ? ' nap' : ' napja'); + case 'M': + return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); + case 'MM': + return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); + case 'y': + return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve'); + case 'yy': + return num + (isFuture || withoutSuffix ? ' év' : ' éve'); + } + return ''; + } + function week(isFuture) { + return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]'; + } + + hooks.defineLocale('hu', { + months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'), + monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'), + weekdays : 'vasárnap_hétfÅ‘_kedd_szerda_csütörtök_péntek_szombat'.split('_'), + weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'), + weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'), + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'YYYY.MM.DD.', + LL : 'YYYY. MMMM D.', + LLL : 'YYYY. MMMM D. H:mm', + LLLL : 'YYYY. MMMM D., dddd H:mm' + }, + meridiemParse: /de|du/i, + isPM: function (input) { + return input.charAt(1).toLowerCase() === 'u'; + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 12) { + return isLower === true ? 'de' : 'DE'; + } else { + return isLower === true ? 'du' : 'DU'; + } + }, + calendar : { + sameDay : '[ma] LT[-kor]', + nextDay : '[holnap] LT[-kor]', + nextWeek : function () { + return week.call(this, true); + }, + lastDay : '[tegnap] LT[-kor]', + lastWeek : function () { + return week.call(this, false); + }, + sameElse : 'L' + }, + relativeTime : { + future : '%s múlva', + past : '%s', + s : translate$4, + ss : translate$4, + m : translate$4, + mm : translate$4, + h : translate$4, + hh : translate$4, + d : translate$4, + dd : translate$4, + M : translate$4, + MM : translate$4, + y : translate$4, + yy : translate$4 + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('hy-am', { + months : { + format: 'Õ°Õ¸Ö‚Õ¶Õ¾Õ¡Ö€Õ«_ÖƒÕ¥Õ¿Ö€Õ¾Õ¡Ö€Õ«_Õ´Õ¡Ö€Õ¿Õ«_Õ¡ÕºÖ€Õ«Õ¬Õ«_Õ´Õ¡ÕµÕ«Õ½Õ«_Õ°Õ¸Ö‚Õ¶Õ«Õ½Õ«_Õ°Õ¸Ö‚Õ¬Õ«Õ½Õ«_Ö…Õ£Õ¸Õ½Õ¿Õ¸Õ½Õ«_Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«_Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«_Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö€Õ«_Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«'.split('_'), + standalone: 'Õ°Õ¸Ö‚Õ¶Õ¾Õ¡Ö€_ÖƒÕ¥Õ¿Ö€Õ¾Õ¡Ö€_Õ´Õ¡Ö€Õ¿_Õ¡ÕºÖ€Õ«Õ¬_Õ´Õ¡ÕµÕ«Õ½_Õ°Õ¸Ö‚Õ¶Õ«Õ½_Õ°Õ¸Ö‚Õ¬Õ«Õ½_Ö…Õ£Õ¸Õ½Õ¿Õ¸Õ½_Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö€_Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€_Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö€_Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€'.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: function () { + return 'dddd [Ö…Ö€Õ¨ ÕªÕ¡Õ´Õ¨] LT'; + }, + lastWeek: function () { + return '[Õ¡Õ¶ÖÕ¡Õ®] 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 Õ¿Õ¡Ö€Õ«' + }, + meridiemParse: /Õ£Õ«Õ·Õ¥Ö€Õ¾Õ¡|Õ¡Õ¼Õ¡Õ¾Õ¸Õ¿Õ¾Õ¡|ÖÕ¥Ö€Õ¥Õ¯Õ¾Õ¡|Õ¥Ö€Õ¥Õ¯Õ¸ÕµÕ¡Õ¶/, + isPM: function (input) { + return /^(ÖÕ¥Ö€Õ¥Õ¯Õ¾Õ¡|Õ¥Ö€Õ¥Õ¯Õ¸ÕµÕ¡Õ¶)$/.test(input); + }, + meridiem : function (hour) { + if (hour < 4) { + return 'Õ£Õ«Õ·Õ¥Ö€Õ¾Õ¡'; + } else if (hour < 12) { + return 'Õ¡Õ¼Õ¡Õ¾Õ¸Õ¿Õ¾Õ¡'; + } else if (hour < 17) { + return 'ÖÕ¥Ö€Õ¥Õ¯Õ¾Õ¡'; + } else { + return 'Õ¥Ö€Õ¥Õ¯Õ¸ÕµÕ¡Õ¶'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(Õ«Õ¶|Ö€Õ¤)/, + ordinal: function (number, period) { + switch (period) { + case 'DDD': + case 'w': + case 'W': + case 'DDDo': + if (number === 1) { + return number + '-Õ«Õ¶'; + } + return number + '-Ö€Õ¤'; + default: + return number; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('id', { + months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'), + weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'), + weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'), + weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'), + longDateFormat : { + LT : 'HH.mm', + LTS : 'HH.mm.ss', + L : 'DD/MM/YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY [pukul] HH.mm', + LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm' + }, + meridiemParse: /pagi|siang|sore|malam/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'pagi') { + return hour; + } else if (meridiem === 'siang') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'sore' || meridiem === 'malam') { + return hour + 12; + } + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 11) { + return 'pagi'; + } else if (hours < 15) { + return 'siang'; + } else if (hours < 19) { + return 'sore'; + } else { + return 'malam'; + } + }, + calendar : { + sameDay : '[Hari ini pukul] LT', + nextDay : '[Besok pukul] LT', + nextWeek : 'dddd [pukul] LT', + lastDay : '[Kemarin pukul] LT', + lastWeek : 'dddd [lalu pukul] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'dalam %s', + past : '%s yang lalu', + s : 'beberapa detik', + ss : '%d detik', + m : 'semenit', + mm : '%d menit', + h : 'sejam', + hh : '%d jam', + d : 'sehari', + dd : '%d hari', + M : 'sebulan', + MM : '%d bulan', + y : 'setahun', + yy : '%d tahun' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function plural$2(n) { + if (n % 100 === 11) { + return true; + } else if (n % 10 === 1) { + return false; + } + return true; + } + function translate$5(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + switch (key) { + case 's': + return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum'; + case 'ss': + if (plural$2(number)) { + return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum'); + } + return result + 'sekúnda'; + case 'm': + return withoutSuffix ? 'mÃnúta' : 'mÃnútu'; + case 'mm': + if (plural$2(number)) { + return result + (withoutSuffix || isFuture ? 'mÃnútur' : 'mÃnútum'); + } else if (withoutSuffix) { + return result + 'mÃnúta'; + } + return result + 'mÃnútu'; + case 'hh': + if (plural$2(number)) { + return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum'); + } + return result + 'klukkustund'; + case 'd': + if (withoutSuffix) { + return 'dagur'; + } + return isFuture ? 'dag' : 'degi'; + case 'dd': + if (plural$2(number)) { + if (withoutSuffix) { + return result + 'dagar'; + } + return result + (isFuture ? 'daga' : 'dögum'); + } else if (withoutSuffix) { + return result + 'dagur'; + } + return result + (isFuture ? 'dag' : 'degi'); + case 'M': + if (withoutSuffix) { + return 'mánuður'; + } + return isFuture ? 'mánuð' : 'mánuði'; + case 'MM': + if (plural$2(number)) { + if (withoutSuffix) { + return result + 'mánuðir'; + } + return result + (isFuture ? 'mánuði' : 'mánuðum'); + } else if (withoutSuffix) { + return result + 'mánuður'; + } + return result + (isFuture ? 'mánuð' : 'mánuði'); + case 'y': + return withoutSuffix || isFuture ? 'ár' : 'ári'; + case 'yy': + if (plural$2(number)) { + return result + (withoutSuffix || isFuture ? 'ár' : 'árum'); + } + return result + (withoutSuffix || isFuture ? 'ár' : 'ári'); + } + } + + hooks.defineLocale('is', { + months : 'janúar_febrúar_mars_aprÃl_maÃ_júnÃ_júlÃ_ágúst_september_október_nóvember_desember'.split('_'), + monthsShort : 'jan_feb_mar_apr_maÃ_jún_júl_ágú_sep_okt_nóv_des'.split('_'), + weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'), + weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'), + weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'), + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'DD.MM.YYYY', + LL : 'D. MMMM YYYY', + LLL : 'D. MMMM YYYY [kl.] H:mm', + LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm' + }, + calendar : { + sameDay : '[à dag kl.] LT', + nextDay : '[á morgun kl.] LT', + nextWeek : 'dddd [kl.] LT', + lastDay : '[à gær kl.] LT', + lastWeek : '[sÃðasta] dddd [kl.] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'eftir %s', + past : 'fyrir %s sÃðan', + s : translate$5, + ss : translate$5, + m : translate$5, + mm : translate$5, + h : 'klukkustund', + hh : translate$5, + d : translate$5, + dd : translate$5, + M : translate$5, + MM : translate$5, + y : translate$5, + yy : translate$5 + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('it-ch', { + months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'), + monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), + weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'), + weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'), + weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.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: '[Oggi alle] LT', + nextDay: '[Domani alle] LT', + nextWeek: 'dddd [alle] LT', + lastDay: '[Ieri alle] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[la scorsa] dddd [alle] LT'; + default: + return '[lo scorso] dddd [alle] LT'; + } + }, + sameElse: 'L' + }, + relativeTime : { + future : function (s) { + return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s; + }, + past : '%s fa', + s : 'alcuni secondi', + ss : '%d secondi', + m : 'un minuto', + mm : '%d minuti', + h : 'un\'ora', + hh : '%d ore', + d : 'un giorno', + dd : '%d giorni', + M : 'un mese', + MM : '%d mesi', + y : 'un anno', + yy : '%d anni' + }, + dayOfMonthOrdinalParse : /\d{1,2}º/, + ordinal: '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('it', { + months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'), + monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), + weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'), + weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'), + weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.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: '[Oggi alle] LT', + nextDay: '[Domani alle] LT', + nextWeek: 'dddd [alle] LT', + lastDay: '[Ieri alle] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[la scorsa] dddd [alle] LT'; + default: + return '[lo scorso] dddd [alle] LT'; + } + }, + sameElse: 'L' + }, + relativeTime : { + future : function (s) { + return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s; + }, + past : '%s fa', + s : 'alcuni secondi', + ss : '%d secondi', + m : 'un minuto', + mm : '%d minuti', + h : 'un\'ora', + hh : '%d ore', + d : 'un giorno', + dd : '%d giorni', + M : 'un mese', + MM : '%d mesi', + y : 'un anno', + yy : '%d anni' + }, + dayOfMonthOrdinalParse : /\d{1,2}º/, + ordinal: '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('ja', { + months : '一月_二月_三月_四月_五月_å…æœˆ_七月_八月_乿œˆ_åæœˆ_å一月_å二月'.split('_'), + monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), + weekdays : '日曜日_月曜日_ç«æ›œæ—¥_水曜日_木曜日_金曜日_土曜日'.split('_'), + weekdaysShort : 'æ—¥_月_ç«_æ°´_木_金_土'.split('_'), + weekdaysMin : 'æ—¥_月_ç«_æ°´_木_金_土'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY/MM/DD', + LL : 'YYYYå¹´M月Dæ—¥', + LLL : 'YYYYå¹´M月Dæ—¥ HH:mm', + LLLL : 'YYYYå¹´M月Dæ—¥ dddd HH:mm', + l : 'YYYY/MM/DD', + ll : 'YYYYå¹´M月Dæ—¥', + lll : 'YYYYå¹´M月Dæ—¥ HH:mm', + llll : 'YYYYå¹´M月Dæ—¥(ddd) HH:mm' + }, + meridiemParse: /åˆå‰|åˆå¾Œ/i, + isPM : function (input) { + return input === 'åˆå¾Œ'; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'åˆå‰'; + } else { + return 'åˆå¾Œ'; + } + }, + calendar : { + sameDay : '[今日] LT', + nextDay : '[明日] LT', + nextWeek : function (now) { + if (now.week() < this.week()) { + return '[æ¥é€±]dddd LT'; + } else { + return 'dddd LT'; + } + }, + lastDay : '[昨日] LT', + lastWeek : function (now) { + if (this.week() < now.week()) { + return '[先週]dddd LT'; + } else { + return 'dddd LT'; + } + }, + sameElse : 'L' + }, + dayOfMonthOrdinalParse : /\d{1,2}æ—¥/, + ordinal : function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + 'æ—¥'; + default: + return number; + } + }, + relativeTime : { + future : '%s後', + past : '%så‰', + s : 'æ•°ç§’', + ss : '%dç§’', + m : '1分', + mm : '%d分', + h : '1時間', + hh : '%d時間', + d : '1æ—¥', + dd : '%dæ—¥', + M : '1ヶ月', + MM : '%dヶ月', + y : '1å¹´', + yy : '%då¹´' + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('jv', { + months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'), + weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'), + weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'), + weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'), + longDateFormat : { + LT : 'HH.mm', + LTS : 'HH.mm.ss', + L : 'DD/MM/YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY [pukul] HH.mm', + LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm' + }, + meridiemParse: /enjing|siyang|sonten|ndalu/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'enjing') { + return hour; + } else if (meridiem === 'siyang') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'sonten' || meridiem === 'ndalu') { + return hour + 12; + } + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 11) { + return 'enjing'; + } else if (hours < 15) { + return 'siyang'; + } else if (hours < 19) { + return 'sonten'; + } else { + return 'ndalu'; + } + }, + calendar : { + sameDay : '[Dinten puniko pukul] LT', + nextDay : '[Mbenjang pukul] LT', + nextWeek : 'dddd [pukul] LT', + lastDay : '[Kala wingi pukul] LT', + lastWeek : 'dddd [kepengker pukul] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'wonten ing %s', + past : '%s ingkang kepengker', + s : 'sawetawis detik', + ss : '%d detik', + m : 'setunggal menit', + mm : '%d menit', + h : 'setunggal jam', + hh : '%d jam', + d : 'sedinten', + dd : '%d dinten', + M : 'sewulan', + MM : '%d wulan', + y : 'setaun', + yy : '%d taun' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('ka', { + months : { + standalone: 'იáƒáƒœáƒ•áƒáƒ ი_თებერვáƒáƒšáƒ˜_მáƒáƒ ტი_áƒáƒžáƒ ილი_მáƒáƒ˜áƒ¡áƒ˜_ივნისი_ივლისი_áƒáƒ’ვისტáƒ_სექტემბერი_áƒáƒ¥áƒ¢áƒáƒ›áƒ‘ერი_ნáƒáƒ”მბერი_დეკემბერი'.split('_'), + format: 'იáƒáƒœáƒ•áƒáƒ ს_თებერვáƒáƒšáƒ¡_მáƒáƒ ტს_áƒáƒžáƒ ილის_მáƒáƒ˜áƒ¡áƒ¡_ივნისს_ივლისს_áƒáƒ’ვისტს_სექტემბერს_áƒáƒ¥áƒ¢áƒáƒ›áƒ‘ერს_ნáƒáƒ”მბერს_დეკემბერს'.split('_') + }, + monthsShort : 'იáƒáƒœ_თებ_მáƒáƒ _áƒáƒžáƒ _მáƒáƒ˜_ივნ_ივლ_áƒáƒ’ვ_სექ_áƒáƒ¥áƒ¢_ნáƒáƒ”_დეკ'.split('_'), + weekdays : { + standalone: 'კვირáƒ_áƒáƒ შáƒáƒ‘áƒáƒ—ი_სáƒáƒ›áƒ¨áƒáƒ‘áƒáƒ—ი_áƒáƒ—ხშáƒáƒ‘áƒáƒ—ი_ხუთშáƒáƒ‘áƒáƒ—ი_პáƒáƒ áƒáƒ¡áƒ™áƒ”ვი_შáƒáƒ‘áƒáƒ—ი'.split('_'), + format: 'კვირáƒáƒ¡_áƒáƒ შáƒáƒ‘áƒáƒ—ს_სáƒáƒ›áƒ¨áƒáƒ‘áƒáƒ—ს_áƒáƒ—ხშáƒáƒ‘áƒáƒ—ს_ხუთშáƒáƒ‘áƒáƒ—ს_პáƒáƒ áƒáƒ¡áƒ™áƒ”ვს_შáƒáƒ‘áƒáƒ—ს'.split('_'), + isFormat: /(წინáƒ|შემდეგ)/ + }, + weekdaysShort : 'კვი_áƒáƒ შ_სáƒáƒ›_áƒáƒ—ხ_ხუთ_პáƒáƒ _შáƒáƒ‘'.split('_'), + weekdaysMin : 'კვ_áƒáƒ _სáƒ_áƒáƒ—_ხუ_პáƒ_შáƒ'.split('_'), + 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 : '[დღეს] LT[-ზე]', + nextDay : '[ხვáƒáƒš] LT[-ზე]', + lastDay : '[გუშინ] LT[-ზე]', + nextWeek : '[შემდეგ] dddd LT[-ზე]', + lastWeek : '[წინáƒ] dddd LT-ზე', + sameElse : 'L' + }, + relativeTime : { + future : function (s) { + return (/(წáƒáƒ›áƒ˜|წუთი|სáƒáƒáƒ—ი|წელი)/).test(s) ? + s.replace(/ი$/, 'ში') : + s + 'ში'; + }, + past : function (s) { + if ((/(წáƒáƒ›áƒ˜|წუთი|სáƒáƒáƒ—ი|დღე|თვე)/).test(s)) { + return s.replace(/(ი|ე)$/, 'ის წინ'); + } + if ((/წელი/).test(s)) { + return s.replace(/წელი$/, 'წლის წინ'); + } + }, + s : 'რáƒáƒ›áƒ“ენიმე წáƒáƒ›áƒ˜', + ss : '%d წáƒáƒ›áƒ˜', + m : 'წუთი', + mm : '%d წუთი', + h : 'სáƒáƒáƒ—ი', + hh : '%d სáƒáƒáƒ—ი', + d : 'დღე', + dd : '%d დღე', + M : 'თვე', + MM : '%d თვე', + y : 'წელი', + yy : '%d წელი' + }, + dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/, + ordinal : function (number) { + if (number === 0) { + return number; + } + if (number === 1) { + return number + '-ლი'; + } + if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) { + return 'მე-' + number; + } + return number + '-ე'; + }, + week : { + dow : 1, + doy : 7 + } + }); + + //! moment.js locale configuration + + var suffixes$1 = { + 0: '-ші', + 1: '-ші', + 2: '-ші', + 3: '-ші', + 4: '-ші', + 5: '-ші', + 6: '-шы', + 7: '-ші', + 8: '-ші', + 9: '-шы', + 10: '-шы', + 20: '-шы', + 30: '-шы', + 40: '-шы', + 50: '-ші', + 60: '-шы', + 70: '-ші', + 80: '-ші', + 90: '-шы', + 100: '-ші' + }; + + hooks.defineLocale('kk', { + 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 (number) { + var a = number % 10, + b = number >= 100 ? 100 : null; + return number + (suffixes$1[number] || suffixes$1[a] || suffixes$1[b]); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var symbolMap$8 = { + '1': '១', + '2': '២', + '3': '៣', + '4': '៤', + '5': '៥', + '6': '៦', + '7': '៧', + '8': '៨', + '9': '៩', + '0': '០' + }, numberMap$7 = { + '១': '1', + '២': '2', + '៣': '3', + '៤': '4', + '៥': '5', + '៦': '6', + '៧': '7', + '៨': '8', + '៩': '9', + '០': '0' + }; + + hooks.defineLocale('km', { + months: 'មករា_កុម្ភៈ_មីនា_មáŸážŸáž¶_ឧសភា_មិážáž»áž“áž¶_កក្កដា_សីហា_កញ្ញា_ážáž»áž›áž¶_វិច្ឆិកា_ធ្នូ'.split( + '_' + ), + monthsShort: 'មករា_កុម្ភៈ_មីនា_មáŸážŸáž¶_ឧសភា_មិážáž»áž“áž¶_កក្កដា_សីហា_កញ្ញា_ážáž»áž›áž¶_វិច្ឆិកា_ធ្នូ'.split( + '_' + ), + weekdays: 'អាទិážáŸ’áž™_áž…áŸáž“្ទ_អង្គារ_ពុធ_ព្រហស្បážáž·áŸ_សុក្រ_សៅរáŸ'.split('_'), + weekdaysShort: 'អា_áž…_អ_áž–_ព្រ_សុ_ស'.split('_'), + weekdaysMin: 'អា_áž…_អ_áž–_ព្រ_សុ_ស'.split('_'), + weekdaysParseExact: true, + 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 (input) { + return input === 'ល្ងាច'; + }, + meridiem: function (hour, minute, isLower) { + if (hour < 12) { + return 'ព្រឹក'; + } else { + return 'ល្ងាច'; + } + }, + 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 (string) { + return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) { + return numberMap$7[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$8[match]; + }); + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var symbolMap$9 = { + '1': 'à³§', + '2': '೨', + '3': '೩', + '4': '೪', + '5': '೫', + '6': '೬', + '7': 'à³', + '8': 'à³®', + '9': '೯', + '0': '೦' + }, + numberMap$8 = { + 'à³§': '1', + '೨': '2', + '೩': '3', + '೪': '4', + '೫': '5', + '೬': '6', + 'à³': '7', + 'à³®': '8', + '೯': '9', + '೦': '0' + }; + + hooks.defineLocale('kn', { + months : 'ಜನವರಿ_ಫೆಬà³à²°à²µà²°à²¿_ಮಾರà³à²šà³_à²à²ªà³à²°à²¿à²²à³_ಮೇ_ಜೂನà³_ಜà³à²²à³†à³–_ಆಗಸà³à²Ÿà³_ಸೆಪà³à²Ÿà³†à²‚ಬರà³_ಅಕà³à²Ÿà³†à³‚ೕಬರà³_ನವೆಂಬರà³_ಡಿಸೆಂಬರà³'.split('_'), + monthsShort : 'ಜನ_ಫೆಬà³à²°_ಮಾರà³à²šà³_à²à²ªà³à²°à²¿à²²à³_ಮೇ_ಜೂನà³_ಜà³à²²à³†à³–_ಆಗಸà³à²Ÿà³_ಸೆಪà³à²Ÿà³†à²‚_ಅಕà³à²Ÿà³†à³‚ೕ_ನವೆಂ_ಡಿಸೆಂ'.split('_'), + monthsParseExact: true, + 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 : 'ಕೆಲವೠಕà³à²·à²£à²—ಳà³', + ss : '%d ಸೆಕೆಂಡà³à²—ಳà³', + m : 'ಒಂದೠನಿಮಿಷ', + mm : '%d ನಿಮಿಷ', + h : 'ಒಂದೠಗಂಟೆ', + hh : '%d ಗಂಟೆ', + d : 'ಒಂದೠದಿನ', + dd : '%d ದಿನ', + M : 'ಒಂದೠತಿಂಗಳà³', + MM : '%d ತಿಂಗಳà³', + y : 'ಒಂದೠವರà³à²·', + yy : '%d ವರà³à²·' + }, + preparse: function (string) { + return string.replace(/[೧೨೩೪೫೬à³à³®à³¯à³¦]/g, function (match) { + return numberMap$8[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$9[match]; + }); + }, + meridiemParse: /ರಾತà³à²°à²¿|ಬೆಳಿಗà³à²—ೆ|ಮಧà³à²¯à²¾à²¹à³à²¨|ಸಂಜೆ/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'ರಾತà³à²°à²¿') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'ಬೆಳಿಗà³à²—ೆ') { + return hour; + } else if (meridiem === 'ಮಧà³à²¯à²¾à²¹à³à²¨') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'ಸಂಜೆ') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'ರಾತà³à²°à²¿'; + } else if (hour < 10) { + return 'ಬೆಳಿಗà³à²—ೆ'; + } else if (hour < 17) { + return 'ಮಧà³à²¯à²¾à²¹à³à²¨'; + } else if (hour < 20) { + return 'ಸಂಜೆ'; + } else { + return 'ರಾತà³à²°à²¿'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/, + ordinal : function (number) { + return number + 'ನೇ'; + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('ko', { + months : '1ì›”_2ì›”_3ì›”_4ì›”_5ì›”_6ì›”_7ì›”_8ì›”_9ì›”_10ì›”_11ì›”_12ì›”'.split('_'), + monthsShort : '1ì›”_2ì›”_3ì›”_4ì›”_5ì›”_6ì›”_7ì›”_8ì›”_9ì›”_10ì›”_11ì›”_12ì›”'.split('_'), + weekdays : 'ì¼ìš”ì¼_월요ì¼_화요ì¼_수요ì¼_목요ì¼_금요ì¼_í† ìš”ì¼'.split('_'), + weekdaysShort : 'ì¼_ì›”_í™”_수_목_금_í† '.split('_'), + weekdaysMin : 'ì¼_ì›”_í™”_수_목_금_í† '.split('_'), + longDateFormat : { + LT : 'A h:mm', + LTS : 'A h:mm:ss', + L : 'YYYY.MM.DD.', + LL : 'YYYYë…„ MMMM Dì¼', + LLL : 'YYYYë…„ MMMM Dì¼ A h:mm', + LLLL : 'YYYYë…„ MMMM Dì¼ dddd A h:mm', + l : 'YYYY.MM.DD.', + ll : 'YYYYë…„ MMMM Dì¼', + lll : 'YYYYë…„ MMMM Dì¼ A h:mm', + llll : 'YYYYë…„ MMMM Dì¼ dddd A h: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 : '1ë¶„', + mm : '%dë¶„', + h : '한 시간', + hh : '%d시간', + d : '하루', + dd : '%dì¼', + M : '한 달', + MM : '%d달', + y : 'ì¼ ë…„', + yy : '%dë…„' + }, + dayOfMonthOrdinalParse : /\d{1,2}(ì¼|ì›”|주)/, + ordinal : function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + 'ì¼'; + case 'M': + return number + 'ì›”'; + case 'w': + case 'W': + return number + '주'; + default: + return number; + } + }, + meridiemParse : /ì˜¤ì „|오후/, + isPM : function (token) { + return token === '오후'; + }, + meridiem : function (hour, minute, isUpper) { + return hour < 12 ? 'ì˜¤ì „' : '오후'; + } + }); + + //! moment.js locale configuration + + var symbolMap$a = { + '1': 'Ù¡', + '2': 'Ù¢', + '3': 'Ù£', + '4': 'Ù¤', + '5': 'Ù¥', + '6': 'Ù¦', + '7': 'Ù§', + '8': 'Ù¨', + '9': 'Ù©', + '0': 'Ù ' + }, numberMap$9 = { + 'Ù¡': '1', + 'Ù¢': '2', + 'Ù£': '3', + 'Ù¤': '4', + 'Ù¥': '5', + 'Ù¦': '6', + 'Ù§': '7', + 'Ù¨': '8', + 'Ù©': '9', + 'Ù ': '0' + }, + months$7 = [ + 'کانونی دووەم', + 'شوبات', + 'ئازار', + 'نیسان', + 'ئایار', + 'ØÙˆØ²Û•یران', + 'تەمموز', + 'ئاب', + 'ئەیلوول', + 'تشرینی یەكەم', + 'تشرینی دووەم', + 'كانونی یەکەم' + ]; + + + hooks.defineLocale('ku', { + months : months$7, + monthsShort : months$7, + weekdays : 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split('_'), + weekdaysShort : 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'), + weekdaysMin : 'ÛŒ_د_س_Ú†_Ù¾_Ù‡_Ø´'.split('_'), + weekdaysParseExact : true, + 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 (input) { + return /ئێواره‌/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'به‌یانی'; + } else { + return 'ئێواره‌'; + } + }, + 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 (string) { + return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { + return numberMap$9[match]; + }).replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$a[match]; + }).replace(/,/g, 'ØŒ'); + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var suffixes$2 = { + 0: '-чү', + 1: '-чи', + 2: '-чи', + 3: '-чү', + 4: '-чү', + 5: '-чи', + 6: '-чы', + 7: '-чи', + 8: '-чи', + 9: '-чу', + 10: '-чу', + 20: '-чы', + 30: '-чу', + 40: '-чы', + 50: '-чү', + 60: '-чы', + 70: '-чи', + 80: '-чи', + 90: '-чу', + 100: '-чү' + }; + + hooks.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 (number) { + var a = number % 10, + b = number >= 100 ? 100 : null; + return number + (suffixes$2[number] || suffixes$2[a] || suffixes$2[b]); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function processRelativeTime$5(number, withoutSuffix, key, isFuture) { + var format = { + 'm': ['eng Minutt', 'enger Minutt'], + 'h': ['eng Stonn', 'enger Stonn'], + 'd': ['een Dag', 'engem Dag'], + 'M': ['ee Mount', 'engem Mount'], + 'y': ['ee Joer', 'engem Joer'] + }; + return withoutSuffix ? format[key][0] : format[key][1]; + } + function processFutureTime(string) { + var number = string.substr(0, string.indexOf(' ')); + if (eifelerRegelAppliesToNumber(number)) { + return 'a ' + string; + } + return 'an ' + string; + } + function processPastTime(string) { + var number = string.substr(0, string.indexOf(' ')); + if (eifelerRegelAppliesToNumber(number)) { + return 'viru ' + string; + } + return 'virun ' + string; + } + /** + * Returns true if the word before the given number loses the '-n' ending. + * e.g. 'an 10 Deeg' but 'a 5 Deeg' + * + * @param number {integer} + * @returns {boolean} + */ + function eifelerRegelAppliesToNumber(number) { + number = parseInt(number, 10); + if (isNaN(number)) { + return false; + } + if (number < 0) { + // Negative Number --> always true + return true; + } else if (number < 10) { + // Only 1 digit + if (4 <= number && number <= 7) { + return true; + } + return false; + } else if (number < 100) { + // 2 digits + var lastDigit = number % 10, firstDigit = number / 10; + if (lastDigit === 0) { + return eifelerRegelAppliesToNumber(firstDigit); + } + return eifelerRegelAppliesToNumber(lastDigit); + } else if (number < 10000) { + // 3 or 4 digits --> recursively check first digit + while (number >= 10) { + number = number / 10; + } + return eifelerRegelAppliesToNumber(number); + } else { + // Anything larger than 4 digits: recursively check first n-3 digits + number = number / 1000; + return eifelerRegelAppliesToNumber(number); + } + } + + hooks.defineLocale('lb', { + months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), + monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'), + monthsParseExact : true, + weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'), + weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'), + weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'), + weekdaysParseExact : true, + longDateFormat: { + LT: 'H:mm [Auer]', + LTS: 'H:mm:ss [Auer]', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY H:mm [Auer]', + LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]' + }, + calendar: { + sameDay: '[Haut um] LT', + sameElse: 'L', + nextDay: '[Muer um] LT', + nextWeek: 'dddd [um] LT', + lastDay: '[Gëschter um] LT', + lastWeek: function () { + // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule + switch (this.day()) { + case 2: + case 4: + return '[Leschten] dddd [um] LT'; + default: + return '[Leschte] dddd [um] LT'; + } + } + }, + relativeTime : { + future : processFutureTime, + past : processPastTime, + s : 'e puer Sekonnen', + ss : '%d Sekonnen', + m : processRelativeTime$5, + mm : '%d Minutten', + h : processRelativeTime$5, + hh : '%d Stonnen', + d : processRelativeTime$5, + dd : '%d Deeg', + M : processRelativeTime$5, + MM : '%d Méint', + y : processRelativeTime$5, + yy : '%d Joer' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('lo', { + months : 'ມັງàºàºàº™_àºàº¸àº¡àºžàº²_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_àºà»àº¥àº°àºàº»àº”_ສິງຫາ_àºàº±àº™àºàº²_ຕຸລາ_ພະຈິàº_ທັນວາ'.split('_'), + monthsShort : 'ມັງàºàºàº™_àºàº¸àº¡àºžàº²_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_àºà»àº¥àº°àºàº»àº”_ສິງຫາ_àºàº±àº™àºàº²_ຕຸລາ_ພະຈິàº_ທັນວາ'.split('_'), + weekdays : 'àºàº²àº—ິດ_ຈັນ_àºàº±àº‡àº„ານ_ພຸດ_ພະຫັດ_ສຸàº_ເສົາ'.split('_'), + weekdaysShort : 'ທິດ_ຈັນ_àºàº±àº‡àº„ານ_ພຸດ_ພະຫັດ_ສຸàº_ເສົາ'.split('_'), + weekdaysMin : 'ທ_ຈ_àºàº„_ພ_ພຫ_ສàº_ສ'.split('_'), + weekdaysParseExact : true, + 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 (input) { + return input === 'ຕàºàº™à»àº¥àº‡'; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'ຕàºàº™à»€àºŠàº»à»‰àº²'; + } else { + return 'ຕàºàº™à»àº¥àº‡'; + } + }, + calendar : { + sameDay : '[ມື້ນີ້ເວລາ] LT', + nextDay : '[ມື້àºàº·à»ˆàº™à»€àº§àº¥àº²] LT', + nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT', + lastDay : '[ມື້ວານນີ້ເວລາ] LT', + lastWeek : '[ວັນ]dddd[à»àº¥à»‰àº§àº™àºµà»‰à»€àº§àº¥àº²] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'àºàºµàº %s', + past : '%sຜ່ານມາ', + s : 'ບà»à»ˆà»€àº—ົ່າໃດວິນາທີ', + ss : '%d ວິນາທີ' , + m : '1 ນາທີ', + mm : '%d ນາທີ', + h : '1 ຊົ່ວໂມງ', + hh : '%d ຊົ່ວໂມງ', + d : '1 ມື້', + dd : '%d ມື້', + M : '1 ເດືàºàº™', + MM : '%d ເດືàºàº™', + y : '1 ປີ', + yy : '%d ປີ' + }, + dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/, + ordinal : function (number) { + return 'ທີ່' + number; + } + }); + + //! moment.js locale configuration + + var units = { + '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' + }; + function translateSeconds(number, withoutSuffix, key, isFuture) { + if (withoutSuffix) { + return 'kelios sekundÄ—s'; + } else { + return isFuture ? 'kelių sekundžių' : 'kelias sekundes'; + } + } + function translateSingular(number, withoutSuffix, key, isFuture) { + return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]); + } + function special(number) { + return number % 10 === 0 || (number > 10 && number < 20); + } + function forms(key) { + return units[key].split('_'); + } + function translate$6(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + if (number === 1) { + return result + translateSingular(number, withoutSuffix, key[0], isFuture); + } else if (withoutSuffix) { + return result + (special(number) ? forms(key)[1] : forms(key)[0]); + } else { + if (isFuture) { + return result + forms(key)[1]; + } else { + return result + (special(number) ? forms(key)[1] : forms(key)[2]); + } + } + } + hooks.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 : true, + 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 : translateSeconds, + ss : translate$6, + m : translateSingular, + mm : translate$6, + h : translateSingular, + hh : translate$6, + d : translateSingular, + dd : translate$6, + M : translateSingular, + MM : translate$6, + y : translateSingular, + yy : translate$6 + }, + dayOfMonthOrdinalParse: /\d{1,2}-oji/, + ordinal : function (number) { + return number + '-oji'; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var units$1 = { + 'ss': 'sekundes_sekundÄ“m_sekunde_sekundes'.split('_'), + 'm': 'minÅ«tes_minÅ«tÄ“m_minÅ«te_minÅ«tes'.split('_'), + 'mm': 'minÅ«tes_minÅ«tÄ“m_minÅ«te_minÅ«tes'.split('_'), + 'h': 'stundas_stundÄm_stunda_stundas'.split('_'), + 'hh': 'stundas_stundÄm_stunda_stundas'.split('_'), + 'd': 'dienas_dienÄm_diena_dienas'.split('_'), + 'dd': 'dienas_dienÄm_diena_dienas'.split('_'), + 'M': 'mÄ“neÅ¡a_mÄ“neÅ¡iem_mÄ“nesis_mÄ“neÅ¡i'.split('_'), + 'MM': 'mÄ“neÅ¡a_mÄ“neÅ¡iem_mÄ“nesis_mÄ“neÅ¡i'.split('_'), + 'y': 'gada_gadiem_gads_gadi'.split('_'), + 'yy': 'gada_gadiem_gads_gadi'.split('_') + }; + /** + * @param withoutSuffix boolean true = a length of time; false = before/after a period of time. + */ + function format$1(forms, number, withoutSuffix) { + if (withoutSuffix) { + // E.g. "21 minÅ«te", "3 minÅ«tes". + return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3]; + } else { + // E.g. "21 minÅ«tes" as in "pÄ“c 21 minÅ«tes". + // E.g. "3 minÅ«tÄ“m" as in "pÄ“c 3 minÅ«tÄ“m". + return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1]; + } + } + function relativeTimeWithPlural$1(number, withoutSuffix, key) { + return number + ' ' + format$1(units$1[key], number, withoutSuffix); + } + function relativeTimeWithSingular(number, withoutSuffix, key) { + return format$1(units$1[key], number, withoutSuffix); + } + function relativeSeconds(number, withoutSuffix) { + return withoutSuffix ? 'dažas sekundes' : 'dažÄm sekundÄ“m'; + } + + hooks.defineLocale('lv', { + months : 'janvÄris_februÄris_marts_aprÄ«lis_maijs_jÅ«nijs_jÅ«lijs_augusts_septembris_oktobris_novembris_decembris'.split('_'), + monthsShort : 'jan_feb_mar_apr_mai_jÅ«n_jÅ«l_aug_sep_okt_nov_dec'.split('_'), + weekdays : 'svÄ“tdiena_pirmdiena_otrdiena_treÅ¡diena_ceturtdiena_piektdiena_sestdiena'.split('_'), + weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'), + weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD.MM.YYYY.', + LL : 'YYYY. [gada] D. MMMM', + LLL : 'YYYY. [gada] D. MMMM, HH:mm', + LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm' + }, + calendar : { + sameDay : '[Å odien pulksten] LT', + nextDay : '[RÄ«t pulksten] LT', + nextWeek : 'dddd [pulksten] LT', + lastDay : '[Vakar pulksten] LT', + lastWeek : '[PagÄjuÅ¡Ä] dddd [pulksten] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'pÄ“c %s', + past : 'pirms %s', + s : relativeSeconds, + ss : relativeTimeWithPlural$1, + m : relativeTimeWithSingular, + mm : relativeTimeWithPlural$1, + h : relativeTimeWithSingular, + hh : relativeTimeWithPlural$1, + d : relativeTimeWithSingular, + dd : relativeTimeWithPlural$1, + M : relativeTimeWithSingular, + MM : relativeTimeWithPlural$1, + y : relativeTimeWithSingular, + yy : relativeTimeWithPlural$1 + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var translator = { + words: { //Different grammatical cases + ss: ['sekund', 'sekunda', 'sekundi'], + m: ['jedan minut', 'jednog minuta'], + mm: ['minut', 'minuta', 'minuta'], + h: ['jedan sat', 'jednog sata'], + hh: ['sat', 'sata', 'sati'], + dd: ['dan', 'dana', 'dana'], + MM: ['mjesec', 'mjeseca', 'mjeseci'], + yy: ['godina', 'godine', 'godina'] + }, + correctGrammaticalCase: function (number, wordKey) { + return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]); + }, + translate: function (number, withoutSuffix, key) { + var wordKey = translator.words[key]; + if (key.length === 1) { + return withoutSuffix ? wordKey[0] : wordKey[1]; + } else { + return number + ' ' + translator.correctGrammaticalCase(number, wordKey); + } + } + }; + + hooks.defineLocale('me', { + months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'), + monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'), + monthsParseExact : true, + weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota'.split('_'), + weekdaysShort: 'ned._pon._uto._sri._Äet._pet._sub.'.split('_'), + weekdaysMin: 'ne_po_ut_sr_Äe_pe_su'.split('_'), + weekdaysParseExact : true, + 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: '[danas u] LT', + nextDay: '[sjutra u] LT', + + nextWeek: function () { + switch (this.day()) { + case 0: + return '[u] [nedjelju] [u] LT'; + case 3: + return '[u] [srijedu] [u] LT'; + case 6: + return '[u] [subotu] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[u] dddd [u] LT'; + } + }, + lastDay : '[juÄe u] LT', + lastWeek : function () { + var lastWeekDays = [ + '[proÅ¡le] [nedjelje] [u] LT', + '[proÅ¡log] [ponedjeljka] [u] LT', + '[proÅ¡log] [utorka] [u] LT', + '[proÅ¡le] [srijede] [u] LT', + '[proÅ¡log] [Äetvrtka] [u] LT', + '[proÅ¡log] [petka] [u] LT', + '[proÅ¡le] [subote] [u] LT' + ]; + return lastWeekDays[this.day()]; + }, + sameElse : 'L' + }, + relativeTime : { + future : 'za %s', + past : 'prije %s', + s : 'nekoliko sekundi', + ss : translator.translate, + m : translator.translate, + mm : translator.translate, + h : translator.translate, + hh : translator.translate, + d : 'dan', + dd : translator.translate, + M : 'mjesec', + MM : translator.translate, + y : 'godinu', + yy : translator.translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('mi', { + months: 'Kohi-tÄte_Hui-tanguru_PoutÅ«-te-rangi_Paenga-whÄwhÄ_Haratua_Pipiri_HÅngoingoi_Here-turi-kÅkÄ_Mahuru_Whiringa-Ä-nuku_Whiringa-Ä-rangi_Hakihea'.split('_'), + monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_HÅngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'), + monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, + monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, + monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, + monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i, + weekdays: 'RÄtapu_Mane_TÅ«rei_Wenerei_TÄite_Paraire_HÄtarei'.split('_'), + weekdaysShort: 'Ta_Ma_TÅ«_We_TÄi_Pa_HÄ'.split('_'), + weekdaysMin: 'Ta_Ma_TÅ«_We_TÄi_Pa_HÄ'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY [i] HH:mm', + LLLL: 'dddd, D MMMM YYYY [i] HH:mm' + }, + calendar: { + sameDay: '[i teie mahana, i] LT', + nextDay: '[apopo i] LT', + nextWeek: 'dddd [i] LT', + lastDay: '[inanahi i] LT', + lastWeek: 'dddd [whakamutunga i] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'i roto i %s', + past: '%s i mua', + s: 'te hÄ“kona ruarua', + ss: '%d hÄ“kona', + m: 'he meneti', + mm: '%d meneti', + h: 'te haora', + hh: '%d haora', + d: 'he ra', + dd: '%d ra', + M: 'he marama', + MM: '%d marama', + y: 'he tau', + yy: '%d tau' + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('mk', { + months : 'јануари_февруари_март_април_мај_јуни_јули_авгуÑÑ‚_Ñептември_октомври_ноември_декември'.split('_'), + monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_Ñеп_окт_ное_дек'.split('_'), + weekdays : 'недела_понеделник_вторник_Ñреда_четврток_петок_Ñабота'.split('_'), + weekdaysShort : 'нед_пон_вто_Ñре_чет_пет_Ñаб'.split('_'), + weekdaysMin : 'нe_пo_вт_ÑÑ€_че_пе_Ña'.split('_'), + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'D.MM.YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY H:mm', + LLLL : 'dddd, D MMMM YYYY H:mm' + }, + calendar : { + sameDay : '[Ð”ÐµÐ½ÐµÑ Ð²Ð¾] LT', + nextDay : '[Утре во] LT', + nextWeek : '[Во] dddd [во] LT', + lastDay : '[Вчера во] LT', + lastWeek : function () { + switch (this.day()) { + case 0: + case 3: + case 6: + return '[Изминатата] dddd [во] LT'; + case 1: + case 2: + case 4: + case 5: + return '[Изминатиот] 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 (number) { + var lastDigit = number % 10, + last2Digits = number % 100; + if (number === 0) { + return number + '-ев'; + } else if (last2Digits === 0) { + return number + '-ен'; + } else if (last2Digits > 10 && last2Digits < 20) { + return number + '-ти'; + } else if (lastDigit === 1) { + return number + '-ви'; + } else if (lastDigit === 2) { + return number + '-ри'; + } else if (lastDigit === 7 || lastDigit === 8) { + return number + '-ми'; + } else { + return number + '-ти'; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('ml', { + months : 'ജനàµà´µà´°à´¿_ഫെബàµà´°àµà´µà´°à´¿_മാർചàµà´šàµ_à´à´ªàµà´°à´¿àµ½_മേയàµ_ജൂൺ_ജൂലൈ_à´“à´—à´¸àµà´±àµà´±àµ_സെപàµà´±àµà´±à´‚ബർ_à´’à´•àµà´Ÿàµ‹à´¬àµ¼_നവംബർ_ഡിസംബർ'.split('_'), + monthsShort : 'ജനàµ._ഫെബàµà´°àµ._മാർ._à´à´ªàµà´°à´¿._മേയàµ_ജൂൺ_ജൂലൈ._à´“à´—._സെപàµà´±àµà´±._à´’à´•àµà´Ÿàµ‹._നവം._ഡിസം.'.split('_'), + monthsParseExact : true, + 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 : 'അൽപ നിമിഷങàµà´™àµ¾', + ss : '%d സെകàµà´•ൻഡàµ', + m : 'ഒരൠമിനിറàµà´±àµ', + mm : '%d മിനിറàµà´±àµ', + h : 'ഒരൠമണികàµà´•ൂർ', + hh : '%d മണികàµà´•ൂർ', + d : 'ഒരൠദിവസം', + dd : '%d ദിവസം', + M : 'ഒരൠമാസം', + MM : '%d മാസം', + y : 'ഒരൠവർഷം', + yy : '%d വർഷം' + }, + meridiemParse: /രാതàµà´°à´¿|രാവിലെ|ഉചàµà´š à´•à´´à´¿à´žàµà´žàµ|വൈകàµà´¨àµà´¨àµ‡à´°à´‚|രാതàµà´°à´¿/i, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if ((meridiem === 'രാതàµà´°à´¿' && hour >= 4) || + meridiem === 'ഉചàµà´š à´•à´´à´¿à´žàµà´žàµ' || + meridiem === 'വൈകàµà´¨àµà´¨àµ‡à´°à´‚') { + return hour + 12; + } else { + return hour; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'രാതàµà´°à´¿'; + } else if (hour < 12) { + return 'രാവിലെ'; + } else if (hour < 17) { + return 'ഉചàµà´š à´•à´´à´¿à´žàµà´žàµ'; + } else if (hour < 20) { + return 'വൈകàµà´¨àµà´¨àµ‡à´°à´‚'; + } else { + return 'രാതàµà´°à´¿'; + } + } + }); + + //! moment.js locale configuration + + function translate$7(number, withoutSuffix, key, isFuture) { + switch (key) { + case 's': + return withoutSuffix ? 'Ñ…ÑдхÑн Ñекунд' : 'Ñ…ÑдхÑн Ñекундын'; + case 'ss': + return number + (withoutSuffix ? ' Ñекунд' : ' Ñекундын'); + case 'm': + case 'mm': + return number + (withoutSuffix ? ' минут' : ' минутын'); + case 'h': + case 'hh': + return number + (withoutSuffix ? ' цаг' : ' цагийн'); + case 'd': + case 'dd': + return number + (withoutSuffix ? ' өдөр' : ' өдрийн'); + case 'M': + case 'MM': + return number + (withoutSuffix ? ' Ñар' : ' Ñарын'); + case 'y': + case 'yy': + return number + (withoutSuffix ? ' жил' : ' жилийн'); + default: + return number; + } + } + + hooks.defineLocale('mn', { + months : 'ÐÑгдүгÑÑÑ€ Ñар_Хоёрдугаар Ñар_Гуравдугаар Ñар_ДөрөвдүгÑÑÑ€ Ñар_Тавдугаар Ñар_Зургадугаар Ñар_Долдугаар Ñар_Ðаймдугаар Ñар_ЕÑдүгÑÑÑ€ Ñар_Ðравдугаар Ñар_Ðрван нÑгдүгÑÑÑ€ Ñар_Ðрван хоёрдугаар Ñар'.split('_'), + monthsShort : '1 Ñар_2 Ñар_3 Ñар_4 Ñар_5 Ñар_6 Ñар_7 Ñар_8 Ñар_9 Ñар_10 Ñар_11 Ñар_12 Ñар'.split('_'), + monthsParseExact : true, + weekdays : 'ÐÑм_Даваа_МÑгмар_Лхагва_ПүрÑв_БааÑан_БÑмба'.split('_'), + weekdaysShort : 'ÐÑм_Дав_МÑг_Лха_Пүр_Баа_БÑм'.split('_'), + weekdaysMin : 'ÐÑ_Да_МÑ_Лх_Пү_Ба_БÑ'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY-MM-DD', + LL : 'YYYY оны MMMMын D', + LLL : 'YYYY оны MMMMын D HH:mm', + LLLL : 'dddd, YYYY оны MMMMын D HH:mm' + }, + meridiemParse: /Ò®Ó¨|ҮХ/i, + isPM : function (input) { + return input === 'ҮХ'; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'Ò®Ó¨'; + } else { + return 'ҮХ'; + } + }, + calendar : { + sameDay : '[Өнөөдөр] LT', + nextDay : '[Маргааш] LT', + nextWeek : '[ИрÑÑ…] dddd LT', + lastDay : '[Өчигдөр] LT', + lastWeek : '[ӨнгөрÑөн] dddd LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s дараа', + past : '%s өмнө', + s : translate$7, + ss : translate$7, + m : translate$7, + mm : translate$7, + h : translate$7, + hh : translate$7, + d : translate$7, + dd : translate$7, + M : translate$7, + MM : translate$7, + y : translate$7, + yy : translate$7 + }, + dayOfMonthOrdinalParse: /\d{1,2} өдөр/, + ordinal : function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + ' өдөр'; + default: + return number; + } + } + }); + + //! moment.js locale configuration + + var symbolMap$b = { + '1': '१', + '2': '२', + '3': '३', + '4': '४', + '5': '५', + '6': '६', + '7': 'à¥', + '8': '८', + '9': '९', + '0': '०' + }, + numberMap$a = { + '१': '1', + '२': '2', + '३': '3', + '४': '4', + '५': '5', + '६': '6', + 'à¥': '7', + '८': '8', + '९': '9', + '०': '0' + }; + + function relativeTimeMr(number, withoutSuffix, string, isFuture) + { + var output = ''; + if (withoutSuffix) { + switch (string) { + case 's': output = 'काही सेकंद'; break; + case 'ss': output = '%d सेकंद'; break; + case 'm': output = 'à¤à¤• मिनिट'; break; + case 'mm': output = '%d मिनिटे'; break; + case 'h': output = 'à¤à¤• तास'; break; + case 'hh': output = '%d तास'; break; + case 'd': output = 'à¤à¤• दिवस'; break; + case 'dd': output = '%d दिवस'; break; + case 'M': output = 'à¤à¤• महिना'; break; + case 'MM': output = '%d महिने'; break; + case 'y': output = 'à¤à¤• वरà¥à¤·'; break; + case 'yy': output = '%d वरà¥à¤·à¥‡'; break; + } + } + else { + switch (string) { + case 's': output = 'काही सेकंदां'; break; + case 'ss': output = '%d सेकंदां'; break; + case 'm': output = 'à¤à¤•ा मिनिटा'; break; + case 'mm': output = '%d मिनिटां'; break; + case 'h': output = 'à¤à¤•ा तासा'; break; + case 'hh': output = '%d तासां'; break; + case 'd': output = 'à¤à¤•ा दिवसा'; break; + case 'dd': output = '%d दिवसां'; break; + case 'M': output = 'à¤à¤•ा महिनà¥à¤¯à¤¾'; break; + case 'MM': output = '%d महिनà¥à¤¯à¤¾à¤‚'; break; + case 'y': output = 'à¤à¤•ा वरà¥à¤·à¤¾'; break; + case 'yy': output = '%d वरà¥à¤·à¤¾à¤‚'; break; + } + } + return output.replace(/%d/i, number); + } + + hooks.defineLocale('mr', { + months : 'जानेवारी_फेबà¥à¤°à¥à¤µà¤¾à¤°à¥€_मारà¥à¤š_à¤à¤ªà¥à¤°à¤¿à¤²_मे_जून_जà¥à¤²à¥ˆ_ऑगसà¥à¤Ÿ_सपà¥à¤Ÿà¥‡à¤‚बर_ऑकà¥à¤Ÿà¥‹à¤¬à¤°_नोवà¥à¤¹à¥‡à¤‚बर_डिसेंबर'.split('_'), + monthsShort: 'जाने._फेबà¥à¤°à¥._मारà¥à¤š._à¤à¤ªà¥à¤°à¤¿._मे._जून._जà¥à¤²à¥ˆ._ऑग._सपà¥à¤Ÿà¥‡à¤‚._ऑकà¥à¤Ÿà¥‹._नोवà¥à¤¹à¥‡à¤‚._डिसें.'.split('_'), + monthsParseExact : true, + 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: relativeTimeMr, + ss: relativeTimeMr, + m: relativeTimeMr, + mm: relativeTimeMr, + h: relativeTimeMr, + hh: relativeTimeMr, + d: relativeTimeMr, + dd: relativeTimeMr, + M: relativeTimeMr, + MM: relativeTimeMr, + y: relativeTimeMr, + yy: relativeTimeMr + }, + preparse: function (string) { + return string.replace(/[१२३४५६à¥à¥®à¥¯à¥¦]/g, function (match) { + return numberMap$a[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$b[match]; + }); + }, + meridiemParse: /रातà¥à¤°à¥€|सकाळी|दà¥à¤ªà¤¾à¤°à¥€|सायंकाळी/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'रातà¥à¤°à¥€') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'सकाळी') { + return hour; + } else if (meridiem === 'दà¥à¤ªà¤¾à¤°à¥€') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'सायंकाळी') { + return hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'रातà¥à¤°à¥€'; + } else if (hour < 10) { + return 'सकाळी'; + } else if (hour < 17) { + return 'दà¥à¤ªà¤¾à¤°à¥€'; + } else if (hour < 20) { + return 'सायंकाळी'; + } else { + return 'रातà¥à¤°à¥€'; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('ms-my', { + months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'), + monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), + weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), + weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), + weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), + longDateFormat : { + LT : 'HH.mm', + LTS : 'HH.mm.ss', + L : 'DD/MM/YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY [pukul] HH.mm', + LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm' + }, + meridiemParse: /pagi|tengahari|petang|malam/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'pagi') { + return hour; + } else if (meridiem === 'tengahari') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'petang' || meridiem === 'malam') { + return hour + 12; + } + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 11) { + return 'pagi'; + } else if (hours < 15) { + return 'tengahari'; + } else if (hours < 19) { + return 'petang'; + } else { + return 'malam'; + } + }, + calendar : { + sameDay : '[Hari ini pukul] LT', + nextDay : '[Esok pukul] LT', + nextWeek : 'dddd [pukul] LT', + lastDay : '[Kelmarin pukul] LT', + lastWeek : 'dddd [lepas pukul] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'dalam %s', + past : '%s yang lepas', + s : 'beberapa saat', + ss : '%d saat', + m : 'seminit', + mm : '%d minit', + h : 'sejam', + hh : '%d jam', + d : 'sehari', + dd : '%d hari', + M : 'sebulan', + MM : '%d bulan', + y : 'setahun', + yy : '%d tahun' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('ms', { + months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'), + monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), + weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), + weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), + weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), + longDateFormat : { + LT : 'HH.mm', + LTS : 'HH.mm.ss', + L : 'DD/MM/YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY [pukul] HH.mm', + LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm' + }, + meridiemParse: /pagi|tengahari|petang|malam/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'pagi') { + return hour; + } else if (meridiem === 'tengahari') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'petang' || meridiem === 'malam') { + return hour + 12; + } + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 11) { + return 'pagi'; + } else if (hours < 15) { + return 'tengahari'; + } else if (hours < 19) { + return 'petang'; + } else { + return 'malam'; + } + }, + calendar : { + sameDay : '[Hari ini pukul] LT', + nextDay : '[Esok pukul] LT', + nextWeek : 'dddd [pukul] LT', + lastDay : '[Kelmarin pukul] LT', + lastWeek : 'dddd [lepas pukul] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'dalam %s', + past : '%s yang lepas', + s : 'beberapa saat', + ss : '%d saat', + m : 'seminit', + mm : '%d minit', + h : 'sejam', + hh : '%d jam', + d : 'sehari', + dd : '%d hari', + M : 'sebulan', + MM : '%d bulan', + y : 'setahun', + yy : '%d tahun' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('mt', { + months : 'Jannar_Frar_Marzu_April_Mejju_Ä unju_Lulju_Awwissu_Settembru_Ottubru_Novembru_DiÄ‹embru'.split('_'), + monthsShort : 'Jan_Fra_Mar_Apr_Mej_Ä un_Lul_Aww_Set_Ott_Nov_DiÄ‹'.split('_'), + weekdays : 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ä imgħa_Is-Sibt'.split('_'), + weekdaysShort : 'Ħad_Tne_Tli_Erb_Ħam_Ä im_Sib'.split('_'), + weekdaysMin : 'Ħa_Tn_Tl_Er_Ħa_Ä i_Si'.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 : '[Illum fil-]LT', + nextDay : '[Għada fil-]LT', + nextWeek : 'dddd [fil-]LT', + lastDay : '[Il-bieraħ fil-]LT', + lastWeek : 'dddd [li għadda] [fil-]LT', + sameElse : 'L' + }, + relativeTime : { + future : 'f’ %s', + past : '%s ilu', + s : 'ftit sekondi', + ss : '%d sekondi', + m : 'minuta', + mm : '%d minuti', + h : 'siegħa', + hh : '%d siegħat', + d : 'Ä¡urnata', + dd : '%d Ä¡ranet', + M : 'xahar', + MM : '%d xhur', + y : 'sena', + yy : '%d sni' + }, + dayOfMonthOrdinalParse : /\d{1,2}º/, + ordinal: '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var symbolMap$c = { + '1': 'á', + '2': 'á‚', + '3': 'áƒ', + '4': 'á„', + '5': 'á…', + '6': 'á†', + '7': 'á‡', + '8': 'áˆ', + '9': 'á‰', + '0': 'á€' + }, numberMap$b = { + 'á': '1', + 'á‚': '2', + 'áƒ': '3', + 'á„': '4', + 'á…': '5', + 'á†': '6', + 'á‡': '7', + 'áˆ': '8', + 'á‰': '9', + 'á€': '0' + }; + + hooks.defineLocale('my', { + 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 နှစ်' + }, + preparse: function (string) { + return string.replace(/[áá‚áƒá„á…á†á‡áˆá‰á€]/g, function (match) { + return numberMap$b[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$c[match]; + }); + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('nb', { + months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'), + monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'), + monthsParseExact : true, + weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), + weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'), + weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD.MM.YYYY', + LL : 'D. MMMM YYYY', + LLL : 'D. MMMM YYYY [kl.] HH:mm', + LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm' + }, + calendar : { + sameDay: '[i dag kl.] LT', + nextDay: '[i morgen kl.] LT', + nextWeek: 'dddd [kl.] LT', + lastDay: '[i gÃ¥r kl.] LT', + lastWeek: '[forrige] dddd [kl.] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'om %s', + past : '%s siden', + s : 'noen sekunder', + ss : '%d sekunder', + m : 'ett minutt', + mm : '%d minutter', + h : 'en time', + hh : '%d timer', + d : 'en dag', + dd : '%d dager', + M : 'en mÃ¥ned', + MM : '%d mÃ¥neder', + y : 'ett Ã¥r', + yy : '%d Ã¥r' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var symbolMap$d = { + '1': '१', + '2': '२', + '3': '३', + '4': '४', + '5': '५', + '6': '६', + '7': 'à¥', + '8': '८', + '9': '९', + '0': '०' + }, + numberMap$c = { + '१': '1', + '२': '2', + '३': '3', + '४': '4', + '५': '5', + '६': '6', + 'à¥': '7', + '८': '8', + '९': '9', + '०': '0' + }; + + hooks.defineLocale('ne', { + months : 'जनवरी_फेबà¥à¤°à¥à¤µà¤°à¥€_मारà¥à¤š_अपà¥à¤°à¤¿à¤²_मई_जà¥à¤¨_जà¥à¤²à¤¾à¤ˆ_अगषà¥à¤Ÿ_सेपà¥à¤Ÿà¥‡à¤®à¥à¤¬à¤°_अकà¥à¤Ÿà¥‹à¤¬à¤°_नोà¤à¥‡à¤®à¥à¤¬à¤°_डिसेमà¥à¤¬à¤°'.split('_'), + monthsShort : 'जन._फेबà¥à¤°à¥._मारà¥à¤š_अपà¥à¤°à¤¿._मई_जà¥à¤¨_जà¥à¤²à¤¾à¤ˆ._अग._सेपà¥à¤Ÿ._अकà¥à¤Ÿà¥‹._नोà¤à¥‡._डिसे.'.split('_'), + monthsParseExact : true, + weekdays : 'आइतबार_सोमबार_मङà¥à¤—लबार_बà¥à¤§à¤¬à¤¾à¤°_बिहिबार_शà¥à¤•à¥à¤°à¤¬à¤¾à¤°_शनिबार'.split('_'), + weekdaysShort : 'आइत._सोम._मङà¥à¤—ल._बà¥à¤§._बिहि._शà¥à¤•à¥à¤°._शनि.'.split('_'), + weekdaysMin : 'आ._सो._मं._बà¥._बि._शà¥._श.'.split('_'), + weekdaysParseExact : true, + 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 (string) { + return string.replace(/[१२३४५६à¥à¥®à¥¯à¥¦]/g, function (match) { + return numberMap$c[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$d[match]; + }); + }, + meridiemParse: /राति|बिहान|दिउà¤à¤¸à¥‹|साà¤à¤/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'राति') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'बिहान') { + return hour; + } else if (meridiem === 'दिउà¤à¤¸à¥‹') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'साà¤à¤') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 3) { + return 'राति'; + } else if (hour < 12) { + return 'बिहान'; + } else if (hour < 16) { + return 'दिउà¤à¤¸à¥‹'; + } else if (hour < 20) { + return 'साà¤à¤'; + } else { + return 'राति'; + } + }, + 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, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var monthsShortWithDots$1 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'), + monthsShortWithoutDots$1 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'); + + var monthsParse$4 = [/^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]; + var monthsRegex$5 = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; + + hooks.defineLocale('nl-be', { + months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'), + monthsShort : function (m, format) { + if (!m) { + return monthsShortWithDots$1; + } else if (/-MMM-/.test(format)) { + return monthsShortWithoutDots$1[m.month()]; + } else { + return monthsShortWithDots$1[m.month()]; + } + }, + + monthsRegex: monthsRegex$5, + monthsShortRegex: monthsRegex$5, + monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, + monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, + + monthsParse : monthsParse$4, + longMonthsParse : monthsParse$4, + shortMonthsParse : monthsParse$4, + + 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 : true, + 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 (number) { + return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var monthsShortWithDots$2 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'), + monthsShortWithoutDots$2 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'); + + var monthsParse$5 = [/^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]; + var monthsRegex$6 = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; + + hooks.defineLocale('nl', { + months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'), + monthsShort : function (m, format) { + if (!m) { + return monthsShortWithDots$2; + } else if (/-MMM-/.test(format)) { + return monthsShortWithoutDots$2[m.month()]; + } else { + return monthsShortWithDots$2[m.month()]; + } + }, + + monthsRegex: monthsRegex$6, + monthsShortRegex: monthsRegex$6, + monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, + monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, + + monthsParse : monthsParse$5, + longMonthsParse : monthsParse$5, + shortMonthsParse : monthsParse$5, + + 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 : true, + 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 (number) { + return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('nn', { + months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'), + monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), + weekdays : 'sundag_mÃ¥ndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'), + weekdaysShort : 'sun_mÃ¥n_tys_ons_tor_fre_lau'.split('_'), + weekdaysMin : 'su_mÃ¥_ty_on_to_fr_lø'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD.MM.YYYY', + LL : 'D. MMMM YYYY', + LLL : 'D. MMMM YYYY [kl.] H:mm', + LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm' + }, + calendar : { + sameDay: '[I dag klokka] LT', + nextDay: '[I morgon klokka] LT', + nextWeek: 'dddd [klokka] LT', + lastDay: '[I gÃ¥r klokka] LT', + lastWeek: '[FøregÃ¥ande] dddd [klokka] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'om %s', + past : '%s sidan', + s : 'nokre sekund', + ss : '%d sekund', + m : 'eit minutt', + mm : '%d minutt', + h : 'ein time', + hh : '%d timar', + d : 'ein dag', + dd : '%d dagar', + M : 'ein mÃ¥nad', + MM : '%d mÃ¥nader', + y : 'eit Ã¥r', + yy : '%d Ã¥r' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var symbolMap$e = { + '1': 'à©§', + '2': '੨', + '3': 'à©©', + '4': '੪', + '5': 'à©«', + '6': '੬', + '7': 'à©', + '8': 'à©®', + '9': '੯', + '0': '੦' + }, + numberMap$d = { + 'à©§': '1', + '੨': '2', + 'à©©': '3', + '੪': '4', + 'à©«': '5', + '੬': '6', + 'à©': '7', + 'à©®': '8', + '੯': '9', + '੦': '0' + }; + + hooks.defineLocale('pa-in', { + // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi. + months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪà©à¨°à©ˆà¨²_ਮਈ_ਜੂਨ_ਜà©à¨²à¨¾à¨ˆ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'), + monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪà©à¨°à©ˆà¨²_ਮਈ_ਜੂਨ_ਜà©à¨²à¨¾à¨ˆ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'), + 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 : 'ਕà©à¨ ਸਕਿੰਟ', + ss : '%d ਸਕਿੰਟ', + m : 'ਇਕ ਮਿੰਟ', + mm : '%d ਮਿੰਟ', + h : 'ਇੱਕ ਘੰਟਾ', + hh : '%d ਘੰਟੇ', + d : 'ਇੱਕ ਦਿਨ', + dd : '%d ਦਿਨ', + M : 'ਇੱਕ ਮਹੀਨਾ', + MM : '%d ਮਹੀਨੇ', + y : 'ਇੱਕ ਸਾਲ', + yy : '%d ਸਾਲ' + }, + preparse: function (string) { + return string.replace(/[੧੨੩੪੫੬à©à©®à©¯à©¦]/g, function (match) { + return numberMap$d[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$e[match]; + }); + }, + // Punjabi notation for meridiems are quite fuzzy in practice. While there exists + // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi. + meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦà©à¨ªà¨¹à¨¿à¨°|ਸ਼ਾਮ/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'ਰਾਤ') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'ਸਵੇਰ') { + return hour; + } else if (meridiem === 'ਦà©à¨ªà¨¹à¨¿à¨°') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'ਸ਼ਾਮ') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'ਰਾਤ'; + } else if (hour < 10) { + return 'ਸਵੇਰ'; + } else if (hour < 17) { + return 'ਦà©à¨ªà¨¹à¨¿à¨°'; + } else if (hour < 20) { + return 'ਸ਼ਾਮ'; + } else { + return 'ਰਾਤ'; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var monthsNominative = 'styczeÅ„_luty_marzec_kwiecieÅ„_maj_czerwiec_lipiec_sierpieÅ„_wrzesieÅ„_październik_listopad_grudzieÅ„'.split('_'), + monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrzeÅ›nia_października_listopada_grudnia'.split('_'); + function plural$3(n) { + return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1); + } + function translate$8(number, withoutSuffix, key) { + var result = number + ' '; + switch (key) { + case 'ss': + return result + (plural$3(number) ? 'sekundy' : 'sekund'); + case 'm': + return withoutSuffix ? 'minuta' : 'minutÄ™'; + case 'mm': + return result + (plural$3(number) ? 'minuty' : 'minut'); + case 'h': + return withoutSuffix ? 'godzina' : 'godzinÄ™'; + case 'hh': + return result + (plural$3(number) ? 'godziny' : 'godzin'); + case 'MM': + return result + (plural$3(number) ? 'miesiÄ…ce' : 'miesiÄ™cy'); + case 'yy': + return result + (plural$3(number) ? 'lata' : 'lat'); + } + } + + hooks.defineLocale('pl', { + months : function (momentToFormat, format) { + if (!momentToFormat) { + return monthsNominative; + } else if (format === '') { + // Hack: if format empty we know this is used to generate + // RegExp by moment. Give then back both valid forms of months + // in RegExp ready format. + return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')'; + } else if (/D MMMM/.test(format)) { + return monthsSubjective[momentToFormat.month()]; + } else { + return monthsNominative[momentToFormat.month()]; + } + }, + 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 : translate$8, + m : translate$8, + mm : translate$8, + h : translate$8, + hh : translate$8, + d : '1 dzieÅ„', + dd : '%d dni', + M : 'miesiÄ…c', + MM : translate$8, + y : 'rok', + yy : translate$8 + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('pt-br', { + months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'), + monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), + weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'), + weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), + weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD/MM/YYYY', + LL : 'D [de] MMMM [de] YYYY', + LLL : 'D [de] MMMM [de] YYYY [à s] HH:mm', + LLLL : 'dddd, D [de] MMMM [de] YYYY [à s] HH:mm' + }, + calendar : { + sameDay: '[Hoje à s] LT', + nextDay: '[Amanhã à s] LT', + nextWeek: 'dddd [à s] LT', + lastDay: '[Ontem à s] LT', + lastWeek: function () { + return (this.day() === 0 || this.day() === 6) ? + '[Último] dddd [à s] LT' : // Saturday + Sunday + '[Última] dddd [à s] LT'; // Monday - Friday + }, + sameElse: 'L' + }, + relativeTime : { + future : 'em %s', + past : 'há %s', + s : 'poucos segundos', + ss : '%d segundos', + m : 'um minuto', + mm : '%d minutos', + h : 'uma hora', + hh : '%d horas', + d : 'um dia', + dd : '%d dias', + M : 'um mês', + MM : '%d meses', + y : 'um ano', + yy : '%d anos' + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal : '%dº' + }); + + //! moment.js locale configuration + + hooks.defineLocale('pt', { + months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'), + monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), + weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'), + weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), + weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD/MM/YYYY', + LL : 'D [de] MMMM [de] YYYY', + LLL : 'D [de] MMMM [de] YYYY HH:mm', + LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm' + }, + calendar : { + sameDay: '[Hoje à s] LT', + nextDay: '[Amanhã à s] LT', + nextWeek: 'dddd [à s] LT', + lastDay: '[Ontem à s] LT', + lastWeek: function () { + return (this.day() === 0 || this.day() === 6) ? + '[Último] dddd [à s] LT' : // Saturday + Sunday + '[Última] dddd [à s] LT'; // Monday - Friday + }, + sameElse: 'L' + }, + relativeTime : { + future : 'em %s', + past : 'há %s', + s : 'segundos', + ss : '%d segundos', + m : 'um minuto', + mm : '%d minutos', + h : 'uma hora', + hh : '%d horas', + d : 'um dia', + dd : '%d dias', + M : 'um mês', + MM : '%d meses', + y : 'um ano', + yy : '%d anos' + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal : '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function relativeTimeWithPlural$2(number, withoutSuffix, key) { + var format = { + 'ss': 'secunde', + 'mm': 'minute', + 'hh': 'ore', + 'dd': 'zile', + 'MM': 'luni', + 'yy': 'ani' + }, + separator = ' '; + if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) { + separator = ' de '; + } + return number + separator + format[key]; + } + + hooks.defineLocale('ro', { + months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'), + monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'), + monthsParseExact: true, + weekdays : 'duminică_luni_marÈ›i_miercuri_joi_vineri_sâmbătă'.split('_'), + weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'), + weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'), + 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: '[azi la] LT', + nextDay: '[mâine la] LT', + nextWeek: 'dddd [la] LT', + lastDay: '[ieri la] LT', + lastWeek: '[fosta] dddd [la] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'peste %s', + past : '%s în urmă', + s : 'câteva secunde', + ss : relativeTimeWithPlural$2, + m : 'un minut', + mm : relativeTimeWithPlural$2, + h : 'o oră', + hh : relativeTimeWithPlural$2, + d : 'o zi', + dd : relativeTimeWithPlural$2, + M : 'o lună', + MM : relativeTimeWithPlural$2, + y : 'un an', + yy : relativeTimeWithPlural$2 + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function plural$4(word, num) { + var forms = word.split('_'); + return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]); + } + function relativeTimeWithPlural$3(number, withoutSuffix, key) { + var format = { + 'ss': withoutSuffix ? 'Ñекунда_Ñекунды_Ñекунд' : 'Ñекунду_Ñекунды_Ñекунд', + 'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут', + 'hh': 'чаÑ_чаÑа_чаÑов', + 'dd': 'день_днÑ_дней', + 'MM': 'меÑÑц_меÑÑца_меÑÑцев', + 'yy': 'год_года_лет' + }; + if (key === 'm') { + return withoutSuffix ? 'минута' : 'минуту'; + } + else { + return number + ' ' + plural$4(format[key], +number); + } + } + var monthsParse$6 = [/^Ñнв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йÑ]/i, /^июн/i, /^июл/i, /^авг/i, /^Ñен/i, /^окт/i, /^ноÑ/i, /^дек/i]; + + // http://new.gramota.ru/spravka/rules/139-prop : § 103 + // Ð¡Ð¾ÐºÑ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð¼ÐµÑÑцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637 + // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753 + hooks.defineLocale('ru', { + months : { + format: 'ÑнварÑ_февралÑ_марта_апрелÑ_маÑ_июнÑ_июлÑ_авгуÑта_ÑентÑбрÑ_октÑбрÑ_ноÑбрÑ_декабрÑ'.split('_'), + standalone: 'Ñнварь_февраль_март_апрель_май_июнь_июль_авгуÑÑ‚_ÑентÑбрь_октÑбрь_ноÑбрь_декабрь'.split('_') + }, + monthsShort : { + // по CLDR именно "июл." и "июн.", но какой ÑмыÑл менÑть букву на точку ? + format: 'Ñнв._февр._мар._апр._маÑ_июнÑ_июлÑ_авг._Ñент._окт._ноÑб._дек.'.split('_'), + standalone: 'Ñнв._февр._март_апр._май_июнь_июль_авг._Ñент._окт._ноÑб._дек.'.split('_') + }, + weekdays : { + standalone: 'воÑкреÑенье_понедельник_вторник_Ñреда_четверг_пÑтница_Ñуббота'.split('_'), + format: 'воÑкреÑенье_понедельник_вторник_Ñреду_четверг_пÑтницу_Ñубботу'.split('_'), + isFormat: /\[ ?[Вв] ?(?:прошлую|Ñледующую|Ñту)? ?\] ?dddd/ + }, + weekdaysShort : 'вÑ_пн_вт_ÑÑ€_чт_пт_Ñб'.split('_'), + weekdaysMin : 'вÑ_пн_вт_ÑÑ€_чт_пт_Ñб'.split('_'), + monthsParse : monthsParse$6, + longMonthsParse : monthsParse$6, + shortMonthsParse : monthsParse$6, + + // полные Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ð°Ð´ÐµÐ¶Ð°Ð¼Ð¸, по три буквы, Ð´Ð»Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ…, по 4 буквы, ÑÐ¾ÐºÑ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ñ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹ и без точки + monthsRegex: /^(Ñнвар[ÑŒÑ]|Ñнв\.?|феврал[ÑŒÑ]|февр?\.?|марта?|мар\.?|апрел[ÑŒÑ]|апр\.?|ма[йÑ]|июн[ÑŒÑ]|июн\.?|июл[ÑŒÑ]|июл\.?|авгуÑта?|авг\.?|ÑентÑбр[ÑŒÑ]|Ñент?\.?|октÑбр[ÑŒÑ]|окт\.?|ноÑбр[ÑŒÑ]|ноÑб?\.?|декабр[ÑŒÑ]|дек\.?)/i, + + // ÐºÐ¾Ð¿Ð¸Ñ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ³Ð¾ + monthsShortRegex: /^(Ñнвар[ÑŒÑ]|Ñнв\.?|феврал[ÑŒÑ]|февр?\.?|марта?|мар\.?|апрел[ÑŒÑ]|апр\.?|ма[йÑ]|июн[ÑŒÑ]|июн\.?|июл[ÑŒÑ]|июл\.?|авгуÑта?|авг\.?|ÑентÑбр[ÑŒÑ]|Ñент?\.?|октÑбр[ÑŒÑ]|окт\.?|ноÑбр[ÑŒÑ]|ноÑб?\.?|декабр[ÑŒÑ]|дек\.?)/i, + + // полные Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ð°Ð´ÐµÐ¶Ð°Ð¼Ð¸ + monthsStrictRegex: /^(Ñнвар[ÑÑŒ]|феврал[ÑÑŒ]|марта?|апрел[ÑÑŒ]|ма[Ñй]|июн[ÑÑŒ]|июл[ÑÑŒ]|авгуÑта?|ÑентÑбр[ÑÑŒ]|октÑбр[ÑÑŒ]|ноÑбр[ÑÑŒ]|декабр[ÑÑŒ])/i, + + // Выражение, которое ÑоотвеÑтвует только Ñокращённым формам + monthsShortStrictRegex: /^(Ñнв\.|февр?\.|мар[Ñ‚.]|апр\.|ма[Ñй]|июн[ÑŒÑ.]|июл[ÑŒÑ.]|авг\.|Ñент?\.|окт\.|ноÑб?\.|дек\.)/i, + 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: '[СегоднÑ, в] LT', + nextDay: '[Завтра, в] LT', + lastDay: '[Вчера, в] LT', + nextWeek: function (now) { + if (now.week() !== this.week()) { + switch (this.day()) { + case 0: + return '[Ð’ Ñледующее] dddd, [в] LT'; + case 1: + case 2: + case 4: + return '[Ð’ Ñледующий] dddd, [в] LT'; + case 3: + case 5: + case 6: + return '[Ð’ Ñледующую] dddd, [в] LT'; + } + } else { + if (this.day() === 2) { + return '[Во] dddd, [в] LT'; + } else { + return '[Ð’] dddd, [в] LT'; + } + } + }, + lastWeek: function (now) { + if (now.week() !== this.week()) { + switch (this.day()) { + case 0: + return '[Ð’ прошлое] dddd, [в] LT'; + case 1: + case 2: + case 4: + return '[Ð’ прошлый] dddd, [в] LT'; + case 3: + case 5: + case 6: + return '[Ð’ прошлую] dddd, [в] LT'; + } + } else { + if (this.day() === 2) { + return '[Во] dddd, [в] LT'; + } else { + return '[Ð’] dddd, [в] LT'; + } + } + }, + sameElse: 'L' + }, + relativeTime : { + future : 'через %s', + past : '%s назад', + s : 'неÑколько Ñекунд', + ss : relativeTimeWithPlural$3, + m : relativeTimeWithPlural$3, + mm : relativeTimeWithPlural$3, + h : 'чаÑ', + hh : relativeTimeWithPlural$3, + d : 'день', + dd : relativeTimeWithPlural$3, + M : 'меÑÑц', + MM : relativeTimeWithPlural$3, + y : 'год', + yy : relativeTimeWithPlural$3 + }, + meridiemParse: /ночи|утра|днÑ|вечера/i, + isPM : function (input) { + return /^(днÑ|вечера)$/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'ночи'; + } else if (hour < 12) { + return 'утра'; + } else if (hour < 17) { + return 'днÑ'; + } else { + return 'вечера'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(й|го|Ñ)/, + ordinal: function (number, period) { + switch (period) { + case 'M': + case 'd': + case 'DDD': + return number + '-й'; + case 'D': + return number + '-го'; + case 'w': + case 'W': + return number + '-Ñ'; + default: + return number; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var months$8 = [ + 'جنوري', + 'Ùيبروري', + 'مارچ', + 'اپريل', + 'مئي', + 'جون', + 'جولاءÙ', + 'آگسٽ', + 'سيپٽمبر', + 'آڪٽوبر', + 'نومبر', + 'ڊسمبر' + ]; + var days$1 = [ + 'آچر', + 'سومر', + 'اڱارو', + 'اربع', + 'خميس', + 'جمع', + 'ڇنڇر' + ]; + + hooks.defineLocale('sd', { + months : months$8, + monthsShort : months$8, + weekdays : days$1, + weekdaysShort : days$1, + weekdaysMin : days$1, + 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 (input) { + return 'شام' === input; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'صبØ'; + } + return 'شام'; + }, + 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 (string) { + return string.replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/,/g, 'ØŒ'); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.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, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + /*jshint -W100*/ + hooks.defineLocale('si', { + months : 'ජනවà·à¶»à·’_පෙබරවà·à¶»à·’_මà·à¶»à·Šà¶à·”_à¶…à¶´à·Šâ€à¶»à·šà¶½à·Š_මà·à¶ºà·’_ජූනි_ජූලි_à¶…à¶œà·à·ƒà·Šà¶à·”_à·ƒà·à¶´à·Šà¶à·à¶¸à·Šà¶¶à¶»à·Š_ඔක්à¶à·à¶¶à¶»à·Š_නොවà·à¶¸à·Šà¶¶à¶»à·Š_දෙසà·à¶¸à·Šà¶¶à¶»à·Š'.split('_'), + monthsShort : 'ජන_පෙබ_මà·à¶»à·Š_à¶…à¶´à·Š_මà·à¶ºà·’_ජූනි_ජූලි_à¶…à¶œà·_à·ƒà·à¶´à·Š_ඔක්_නොවà·_දෙසà·'.split('_'), + weekdays : 'ඉරිදà·_සඳුදà·_අඟහරුවà·à¶¯à·_බදà·à¶¯à·_à¶¶à·Šâ€à¶»à·„ස්පà¶à·’න්දà·_සිකුරà·à¶¯à·_සෙනසුරà·à¶¯à·'.split('_'), + weekdaysShort : 'ඉරි_සඳු_à¶…à¶Ÿ_බදà·_à¶¶à·Šâ€à¶»à·„_සිකු_සෙන'.split('_'), + weekdaysMin : 'ඉ_à·ƒ_à¶…_à¶¶_à¶¶à·Šâ€à¶»_සි_සෙ'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'a h:mm', + LTS : 'a h:mm:ss', + L : 'YYYY/MM/DD', + LL : 'YYYY MMMM D', + LLL : 'YYYY MMMM D, a h:mm', + LLLL : 'YYYY MMMM D [à·€à·à¶±à·’] dddd, a h:mm:ss' + }, + 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 (number) { + return number + ' à·€à·à¶±à·’'; + }, + meridiemParse : /පෙර වරු|පස් වරු|à¶´à·™.à·€|à¶´.à·€./, + isPM : function (input) { + return input === 'à¶´.à·€.' || input === 'පස් වරු'; + }, + meridiem : function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'à¶´.à·€.' : 'පස් වරු'; + } else { + return isLower ? 'à¶´à·™.à·€.' : 'පෙර වරු'; + } + } + }); + + //! moment.js locale configuration + + var months$9 = 'január_február_marec_aprÃl_máj_jún_júl_august_september_október_november_december'.split('_'), + monthsShort$6 = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_'); + function plural$5(n) { + return (n > 1) && (n < 5); + } + function translate$9(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + switch (key) { + case 's': // a few seconds / in a few seconds / a few seconds ago + return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami'; + case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago + if (withoutSuffix || isFuture) { + return result + (plural$5(number) ? 'sekundy' : 'sekúnd'); + } else { + return result + 'sekundami'; + } + break; + case 'm': // a minute / in a minute / a minute ago + return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou'); + case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago + if (withoutSuffix || isFuture) { + return result + (plural$5(number) ? 'minúty' : 'minút'); + } else { + return result + 'minútami'; + } + break; + case 'h': // an hour / in an hour / an hour ago + return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou'); + case 'hh': // 9 hours / in 9 hours / 9 hours ago + if (withoutSuffix || isFuture) { + return result + (plural$5(number) ? 'hodiny' : 'hodÃn'); + } else { + return result + 'hodinami'; + } + break; + case 'd': // a day / in a day / a day ago + return (withoutSuffix || isFuture) ? 'deň' : 'dňom'; + case 'dd': // 9 days / in 9 days / 9 days ago + if (withoutSuffix || isFuture) { + return result + (plural$5(number) ? 'dni' : 'dnÃ'); + } else { + return result + 'dňami'; + } + break; + case 'M': // a month / in a month / a month ago + return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom'; + case 'MM': // 9 months / in 9 months / 9 months ago + if (withoutSuffix || isFuture) { + return result + (plural$5(number) ? 'mesiace' : 'mesiacov'); + } else { + return result + 'mesiacmi'; + } + break; + case 'y': // a year / in a year / a year ago + return (withoutSuffix || isFuture) ? 'rok' : 'rokom'; + case 'yy': // 9 years / in 9 years / 9 years ago + if (withoutSuffix || isFuture) { + return result + (plural$5(number) ? 'roky' : 'rokov'); + } else { + return result + 'rokmi'; + } + break; + } + } + + hooks.defineLocale('sk', { + months : months$9, + monthsShort : monthsShort$6, + weekdays : 'nedeľa_pondelok_utorok_streda_Å¡tvrtok_piatok_sobota'.split('_'), + weekdaysShort : 'ne_po_ut_st_Å¡t_pi_so'.split('_'), + weekdaysMin : 'ne_po_ut_st_Å¡t_pi_so'.split('_'), + 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: '[dnes o] LT', + nextDay: '[zajtra o] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[v nedeľu o] LT'; + case 1: + case 2: + return '[v] dddd [o] LT'; + case 3: + return '[v stredu o] LT'; + case 4: + return '[vo Å¡tvrtok o] LT'; + case 5: + return '[v piatok o] LT'; + case 6: + return '[v sobotu o] LT'; + } + }, + lastDay: '[vÄera o] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[minulú nedeľu o] LT'; + case 1: + case 2: + return '[minulý] dddd [o] LT'; + case 3: + return '[minulú stredu o] LT'; + case 4: + case 5: + return '[minulý] dddd [o] LT'; + case 6: + return '[minulú sobotu o] LT'; + } + }, + sameElse: 'L' + }, + relativeTime : { + future : 'za %s', + past : 'pred %s', + s : translate$9, + ss : translate$9, + m : translate$9, + mm : translate$9, + h : translate$9, + hh : translate$9, + d : translate$9, + dd : translate$9, + M : translate$9, + MM : translate$9, + y : translate$9, + yy : translate$9 + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + function processRelativeTime$6(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + switch (key) { + case 's': + return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami'; + case 'ss': + if (number === 1) { + result += withoutSuffix ? 'sekundo' : 'sekundi'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah'; + } else { + result += 'sekund'; + } + return result; + case 'm': + return withoutSuffix ? 'ena minuta' : 'eno minuto'; + case 'mm': + if (number === 1) { + result += withoutSuffix ? 'minuta' : 'minuto'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'minuti' : 'minutama'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'minute' : 'minutami'; + } else { + result += withoutSuffix || isFuture ? 'minut' : 'minutami'; + } + return result; + case 'h': + return withoutSuffix ? 'ena ura' : 'eno uro'; + case 'hh': + if (number === 1) { + result += withoutSuffix ? 'ura' : 'uro'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'uri' : 'urama'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'ure' : 'urami'; + } else { + result += withoutSuffix || isFuture ? 'ur' : 'urami'; + } + return result; + case 'd': + return withoutSuffix || isFuture ? 'en dan' : 'enim dnem'; + case 'dd': + if (number === 1) { + result += withoutSuffix || isFuture ? 'dan' : 'dnem'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'dni' : 'dnevoma'; + } else { + result += withoutSuffix || isFuture ? 'dni' : 'dnevi'; + } + return result; + case 'M': + return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem'; + case 'MM': + if (number === 1) { + result += withoutSuffix || isFuture ? 'mesec' : 'mesecem'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'meseca' : 'mesecema'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'mesece' : 'meseci'; + } else { + result += withoutSuffix || isFuture ? 'mesecev' : 'meseci'; + } + return result; + case 'y': + return withoutSuffix || isFuture ? 'eno leto' : 'enim letom'; + case 'yy': + if (number === 1) { + result += withoutSuffix || isFuture ? 'leto' : 'letom'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'leti' : 'letoma'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'leta' : 'leti'; + } else { + result += withoutSuffix || isFuture ? 'let' : 'leti'; + } + return result; + } + } + + hooks.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: true, + 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 : true, + 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 : processRelativeTime$6, + ss : processRelativeTime$6, + m : processRelativeTime$6, + mm : processRelativeTime$6, + h : processRelativeTime$6, + hh : processRelativeTime$6, + d : processRelativeTime$6, + dd : processRelativeTime$6, + M : processRelativeTime$6, + MM : processRelativeTime$6, + y : processRelativeTime$6, + yy : processRelativeTime$6 + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('sq', { + months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'), + monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'), + weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'), + weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'), + weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'), + weekdaysParseExact : true, + meridiemParse: /PD|MD/, + isPM: function (input) { + return input.charAt(0) === 'M'; + }, + meridiem : function (hours, minutes, isLower) { + return hours < 12 ? 'PD' : 'MD'; + }, + 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 : '[Sot në] LT', + nextDay : '[Nesër në] LT', + nextWeek : 'dddd [në] LT', + lastDay : '[Dje në] LT', + lastWeek : 'dddd [e kaluar në] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'në %s', + past : '%s më parë', + s : 'disa sekonda', + ss : '%d sekonda', + m : 'një minutë', + mm : '%d minuta', + h : 'një orë', + hh : '%d orë', + d : 'një ditë', + dd : '%d ditë', + M : 'një muaj', + MM : '%d muaj', + y : 'një vit', + yy : '%d vite' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var translator$1 = { + words: { //Different grammatical cases + ss: ['Ñекунда', 'Ñекунде', 'Ñекунди'], + m: ['један минут', 'једне минуте'], + mm: ['минут', 'минуте', 'минута'], + h: ['један Ñат', 'једног Ñата'], + hh: ['Ñат', 'Ñата', 'Ñати'], + dd: ['дан', 'дана', 'дана'], + MM: ['меÑец', 'меÑеца', 'меÑеци'], + yy: ['година', 'године', 'година'] + }, + correctGrammaticalCase: function (number, wordKey) { + return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]); + }, + translate: function (number, withoutSuffix, key) { + var wordKey = translator$1.words[key]; + if (key.length === 1) { + return withoutSuffix ? wordKey[0] : wordKey[1]; + } else { + return number + ' ' + translator$1.correctGrammaticalCase(number, wordKey); + } + } + }; + + hooks.defineLocale('sr-cyrl', { + months: 'јануар_фебруар_март_април_мај_јун_јул_авгуÑÑ‚_Ñептембар_октобар_новембар_децембар'.split('_'), + monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._Ñеп._окт._нов._дец.'.split('_'), + monthsParseExact: true, + weekdays: 'недеља_понедељак_уторак_Ñреда_четвртак_петак_Ñубота'.split('_'), + weekdaysShort: 'нед._пон._уто._Ñре._чет._пет._Ñуб.'.split('_'), + weekdaysMin: 'не_по_ут_ÑÑ€_че_пе_Ñу'.split('_'), + weekdaysParseExact : true, + 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: '[Ð´Ð°Ð½Ð°Ñ Ñƒ] LT', + nextDay: '[Ñутра у] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[у] [недељу] [у] LT'; + case 3: + return '[у] [Ñреду] [у] LT'; + case 6: + return '[у] [Ñуботу] [у] LT'; + case 1: + case 2: + case 4: + case 5: + return '[у] dddd [у] LT'; + } + }, + lastDay : '[јуче у] LT', + lastWeek : function () { + var lastWeekDays = [ + '[прошле] [недеље] [у] LT', + '[прошлог] [понедељка] [у] LT', + '[прошлог] [уторка] [у] LT', + '[прошле] [Ñреде] [у] LT', + '[прошлог] [четвртка] [у] LT', + '[прошлог] [петка] [у] LT', + '[прошле] [Ñуботе] [у] LT' + ]; + return lastWeekDays[this.day()]; + }, + sameElse : 'L' + }, + relativeTime : { + future : 'за %s', + past : 'пре %s', + s : 'неколико Ñекунди', + ss : translator$1.translate, + m : translator$1.translate, + mm : translator$1.translate, + h : translator$1.translate, + hh : translator$1.translate, + d : 'дан', + dd : translator$1.translate, + M : 'меÑец', + MM : translator$1.translate, + y : 'годину', + yy : translator$1.translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var translator$2 = { + words: { //Different grammatical cases + ss: ['sekunda', 'sekunde', 'sekundi'], + m: ['jedan minut', 'jedne minute'], + mm: ['minut', 'minute', 'minuta'], + h: ['jedan sat', 'jednog sata'], + hh: ['sat', 'sata', 'sati'], + dd: ['dan', 'dana', 'dana'], + MM: ['mesec', 'meseca', 'meseci'], + yy: ['godina', 'godine', 'godina'] + }, + correctGrammaticalCase: function (number, wordKey) { + return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]); + }, + translate: function (number, withoutSuffix, key) { + var wordKey = translator$2.words[key]; + if (key.length === 1) { + return withoutSuffix ? wordKey[0] : wordKey[1]; + } else { + return number + ' ' + translator$2.correctGrammaticalCase(number, wordKey); + } + } + }; + + hooks.defineLocale('sr', { + months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'), + monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'), + monthsParseExact: true, + weekdays: 'nedelja_ponedeljak_utorak_sreda_Äetvrtak_petak_subota'.split('_'), + weekdaysShort: 'ned._pon._uto._sre._Äet._pet._sub.'.split('_'), + weekdaysMin: 'ne_po_ut_sr_Äe_pe_su'.split('_'), + weekdaysParseExact : true, + 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: '[danas u] LT', + nextDay: '[sutra u] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[u] [nedelju] [u] LT'; + case 3: + return '[u] [sredu] [u] LT'; + case 6: + return '[u] [subotu] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[u] dddd [u] LT'; + } + }, + lastDay : '[juÄe u] LT', + lastWeek : function () { + var lastWeekDays = [ + '[proÅ¡le] [nedelje] [u] LT', + '[proÅ¡log] [ponedeljka] [u] LT', + '[proÅ¡log] [utorka] [u] LT', + '[proÅ¡le] [srede] [u] LT', + '[proÅ¡log] [Äetvrtka] [u] LT', + '[proÅ¡log] [petka] [u] LT', + '[proÅ¡le] [subote] [u] LT' + ]; + return lastWeekDays[this.day()]; + }, + sameElse : 'L' + }, + relativeTime : { + future : 'za %s', + past : 'pre %s', + s : 'nekoliko sekundi', + ss : translator$2.translate, + m : translator$2.translate, + mm : translator$2.translate, + h : translator$2.translate, + hh : translator$2.translate, + d : 'dan', + dd : translator$2.translate, + M : 'mesec', + MM : translator$2.translate, + y : 'godinu', + yy : translator$2.translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.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 : true, + 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 (hours, minutes, isLower) { + if (hours < 11) { + return 'ekuseni'; + } else if (hours < 15) { + return 'emini'; + } else if (hours < 19) { + return 'entsambama'; + } else { + return 'ebusuku'; + } + }, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'ekuseni') { + return hour; + } else if (meridiem === 'emini') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') { + if (hour === 0) { + return 0; + } + return hour + 12; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}/, + ordinal : '%d', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('sv', { + months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'), + monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), + weekdays : 'söndag_mÃ¥ndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'), + weekdaysShort : 'sön_mÃ¥n_tis_ons_tor_fre_lör'.split('_'), + weekdaysMin : 'sö_mÃ¥_ti_on_to_fr_lö'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY-MM-DD', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY [kl.] HH:mm', + LLLL : 'dddd D MMMM YYYY [kl.] HH:mm', + lll : 'D MMM YYYY HH:mm', + llll : 'ddd D MMM YYYY HH:mm' + }, + calendar : { + sameDay: '[Idag] LT', + nextDay: '[Imorgon] LT', + lastDay: '[IgÃ¥r] LT', + nextWeek: '[PÃ¥] dddd LT', + lastWeek: '[I] dddd[s] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'om %s', + past : 'för %s sedan', + s : 'nÃ¥gra sekunder', + ss : '%d sekunder', + m : 'en minut', + mm : '%d minuter', + h : 'en timme', + hh : '%d timmar', + d : 'en dag', + dd : '%d dagar', + M : 'en mÃ¥nad', + MM : '%d mÃ¥nader', + y : 'ett Ã¥r', + yy : '%d Ã¥r' + }, + dayOfMonthOrdinalParse: /\d{1,2}(e|a)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'e' : + (b === 1) ? 'a' : + (b === 2) ? 'a' : + (b === 3) ? 'e' : 'e'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('sw', { + months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'), + monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'), + weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'), + weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'), + weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'), + weekdaysParseExact : true, + 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 : '[leo saa] LT', + nextDay : '[kesho saa] LT', + nextWeek : '[wiki ijayo] dddd [saat] LT', + lastDay : '[jana] LT', + lastWeek : '[wiki iliyopita] dddd [saat] LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s baadaye', + past : 'tokea %s', + s : 'hivi punde', + ss : 'sekunde %d', + m : 'dakika moja', + mm : 'dakika %d', + h : 'saa limoja', + hh : 'masaa %d', + d : 'siku moja', + dd : 'masiku %d', + M : 'mwezi mmoja', + MM : 'miezi %d', + y : 'mwaka mmoja', + yy : 'miaka %d' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var symbolMap$f = { + '1': '௧', + '2': '௨', + '3': '௩', + '4': '௪', + '5': '௫', + '6': '௬', + '7': 'à¯', + '8': '௮', + '9': '௯', + '0': '௦' + }, numberMap$e = { + '௧': '1', + '௨': '2', + '௩': '3', + '௪': '4', + '௫': '5', + '௬': '6', + 'à¯': '7', + '௮': '8', + '௯': '9', + '௦': '0' + }; + + hooks.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 (number) { + return number + 'வதà¯'; + }, + preparse: function (string) { + return string.replace(/[௧௨௩௪௫௬à¯à¯®à¯¯à¯¦]/g, function (match) { + return numberMap$e[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap$f[match]; + }); + }, + // refer http://ta.wikipedia.org/s/1er1 + meridiemParse: /யாமமà¯|வைகறை|காலை|நணà¯à®ªà®•லà¯|எறà¯à®ªà®¾à®Ÿà¯|மாலை/, + meridiem : function (hour, minute, isLower) { + if (hour < 2) { + return ' யாமமà¯'; + } else if (hour < 6) { + return ' வைகறை'; // வைகறை + } else if (hour < 10) { + return ' காலை'; // காலை + } else if (hour < 14) { + return ' நணà¯à®ªà®•லà¯'; // நணà¯à®ªà®•ல௠+ } else if (hour < 18) { + return ' எறà¯à®ªà®¾à®Ÿà¯'; // எறà¯à®ªà®¾à®Ÿà¯ + } else if (hour < 22) { + return ' மாலை'; // மாலை + } else { + return ' யாமமà¯'; + } + }, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'யாமமà¯') { + return hour < 2 ? hour : hour + 12; + } else if (meridiem === 'வைகறை' || meridiem === 'காலை') { + return hour; + } else if (meridiem === 'நணà¯à®ªà®•லà¯') { + return hour >= 10 ? hour : hour + 12; + } else { + return hour + 12; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('te', { + months : 'జనవరి_à°«à°¿à°¬à±à°°à°µà°°à°¿_మారà±à°šà°¿_à°à°ªà±à°°à°¿à°²à±_మే_జూనà±_à°œà±à°²à±ˆ_ఆగసà±à°Ÿà±_సెపà±à°Ÿà±†à°‚బరà±_à°…à°•à±à°Ÿà±‹à°¬à°°à±_నవంబరà±_డిసెంబరà±'.split('_'), + monthsShort : 'జన._à°«à°¿à°¬à±à°°._మారà±à°šà°¿_à°à°ªà±à°°à°¿._మే_జూనà±_à°œà±à°²à±ˆ_ఆగ._సెపà±._à°…à°•à±à°Ÿà±‹._నవ._డిసె.'.split('_'), + monthsParseExact : true, + 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 : 'కొనà±à°¨à°¿ à°•à±à°·à°£à°¾à°²à±', + ss : '%d సెకనà±à°²à±', + m : 'à°’à°• నిమిషం', + mm : '%d నిమిషాలà±', + h : 'à°’à°• à°—à°‚à°Ÿ', + hh : '%d à°—à°‚à°Ÿà°²à±', + d : 'à°’à°• రోజà±', + dd : '%d రోజà±à°²à±', + M : 'à°’à°• నెల', + MM : '%d నెలలà±', + y : 'à°’à°• సంవతà±à°¸à°°à°‚', + yy : '%d సంవతà±à°¸à°°à°¾à°²à±' + }, + dayOfMonthOrdinalParse : /\d{1,2}à°µ/, + ordinal : '%dà°µ', + meridiemParse: /రాతà±à°°à°¿|ఉదయం|మధà±à°¯à°¾à°¹à±à°¨à°‚|సాయంతà±à°°à°‚/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'రాతà±à°°à°¿') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'ఉదయం') { + return hour; + } else if (meridiem === 'మధà±à°¯à°¾à°¹à±à°¨à°‚') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'సాయంతà±à°°à°‚') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'రాతà±à°°à°¿'; + } else if (hour < 10) { + return 'ఉదయం'; + } else if (hour < 17) { + return 'మధà±à°¯à°¾à°¹à±à°¨à°‚'; + } else if (hour < 20) { + return 'సాయంతà±à°°à°‚'; + } else { + return 'రాతà±à°°à°¿'; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('tet', { + months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'), + monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), + weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'), + weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'), + weekdaysMin : 'Do_Seg_Te_Ku_Ki_Ses_Sa'.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: '[Ohin iha] LT', + nextDay: '[Aban iha] LT', + nextWeek: 'dddd [iha] LT', + lastDay: '[Horiseik iha] LT', + lastWeek: 'dddd [semana kotuk] [iha] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'iha %s', + past : '%s liuba', + s : 'minutu balun', + ss : 'minutu %d', + m : 'minutu ida', + mm : 'minutu %d', + h : 'oras ida', + hh : 'oras %d', + d : 'loron ida', + dd : 'loron %d', + M : 'fulan ida', + MM : 'fulan %d', + y : 'tinan ida', + yy : 'tinan %d' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var suffixes$3 = { + 0: '-ум', + 1: '-ум', + 2: '-юм', + 3: '-юм', + 4: '-ум', + 5: '-ум', + 6: '-ум', + 7: '-ум', + 8: '-ум', + 9: '-ум', + 10: '-ум', + 12: '-ум', + 13: '-ум', + 20: '-ум', + 30: '-юм', + 40: '-ум', + 50: '-ум', + 60: '-ум', + 70: '-ум', + 80: '-ум', + 90: '-ум', + 100: '-ум' + }; + + hooks.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 (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'шаб') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'Ñубҳ') { + return hour; + } else if (meridiem === 'рӯз') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'бегоҳ') { + return hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'шаб'; + } else if (hour < 11) { + return 'Ñубҳ'; + } else if (hour < 16) { + return 'рӯз'; + } else if (hour < 19) { + return 'бегоҳ'; + } else { + return 'шаб'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/, + ordinal: function (number) { + var a = number % 10, + b = number >= 100 ? 100 : null; + return number + (suffixes$3[number] || suffixes$3[a] || suffixes$3[b]); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 1th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('th', { + months : 'มà¸à¸£à¸²à¸„ม_à¸à¸¸à¸¡à¸ าพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_à¸à¸£à¸à¸Žà¸²à¸„ม_สิงหาคม_à¸à¸±à¸™à¸¢à¸²à¸¢à¸™_ตุลาคม_พฤศจิà¸à¸²à¸¢à¸™_ธันวาคม'.split('_'), + monthsShort : 'ม.ค._à¸.พ._มี.ค._เม.ย._พ.ค._มิ.ย._à¸.ค._ส.ค._à¸.ย._ต.ค._พ.ย._ธ.ค.'.split('_'), + monthsParseExact: true, + weekdays : 'à¸à¸²à¸—ิตย์_จันทร์_à¸à¸±à¸‡à¸„าร_พุธ_พฤหัสบดี_ศุà¸à¸£à¹Œ_เสาร์'.split('_'), + weekdaysShort : 'à¸à¸²à¸—ิตย์_จันทร์_à¸à¸±à¸‡à¸„าร_พุธ_พฤหัส_ศุà¸à¸£à¹Œ_เสาร์'.split('_'), // yes, three characters difference + weekdaysMin : 'à¸à¸²._จ._à¸._พ._พฤ._ศ._ส.'.split('_'), + weekdaysParseExact : true, + 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' + }, + meridiemParse: /à¸à¹ˆà¸à¸™à¹€à¸—ี่ยง|หลังเที่ยง/, + isPM: function (input) { + return input === 'หลังเที่ยง'; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'à¸à¹ˆà¸à¸™à¹€à¸—ี่ยง'; + } else { + return 'หลังเที่ยง'; + } + }, + calendar : { + sameDay : '[วันนี้ เวลา] LT', + nextDay : '[พรุ่งนี้ เวลา] LT', + nextWeek : 'dddd[หน้า เวลา] LT', + lastDay : '[เมื่à¸à¸§à¸²à¸™à¸™à¸µà¹‰ เวลา] LT', + lastWeek : '[วัน]dddd[ที่à¹à¸¥à¹‰à¸§ เวลา] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'à¸à¸µà¸ %s', + past : '%sที่à¹à¸¥à¹‰à¸§', + s : 'ไม่à¸à¸µà¹ˆà¸§à¸´à¸™à¸²à¸—ี', + ss : '%d วินาที', + m : '1 นาที', + mm : '%d นาที', + h : '1 ชั่วโมง', + hh : '%d ชั่วโมง', + d : '1 วัน', + dd : '%d วัน', + M : '1 เดืà¸à¸™', + MM : '%d เดืà¸à¸™', + y : '1 ปี', + yy : '%d ปี' + } + }); + + //! moment.js locale configuration + + hooks.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 (number) { + return number; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_'); + + function translateFuture(output) { + var time = output; + time = (output.indexOf('jaj') !== -1) ? + time.slice(0, -3) + 'leS' : + (output.indexOf('jar') !== -1) ? + time.slice(0, -3) + 'waQ' : + (output.indexOf('DIS') !== -1) ? + time.slice(0, -3) + 'nem' : + time + ' pIq'; + return time; + } + + function translatePast(output) { + var time = output; + time = (output.indexOf('jaj') !== -1) ? + time.slice(0, -3) + 'Hu’' : + (output.indexOf('jar') !== -1) ? + time.slice(0, -3) + 'wen' : + (output.indexOf('DIS') !== -1) ? + time.slice(0, -3) + 'ben' : + time + ' ret'; + return time; + } + + function translate$a(number, withoutSuffix, string, isFuture) { + var numberNoun = numberAsNoun(number); + switch (string) { + case 'ss': + return numberNoun + ' lup'; + case 'mm': + return numberNoun + ' tup'; + case 'hh': + return numberNoun + ' rep'; + case 'dd': + return numberNoun + ' jaj'; + case 'MM': + return numberNoun + ' jar'; + case 'yy': + return numberNoun + ' DIS'; + } + } + + function numberAsNoun(number) { + var hundred = Math.floor((number % 1000) / 100), + ten = Math.floor((number % 100) / 10), + one = number % 10, + word = ''; + if (hundred > 0) { + word += numbersNouns[hundred] + 'vatlh'; + } + if (ten > 0) { + word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH'; + } + if (one > 0) { + word += ((word !== '') ? ' ' : '') + numbersNouns[one]; + } + return (word === '') ? 'pagh' : word; + } + + hooks.defineLocale('tlh', { + months : 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'), + monthsShort : 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'), + monthsParseExact : true, + weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'), + weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'), + weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.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: '[DaHjaj] LT', + nextDay: '[wa’leS] LT', + nextWeek: 'LLL', + lastDay: '[wa’Hu’] LT', + lastWeek: 'LLL', + sameElse: 'L' + }, + relativeTime : { + future : translateFuture, + past : translatePast, + s : 'puS lup', + ss : translate$a, + m : 'wa’ tup', + mm : translate$a, + h : 'wa’ rep', + hh : translate$a, + d : 'wa’ jaj', + dd : translate$a, + M : 'wa’ jar', + MM : translate$a, + y : 'wa’ DIS', + yy : translate$a + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + var suffixes$4 = { + 1: '\'inci', + 5: '\'inci', + 8: '\'inci', + 70: '\'inci', + 80: '\'inci', + 2: '\'nci', + 7: '\'nci', + 20: '\'nci', + 50: '\'nci', + 3: '\'üncü', + 4: '\'üncü', + 100: '\'üncü', + 6: '\'ncı', + 9: '\'uncu', + 10: '\'uncu', + 30: '\'uncu', + 60: '\'ıncı', + 90: '\'ıncı' + }; + + hooks.defineLocale('tr', { + months : 'Ocak_Åžubat_Mart_Nisan_Mayıs_Haziran_Temmuz_AÄŸustos_Eylül_Ekim_Kasım_Aralık'.split('_'), + monthsShort : 'Oca_Åžub_Mar_Nis_May_Haz_Tem_AÄŸu_Eyl_Eki_Kas_Ara'.split('_'), + weekdays : 'Pazar_Pazartesi_Salı_ÇarÅŸamba_PerÅŸembe_Cuma_Cumartesi'.split('_'), + weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'), + weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.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 : '[bugün saat] LT', + nextDay : '[yarın saat] LT', + nextWeek : '[gelecek] dddd [saat] LT', + lastDay : '[dün] LT', + lastWeek : '[geçen] dddd [saat] LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s sonra', + past : '%s önce', + s : 'birkaç saniye', + ss : '%d saniye', + m : 'bir dakika', + mm : '%d dakika', + h : 'bir saat', + hh : '%d saat', + d : 'bir gün', + dd : '%d gün', + M : 'bir ay', + MM : '%d ay', + y : 'bir yıl', + yy : '%d yıl' + }, + ordinal: function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'Do': + case 'DD': + return number; + default: + if (number === 0) { // special case for zero + return number + '\'ıncı'; + } + var a = number % 10, + b = number % 100 - a, + c = number >= 100 ? 100 : null; + return number + (suffixes$4[a] || suffixes$4[b] || suffixes$4[c]); + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals. + // This is currently too difficult (maybe even impossible) to add. + hooks.defineLocale('tzl', { + months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'), + monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'), + weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'), + weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'), + weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'), + longDateFormat : { + LT : 'HH.mm', + LTS : 'HH.mm.ss', + L : 'DD.MM.YYYY', + LL : 'D. MMMM [dallas] YYYY', + LLL : 'D. MMMM [dallas] YYYY HH.mm', + LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm' + }, + meridiemParse: /d\'o|d\'a/i, + isPM : function (input) { + return 'd\'o' === input.toLowerCase(); + }, + meridiem : function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'd\'o' : 'D\'O'; + } else { + return isLower ? 'd\'a' : 'D\'A'; + } + }, + calendar : { + sameDay : '[oxhi à ] LT', + nextDay : '[demà à ] LT', + nextWeek : 'dddd [à ] LT', + lastDay : '[ieiri à ] LT', + lastWeek : '[sür el] dddd [lasteu à ] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'osprei %s', + past : 'ja%s', + s : processRelativeTime$7, + ss : processRelativeTime$7, + m : processRelativeTime$7, + mm : processRelativeTime$7, + h : processRelativeTime$7, + hh : processRelativeTime$7, + d : processRelativeTime$7, + dd : processRelativeTime$7, + M : processRelativeTime$7, + MM : processRelativeTime$7, + y : processRelativeTime$7, + yy : processRelativeTime$7 + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + function processRelativeTime$7(number, withoutSuffix, key, isFuture) { + var format = { + 's': ['viensas secunds', '\'iensas secunds'], + 'ss': [number + ' secunds', '' + number + ' secunds'], + 'm': ['\'n mÃut', '\'iens mÃut'], + 'mm': [number + ' mÃuts', '' + number + ' mÃuts'], + 'h': ['\'n þora', '\'iensa þora'], + 'hh': [number + ' þoras', '' + number + ' þoras'], + 'd': ['\'n ziua', '\'iensa ziua'], + 'dd': [number + ' ziuas', '' + number + ' ziuas'], + 'M': ['\'n mes', '\'iens mes'], + 'MM': [number + ' mesen', '' + number + ' mesen'], + 'y': ['\'n ar', '\'iens ar'], + 'yy': [number + ' ars', '' + number + ' ars'] + }; + return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]); + } + + //! moment.js locale configuration + + hooks.defineLocale('tzm-latn', { + months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_É£wÅ¡t_Å¡wtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'), + monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_É£wÅ¡t_Å¡wtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'), + weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas'.split('_'), + weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas'.split('_'), + weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas'.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: '[asdkh g] LT', + nextDay: '[aska g] LT', + nextWeek: 'dddd [g] LT', + lastDay: '[assant g] LT', + lastWeek: 'dddd [g] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'dadkh s yan %s', + past : 'yan %s', + s : 'imik', + ss : '%d imik', + m : 'minuá¸', + mm : '%d minuá¸', + h : 'saÉ›a', + hh : '%d tassaÉ›in', + d : 'ass', + dd : '%d ossan', + M : 'ayowr', + MM : '%d iyyirn', + y : 'asgas', + yy : '%d isgasn' + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('tzm', { + 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 oⵙⵙⴰâµ', + M : 'â´°âµ¢oⵓⵔ', + MM : '%d ⵉⵢⵢⵉⵔâµ', + y : 'ⴰⵙⴳⴰⵙ', + yy : '%d ⵉⵙⴳⴰⵙâµ' + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } + }); + + //! moment.js language configuration + + hooks.defineLocale('ug-cn', { + months: 'يانۋار_ÙÛۋرال_مارت_ئاپرÛÙ„_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سÛنتەبىر_ئۆكتەبىر_نويابىر_دÛكابىر'.split( + '_' + ), + monthsShort: 'يانۋار_ÙÛۋرال_مارت_ئاپرÛÙ„_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سÛنتەبىر_ئۆكتەبىر_نويابىر_دÛكابىر'.split( + '_' + ), + weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split( + '_' + ), + weekdaysShort: 'ÙŠÛ•_دۈ_سە_چا_Ù¾Û•_جۈ_Ø´Û•'.split('_'), + weekdaysMin: 'ÙŠÛ•_دۈ_سە_چا_Ù¾Û•_جۈ_Ø´Û•'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY-MM-DD', + LL: 'YYYY-يىلىM-ئاينىÚD-كۈنى', + LLL: 'YYYY-يىلىM-ئاينىÚD-كۈنى، HH:mm', + LLLL: 'ddddØŒ YYYY-يىلىM-ئاينىÚD-كۈنى، HH:mm' + }, + meridiemParse: /ÙŠÛØ±Ù‰Ù… ÙƒÛÚ†Û•|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن ÙƒÛيىن|ÙƒÛ•Ú†/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if ( + meridiem === 'ÙŠÛØ±Ù‰Ù… ÙƒÛÚ†Û•' || + meridiem === 'سەھەر' || + meridiem === 'چۈشتىن بۇرۇن' + ) { + return hour; + } else if (meridiem === 'چۈشتىن ÙƒÛيىن' || meridiem === 'ÙƒÛ•Ú†') { + return hour + 12; + } else { + return hour >= 11 ? hour : hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + var hm = hour * 100 + minute; + if (hm < 600) { + return 'ÙŠÛØ±Ù‰Ù… ÙƒÛÚ†Û•'; + } else if (hm < 900) { + return 'سەھەر'; + } else if (hm < 1130) { + return 'چۈشتىن بۇرۇن'; + } else if (hm < 1230) { + return 'چۈش'; + } else if (hm < 1800) { + return 'چۈشتىن ÙƒÛيىن'; + } else { + return 'ÙƒÛ•Ú†'; + } + }, + 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 (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + '-كۈنى'; + case 'w': + case 'W': + return number + '-ھەپتە'; + default: + return number; + } + }, + preparse: function (string) { + return string.replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/,/g, 'ØŒ'); + }, + week: { + // GB/T 7408-1994《数æ®å…ƒå’Œäº¤æ¢æ ¼å¼Â·ä¿¡æ¯äº¤æ¢Â·æ—¥æœŸå’Œæ—¶é—´è¡¨ç¤ºæ³•》与ISO 8601:1988ç‰æ•ˆ + dow: 1, // Monday is the first day of the week. + doy: 7 // The week that contains Jan 1st is the first week of the year. + } + }); + + //! moment.js locale configuration + + function plural$6(word, num) { + var forms = word.split('_'); + return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]); + } + function relativeTimeWithPlural$4(number, withoutSuffix, key) { + var format = { + 'ss': withoutSuffix ? 'Ñекунда_Ñекунди_Ñекунд' : 'Ñекунду_Ñекунди_Ñекунд', + 'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин', + 'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин', + 'dd': 'день_дні_днів', + 'MM': 'міÑÑць_міÑÑці_міÑÑців', + 'yy': 'рік_роки_років' + }; + if (key === 'm') { + return withoutSuffix ? 'хвилина' : 'хвилину'; + } + else if (key === 'h') { + return withoutSuffix ? 'година' : 'годину'; + } + else { + return number + ' ' + plural$6(format[key], +number); + } + } + function weekdaysCaseReplace(m, format) { + var weekdays = { + 'nominative': 'неділÑ_понеділок_вівторок_Ñереда_четвер_п’ÑтницÑ_Ñубота'.split('_'), + 'accusative': 'неділю_понеділок_вівторок_Ñереду_четвер_п’Ñтницю_Ñуботу'.split('_'), + 'genitive': 'неділі_понеділка_вівторка_Ñереди_четверга_п’Ñтниці_Ñуботи'.split('_') + }; + + if (m === true) { + return weekdays['nominative'].slice(1, 7).concat(weekdays['nominative'].slice(0, 1)); + } + if (!m) { + return weekdays['nominative']; + } + + var nounCase = (/(\[[ВвУу]\]) ?dddd/).test(format) ? + 'accusative' : + ((/\[?(?:минулої|наÑтупної)? ?\] ?dddd/).test(format) ? + 'genitive' : + 'nominative'); + return weekdays[nounCase][m.day()]; + } + function processHoursFunction(str) { + return function () { + return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT'; + }; + } + + hooks.defineLocale('uk', { + months : { + 'format': 'ÑічнÑ_лютого_березнÑ_квітнÑ_травнÑ_червнÑ_липнÑ_ÑерпнÑ_вереÑнÑ_жовтнÑ_лиÑтопада_груднÑ'.split('_'), + 'standalone': 'Ñічень_лютий_березень_квітень_травень_червень_липень_Ñерпень_вереÑень_жовтень_лиÑтопад_грудень'.split('_') + }, + monthsShort : 'Ñіч_лют_бер_квіт_трав_черв_лип_Ñерп_вер_жовт_лиÑÑ‚_груд'.split('_'), + weekdays : weekdaysCaseReplace, + 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: processHoursFunction('[Сьогодні '), + nextDay: processHoursFunction('[Завтра '), + lastDay: processHoursFunction('[Вчора '), + nextWeek: processHoursFunction('[У] dddd ['), + lastWeek: function () { + switch (this.day()) { + case 0: + case 3: + case 5: + case 6: + return processHoursFunction('[Минулої] dddd [').call(this); + case 1: + case 2: + case 4: + return processHoursFunction('[Минулого] dddd [').call(this); + } + }, + sameElse: 'L' + }, + relativeTime : { + future : 'за %s', + past : '%s тому', + s : 'декілька Ñекунд', + ss : relativeTimeWithPlural$4, + m : relativeTimeWithPlural$4, + mm : relativeTimeWithPlural$4, + h : 'годину', + hh : relativeTimeWithPlural$4, + d : 'день', + dd : relativeTimeWithPlural$4, + M : 'міÑÑць', + MM : relativeTimeWithPlural$4, + y : 'рік', + yy : relativeTimeWithPlural$4 + }, + // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason + meridiemParse: /ночі|ранку|днÑ|вечора/, + isPM: function (input) { + return /^(днÑ|вечора)$/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'ночі'; + } else if (hour < 12) { + return 'ранку'; + } else if (hour < 17) { + return 'днÑ'; + } else { + return 'вечора'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/, + ordinal: function (number, period) { + switch (period) { + case 'M': + case 'd': + case 'DDD': + case 'w': + case 'W': + return number + '-й'; + case 'D': + return number + '-го'; + default: + return number; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + var months$a = [ + 'جنوری', + 'ÙØ±ÙˆØ±ÛŒ', + 'مارچ', + 'اپریل', + 'مئی', + 'جون', + 'جولائی', + 'اگست', + 'ستمبر', + 'اکتوبر', + 'نومبر', + 'دسمبر' + ]; + var days$2 = [ + 'اتوار', + 'پیر', + 'منگل', + 'بدھ', + 'جمعرات', + 'جمعÛ', + 'ÛÙØªÛ' + ]; + + hooks.defineLocale('ur', { + months : months$a, + monthsShort : months$a, + weekdays : days$2, + weekdaysShort : days$2, + weekdaysMin : days$2, + 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 (input) { + return 'شام' === input; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'صبØ'; + } + return 'شام'; + }, + 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 (string) { + return string.replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/,/g, 'ØŒ'); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.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, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('uz', { + 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 : 'D MMMM YYYY, dddd 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 йил' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.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 : true, + 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 : true, + meridiemParse: /sa|ch/i, + isPM : function (input) { + return /^ch$/i.test(input); + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 12) { + return isLower ? 'sa' : 'SA'; + } else { + return isLower ? '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 (number) { + return number; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('x-pseudo', { + months : 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Ãp~rÃl_~Máý_~Júñé~_Júl~ý_Ãú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'), + monthsShort : 'J~áñ_~Féb_~Már_~Ãpr_~Máý_~Júñ_~Júl_~Ãúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'), + monthsParseExact : true, + weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~FrÃd~áý_S~átúr~dáý'.split('_'), + weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~FrÃ_~Sát'.split('_'), + weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + L : 'DD/MM/YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY HH:mm', + LLLL : 'dddd, D MMMM YYYY HH:mm' + }, + calendar : { + sameDay : '[T~ódá~ý át] LT', + nextDay : '[T~ómó~rró~w át] LT', + nextWeek : 'dddd [át] LT', + lastDay : '[Ã~ést~érdá~ý át] LT', + lastWeek : '[L~ást] dddd [át] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'Ã~ñ %s', + past : '%s á~gó', + s : 'á ~féw ~sécó~ñds', + ss : '%d s~écóñ~ds', + m : 'á ~mÃñ~úté', + mm : '%d m~Ãñú~tés', + h : 'á~ñ hó~úr', + hh : '%d h~óúrs', + d : 'á ~dáý', + dd : '%d d~áýs', + M : 'á ~móñ~th', + MM : '%d m~óñt~hs', + y : 'á ~ýéár', + yy : '%d ý~éárs' + }, + dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('yo', { + months : 'SẹÌrẹÌ_EÌ€reÌ€leÌ€_Ẹrẹ̀naÌ€_IÌ€gbeÌ_EÌ€bibi_OÌ€kuÌ€du_Agẹmo_OÌ€guÌn_Owewe_Ọ̀waÌ€raÌ€_BeÌluÌ_Ọ̀pẹ̀̀'.split('_'), + monthsShort : 'SẹÌr_EÌ€rl_Ẹrn_IÌ€gb_EÌ€bi_OÌ€kuÌ€_Agẹ_OÌ€guÌ_Owe_Ọ̀waÌ€_BeÌl_Ọ̀pẹ̀̀'.split('_'), + weekdays : 'AÌ€iÌ€kuÌ_AjeÌ_IÌ€sẹÌgun_Ọjá»ÌruÌ_Ọjá»Ìbá»_ẸtiÌ€_AÌ€baÌmẹÌta'.split('_'), + weekdaysShort : 'AÌ€iÌ€k_AjeÌ_IÌ€sẹÌ_Ọjr_Ọjb_ẸtiÌ€_AÌ€baÌ'.split('_'), + weekdaysMin : 'AÌ€iÌ€_Aj_IÌ€s_Ọr_Ọb_Ẹt_AÌ€b'.split('_'), + 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 : '[OÌ€niÌ€ ni] LT', + nextDay : '[Ọ̀la ni] LT', + nextWeek : 'dddd [Ọsẹ̀ toÌn\'bá»] [ni] LT', + lastDay : '[AÌ€na ni] LT', + lastWeek : 'dddd [Ọsẹ̀ toÌlá»Ì] [ni] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'niÌ %s', + past : '%s ká»jaÌ', + s : 'iÌ€sẹjuÌ aayaÌ die', + ss :'aayaÌ %d', + m : 'iÌ€sẹjuÌ kan', + mm : 'iÌ€sẹjuÌ %d', + h : 'waÌkati kan', + hh : 'waÌkati %d', + d : 'á»já»Ì kan', + dd : 'á»já»Ì %d', + M : 'osuÌ€ kan', + MM : 'osuÌ€ %d', + y : 'á»duÌn kan', + yy : 'á»duÌn %d' + }, + dayOfMonthOrdinalParse : /á»já»Ì\s\d{1,2}/, + ordinal : 'á»já»Ì %d', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('zh-cn', { + months : '一月_二月_三月_四月_五月_å…æœˆ_七月_八月_乿œˆ_åæœˆ_å一月_å二月'.split('_'), + monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), + weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期å…'.split('_'), + weekdaysShort : '周日_周一_周二_周三_周四_周五_周å…'.split('_'), + weekdaysMin : 'æ—¥_一_二_三_å››_五_å…'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY/MM/DD', + LL : 'YYYYå¹´M月Dæ—¥', + LLL : 'YYYYå¹´M月Dæ—¥Ah点mm分', + LLLL : 'YYYYå¹´M月Dæ—¥ddddAh点mm分', + l : 'YYYY/M/D', + ll : 'YYYYå¹´M月Dæ—¥', + lll : 'YYYYå¹´M月Dæ—¥ HH:mm', + llll : 'YYYYå¹´M月Dæ—¥dddd HH:mm' + }, + meridiemParse: /凌晨|早上|上åˆ|ä¸åˆ|下åˆ|晚上/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === '凌晨' || meridiem === '早上' || + meridiem === '上åˆ') { + return hour; + } else if (meridiem === '下åˆ' || meridiem === '晚上') { + return hour + 12; + } else { + // 'ä¸åˆ' + return hour >= 11 ? hour : hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + var hm = hour * 100 + minute; + if (hm < 600) { + return '凌晨'; + } else if (hm < 900) { + return '早上'; + } else if (hm < 1130) { + return '上åˆ'; + } else if (hm < 1230) { + return 'ä¸åˆ'; + } else if (hm < 1800) { + return '下åˆ'; + } else { + return '晚上'; + } + }, + calendar : { + sameDay : '[今天]LT', + nextDay : '[明天]LT', + nextWeek : '[下]ddddLT', + lastDay : '[昨天]LT', + lastWeek : '[上]ddddLT', + sameElse : 'L' + }, + dayOfMonthOrdinalParse: /\d{1,2}(æ—¥|月|周)/, + ordinal : function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + 'æ—¥'; + case 'M': + return number + '月'; + case 'w': + case 'W': + return number + '周'; + default: + return number; + } + }, + relativeTime : { + future : '%s内', + past : '%så‰', + s : 'å‡ ç§’', + ss : '%d ç§’', + m : '1 分钟', + mm : '%d 分钟', + h : '1 å°æ—¶', + hh : '%d å°æ—¶', + d : '1 天', + dd : '%d 天', + M : '1 个月', + MM : '%d 个月', + y : '1 å¹´', + yy : '%d å¹´' + }, + week : { + // GB/T 7408-1994《数æ®å…ƒå’Œäº¤æ¢æ ¼å¼Â·ä¿¡æ¯äº¤æ¢Â·æ—¥æœŸå’Œæ—¶é—´è¡¨ç¤ºæ³•》与ISO 8601:1988ç‰æ•ˆ + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('zh-hk', { + months : '一月_二月_三月_四月_五月_å…æœˆ_七月_八月_乿œˆ_åæœˆ_å一月_å二月'.split('_'), + monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), + weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期å…'.split('_'), + weekdaysShort : '週日_週一_週二_週三_週四_週五_週å…'.split('_'), + weekdaysMin : 'æ—¥_一_二_三_å››_五_å…'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY/MM/DD', + LL : 'YYYYå¹´M月Dæ—¥', + LLL : 'YYYYå¹´M月Dæ—¥ HH:mm', + LLLL : 'YYYYå¹´M月Dæ—¥dddd HH:mm', + l : 'YYYY/M/D', + ll : 'YYYYå¹´M月Dæ—¥', + lll : 'YYYYå¹´M月Dæ—¥ HH:mm', + llll : 'YYYYå¹´M月Dæ—¥dddd HH:mm' + }, + meridiemParse: /凌晨|早上|上åˆ|ä¸åˆ|下åˆ|晚上/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上åˆ') { + return hour; + } else if (meridiem === 'ä¸åˆ') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === '下åˆ' || meridiem === '晚上') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + var hm = hour * 100 + minute; + if (hm < 600) { + return '凌晨'; + } else if (hm < 900) { + return '早上'; + } else if (hm < 1130) { + return '上åˆ'; + } else if (hm < 1230) { + return 'ä¸åˆ'; + } else if (hm < 1800) { + return '下åˆ'; + } else { + return '晚上'; + } + }, + calendar : { + sameDay : '[今天]LT', + nextDay : '[明天]LT', + nextWeek : '[下]ddddLT', + lastDay : '[昨天]LT', + lastWeek : '[上]ddddLT', + sameElse : 'L' + }, + dayOfMonthOrdinalParse: /\d{1,2}(æ—¥|月|週)/, + ordinal : function (number, period) { + switch (period) { + case 'd' : + case 'D' : + case 'DDD' : + return number + 'æ—¥'; + case 'M' : + return number + '月'; + case 'w' : + case 'W' : + return number + '週'; + default : + return number; + } + }, + relativeTime : { + future : '%så…§', + past : '%så‰', + s : '幾秒', + ss : '%d ç§’', + m : '1 分é˜', + mm : '%d 分é˜', + h : '1 å°æ™‚', + hh : '%d å°æ™‚', + d : '1 天', + dd : '%d 天', + M : '1 個月', + MM : '%d 個月', + y : '1 å¹´', + yy : '%d å¹´' + } + }); + + //! moment.js locale configuration + + hooks.defineLocale('zh-tw', { + months : '一月_二月_三月_四月_五月_å…æœˆ_七月_八月_乿œˆ_åæœˆ_å一月_å二月'.split('_'), + monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), + weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期å…'.split('_'), + weekdaysShort : '週日_週一_週二_週三_週四_週五_週å…'.split('_'), + weekdaysMin : 'æ—¥_一_二_三_å››_五_å…'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY/MM/DD', + LL : 'YYYYå¹´M月Dæ—¥', + LLL : 'YYYYå¹´M月Dæ—¥ HH:mm', + LLLL : 'YYYYå¹´M月Dæ—¥dddd HH:mm', + l : 'YYYY/M/D', + ll : 'YYYYå¹´M月Dæ—¥', + lll : 'YYYYå¹´M月Dæ—¥ HH:mm', + llll : 'YYYYå¹´M月Dæ—¥dddd HH:mm' + }, + meridiemParse: /凌晨|早上|上åˆ|ä¸åˆ|下åˆ|晚上/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上åˆ') { + return hour; + } else if (meridiem === 'ä¸åˆ') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === '下åˆ' || meridiem === '晚上') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + var hm = hour * 100 + minute; + if (hm < 600) { + return '凌晨'; + } else if (hm < 900) { + return '早上'; + } else if (hm < 1130) { + return '上åˆ'; + } else if (hm < 1230) { + return 'ä¸åˆ'; + } else if (hm < 1800) { + return '下åˆ'; + } else { + return '晚上'; + } + }, + calendar : { + sameDay : '[今天] LT', + nextDay : '[明天] LT', + nextWeek : '[下]dddd LT', + lastDay : '[昨天] LT', + lastWeek : '[上]dddd LT', + sameElse : 'L' + }, + dayOfMonthOrdinalParse: /\d{1,2}(æ—¥|月|週)/, + ordinal : function (number, period) { + switch (period) { + case 'd' : + case 'D' : + case 'DDD' : + return number + 'æ—¥'; + case 'M' : + return number + '月'; + case 'w' : + case 'W' : + return number + '週'; + default : + return number; + } + }, + relativeTime : { + future : '%så…§', + past : '%så‰', + s : '幾秒', + ss : '%d ç§’', + m : '1 分é˜', + mm : '%d 分é˜', + h : '1 å°æ™‚', + hh : '%d å°æ™‚', + d : '1 天', + dd : '%d 天', + M : '1 個月', + MM : '%d 個月', + y : '1 å¹´', + yy : '%d å¹´' + } + }); + + hooks.locale('en'); + + return hooks; + +}))); diff --git a/public/bower_components/moment/min/moment-with-locales.min.js b/public/bower_components/moment/min/moment-with-locales.min.js new file mode 100644 index 0000000..d81e02c --- /dev/null +++ b/public/bower_components/moment/min/moment-with-locales.min.js @@ -0,0 +1 @@ +!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a():"function"==typeof define&&define.amd?define(a):e.moment=a()}(this,function(){"use strict";var e,n;function l(){return e.apply(null,arguments)}function _(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function i(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function o(e){return void 0===e}function m(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function u(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function M(e,a){var t,s=[];for(t=0;t<e.length;++t)s.push(a(e[t],t));return s}function h(e,a){return Object.prototype.hasOwnProperty.call(e,a)}function L(e,a){for(var t in a)h(a,t)&&(e[t]=a[t]);return h(a,"toString")&&(e.toString=a.toString),h(a,"valueOf")&&(e.valueOf=a.valueOf),e}function c(e,a,t,s){return Sa(e,a,t,s,!0).utc()}function Y(e){return null==e._pf&&(e._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),e._pf}function y(e){if(null==e._isValid){var a=Y(e),t=n.call(a.parsedDateParts,function(e){return null!=e}),s=!isNaN(e._d.getTime())&&a.overflow<0&&!a.empty&&!a.invalidMonth&&!a.invalidWeekday&&!a.weekdayMismatch&&!a.nullInput&&!a.invalidFormat&&!a.userInvalidated&&(!a.meridiem||a.meridiem&&t);if(e._strict&&(s=s&&0===a.charsLeftOver&&0===a.unusedTokens.length&&void 0===a.bigHour),null!=Object.isFrozen&&Object.isFrozen(e))return s;e._isValid=s}return e._isValid}function f(e){var a=c(NaN);return null!=e?L(Y(a),e):Y(a).userInvalidated=!0,a}n=Array.prototype.some?Array.prototype.some:function(e){for(var a=Object(this),t=a.length>>>0,s=0;s<t;s++)if(s in a&&e.call(this,a[s],s,a))return!0;return!1};var d=l.momentProperties=[];function k(e,a){var t,s,n;if(o(a._isAMomentObject)||(e._isAMomentObject=a._isAMomentObject),o(a._i)||(e._i=a._i),o(a._f)||(e._f=a._f),o(a._l)||(e._l=a._l),o(a._strict)||(e._strict=a._strict),o(a._tzm)||(e._tzm=a._tzm),o(a._isUTC)||(e._isUTC=a._isUTC),o(a._offset)||(e._offset=a._offset),o(a._pf)||(e._pf=Y(a)),o(a._locale)||(e._locale=a._locale),0<d.length)for(t=0;t<d.length;t++)o(n=a[s=d[t]])||(e[s]=n);return e}var a=!1;function p(e){k(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===a&&(a=!0,l.updateOffset(this),a=!1)}function D(e){return e instanceof p||null!=e&&null!=e._isAMomentObject}function T(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function g(e){var a=+e,t=0;return 0!==a&&isFinite(a)&&(t=T(a)),t}function r(e,a,t){var s,n=Math.min(e.length,a.length),d=Math.abs(e.length-a.length),r=0;for(s=0;s<n;s++)(t&&e[s]!==a[s]||!t&&g(e[s])!==g(a[s]))&&r++;return r+d}function w(e){!1===l.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function t(n,d){var r=!0;return L(function(){if(null!=l.deprecationHandler&&l.deprecationHandler(null,n),r){for(var e,a=[],t=0;t<arguments.length;t++){if(e="","object"==typeof arguments[t]){for(var s in e+="\n["+t+"] ",arguments[0])e+=s+": "+arguments[0][s]+", ";e=e.slice(0,-2)}else e=arguments[t];a.push(e)}w(n+"\nArguments: "+Array.prototype.slice.call(a).join("")+"\n"+(new Error).stack),r=!1}return d.apply(this,arguments)},d)}var s,v={};function S(e,a){null!=l.deprecationHandler&&l.deprecationHandler(e,a),v[e]||(w(a),v[e]=!0)}function H(e){return e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function b(e,a){var t,s=L({},e);for(t in a)h(a,t)&&(i(e[t])&&i(a[t])?(s[t]={},L(s[t],e[t]),L(s[t],a[t])):null!=a[t]?s[t]=a[t]:delete s[t]);for(t in e)h(e,t)&&!h(a,t)&&i(e[t])&&(s[t]=L({},s[t]));return s}function j(e){null!=e&&this.set(e)}l.suppressDeprecationWarnings=!1,l.deprecationHandler=null,s=Object.keys?Object.keys:function(e){var a,t=[];for(a in e)h(e,a)&&t.push(a);return t};var x={};function O(e,a){var t=e.toLowerCase();x[t]=x[t+"s"]=x[a]=e}function P(e){return"string"==typeof e?x[e]||x[e.toLowerCase()]:void 0}function W(e){var a,t,s={};for(t in e)h(e,t)&&(a=P(t))&&(s[a]=e[t]);return s}var A={};function E(e,a){A[e]=a}function F(e,a,t){var s=""+Math.abs(e),n=a-s.length;return(0<=e?t?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+s}var z=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,J=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,N={},R={};function C(e,a,t,s){var n=s;"string"==typeof s&&(n=function(){return this[s]()}),e&&(R[e]=n),a&&(R[a[0]]=function(){return F(n.apply(this,arguments),a[1],a[2])}),t&&(R[t]=function(){return this.localeData().ordinal(n.apply(this,arguments),e)})}function I(e,a){return e.isValid()?(a=U(a,e.localeData()),N[a]=N[a]||function(s){var e,n,a,d=s.match(z);for(e=0,n=d.length;e<n;e++)R[d[e]]?d[e]=R[d[e]]:d[e]=(a=d[e]).match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"");return function(e){var a,t="";for(a=0;a<n;a++)t+=H(d[a])?d[a].call(e,s):d[a];return t}}(a),N[a](e)):e.localeData().invalidDate()}function U(e,a){var t=5;function s(e){return a.longDateFormat(e)||e}for(J.lastIndex=0;0<=t&&J.test(e);)e=e.replace(J,s),J.lastIndex=0,t-=1;return e}var G=/\d/,V=/\d\d/,K=/\d{3}/,Z=/\d{4}/,$=/[+-]?\d{6}/,B=/\d\d?/,q=/\d\d\d\d?/,Q=/\d\d\d\d\d\d?/,X=/\d{1,3}/,ee=/\d{1,4}/,ae=/[+-]?\d{1,6}/,te=/\d+/,se=/[+-]?\d+/,ne=/Z|[+-]\d\d:?\d\d/gi,de=/Z|[+-]\d\d(?::?\d\d)?/gi,re=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,_e={};function ie(e,t,s){_e[e]=H(t)?t:function(e,a){return e&&s?s:t}}function oe(e,a){return h(_e,e)?_e[e](a._strict,a._locale):new RegExp(me(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,a,t,s,n){return a||t||s||n})))}function me(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var ue={};function le(e,t){var a,s=t;for("string"==typeof e&&(e=[e]),m(t)&&(s=function(e,a){a[t]=g(e)}),a=0;a<e.length;a++)ue[e[a]]=s}function Me(e,n){le(e,function(e,a,t,s){t._w=t._w||{},n(e,t._w,t,s)})}var he=0,Le=1,ce=2,Ye=3,ye=4,fe=5,ke=6,pe=7,De=8;function Te(e){return ge(e)?366:365}function ge(e){return e%4==0&&e%100!=0||e%400==0}C("Y",0,0,function(){var e=this.year();return e<=9999?""+e:"+"+e}),C(0,["YY",2],0,function(){return this.year()%100}),C(0,["YYYY",4],0,"year"),C(0,["YYYYY",5],0,"year"),C(0,["YYYYYY",6,!0],0,"year"),O("year","y"),E("year",1),ie("Y",se),ie("YY",B,V),ie("YYYY",ee,Z),ie("YYYYY",ae,$),ie("YYYYYY",ae,$),le(["YYYYY","YYYYYY"],he),le("YYYY",function(e,a){a[he]=2===e.length?l.parseTwoDigitYear(e):g(e)}),le("YY",function(e,a){a[he]=l.parseTwoDigitYear(e)}),le("Y",function(e,a){a[he]=parseInt(e,10)}),l.parseTwoDigitYear=function(e){return g(e)+(68<g(e)?1900:2e3)};var we,ve=Se("FullYear",!0);function Se(a,t){return function(e){return null!=e?(be(this,a,e),l.updateOffset(this,t),this):He(this,a)}}function He(e,a){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+a]():NaN}function be(e,a,t){e.isValid()&&!isNaN(t)&&("FullYear"===a&&ge(e.year())&&1===e.month()&&29===e.date()?e._d["set"+(e._isUTC?"UTC":"")+a](t,e.month(),je(t,e.month())):e._d["set"+(e._isUTC?"UTC":"")+a](t))}function je(e,a){if(isNaN(e)||isNaN(a))return NaN;var t,s=(a%(t=12)+t)%t;return e+=(a-s)/12,1===s?ge(e)?29:28:31-s%7%2}we=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var a;for(a=0;a<this.length;++a)if(this[a]===e)return a;return-1},C("M",["MM",2],"Mo",function(){return this.month()+1}),C("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),C("MMMM",0,0,function(e){return this.localeData().months(this,e)}),O("month","M"),E("month",8),ie("M",B),ie("MM",B,V),ie("MMM",function(e,a){return a.monthsShortRegex(e)}),ie("MMMM",function(e,a){return a.monthsRegex(e)}),le(["M","MM"],function(e,a){a[Le]=g(e)-1}),le(["MMM","MMMM"],function(e,a,t,s){var n=t._locale.monthsParse(e,s,t._strict);null!=n?a[Le]=n:Y(t).invalidMonth=e});var xe=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Oe="January_February_March_April_May_June_July_August_September_October_November_December".split("_");var Pe="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_");function We(e,a){var t;if(!e.isValid())return e;if("string"==typeof a)if(/^\d+$/.test(a))a=g(a);else if(!m(a=e.localeData().monthsParse(a)))return e;return t=Math.min(e.date(),je(e.year(),a)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](a,t),e}function Ae(e){return null!=e?(We(this,e),l.updateOffset(this,!0),this):He(this,"Month")}var Ee=re;var Fe=re;function ze(){function e(e,a){return a.length-e.length}var a,t,s=[],n=[],d=[];for(a=0;a<12;a++)t=c([2e3,a]),s.push(this.monthsShort(t,"")),n.push(this.months(t,"")),d.push(this.months(t,"")),d.push(this.monthsShort(t,""));for(s.sort(e),n.sort(e),d.sort(e),a=0;a<12;a++)s[a]=me(s[a]),n[a]=me(n[a]);for(a=0;a<24;a++)d[a]=me(d[a]);this._monthsRegex=new RegExp("^("+d.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+n.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+s.join("|")+")","i")}function Je(e){var a;if(e<100&&0<=e){var t=Array.prototype.slice.call(arguments);t[0]=e+400,a=new Date(Date.UTC.apply(null,t)),isFinite(a.getUTCFullYear())&&a.setUTCFullYear(e)}else a=new Date(Date.UTC.apply(null,arguments));return a}function Ne(e,a,t){var s=7+a-t;return-((7+Je(e,0,s).getUTCDay()-a)%7)+s-1}function Re(e,a,t,s,n){var d,r,_=1+7*(a-1)+(7+t-s)%7+Ne(e,s,n);return r=_<=0?Te(d=e-1)+_:_>Te(e)?(d=e+1,_-Te(e)):(d=e,_),{year:d,dayOfYear:r}}function Ce(e,a,t){var s,n,d=Ne(e.year(),a,t),r=Math.floor((e.dayOfYear()-d-1)/7)+1;return r<1?s=r+Ie(n=e.year()-1,a,t):r>Ie(e.year(),a,t)?(s=r-Ie(e.year(),a,t),n=e.year()+1):(n=e.year(),s=r),{week:s,year:n}}function Ie(e,a,t){var s=Ne(e,a,t),n=Ne(e+1,a,t);return(Te(e)-s+n)/7}C("w",["ww",2],"wo","week"),C("W",["WW",2],"Wo","isoWeek"),O("week","w"),O("isoWeek","W"),E("week",5),E("isoWeek",5),ie("w",B),ie("ww",B,V),ie("W",B),ie("WW",B,V),Me(["w","ww","W","WW"],function(e,a,t,s){a[s.substr(0,1)]=g(e)});function Ue(e,a){return e.slice(a,7).concat(e.slice(0,a))}C("d",0,"do","day"),C("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),C("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),C("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),C("e",0,0,"weekday"),C("E",0,0,"isoWeekday"),O("day","d"),O("weekday","e"),O("isoWeekday","E"),E("day",11),E("weekday",11),E("isoWeekday",11),ie("d",B),ie("e",B),ie("E",B),ie("dd",function(e,a){return a.weekdaysMinRegex(e)}),ie("ddd",function(e,a){return a.weekdaysShortRegex(e)}),ie("dddd",function(e,a){return a.weekdaysRegex(e)}),Me(["dd","ddd","dddd"],function(e,a,t,s){var n=t._locale.weekdaysParse(e,s,t._strict);null!=n?a.d=n:Y(t).invalidWeekday=e}),Me(["d","e","E"],function(e,a,t,s){a[s]=g(e)});var Ge="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_");var Ve="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_");var Ke="Su_Mo_Tu_We_Th_Fr_Sa".split("_");var Ze=re;var $e=re;var Be=re;function qe(){function e(e,a){return a.length-e.length}var a,t,s,n,d,r=[],_=[],i=[],o=[];for(a=0;a<7;a++)t=c([2e3,1]).day(a),s=this.weekdaysMin(t,""),n=this.weekdaysShort(t,""),d=this.weekdays(t,""),r.push(s),_.push(n),i.push(d),o.push(s),o.push(n),o.push(d);for(r.sort(e),_.sort(e),i.sort(e),o.sort(e),a=0;a<7;a++)_[a]=me(_[a]),i[a]=me(i[a]),o[a]=me(o[a]);this._weekdaysRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+_.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Qe(){return this.hours()%12||12}function Xe(e,a){C(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),a)})}function ea(e,a){return a._meridiemParse}C("H",["HH",2],0,"hour"),C("h",["hh",2],0,Qe),C("k",["kk",2],0,function(){return this.hours()||24}),C("hmm",0,0,function(){return""+Qe.apply(this)+F(this.minutes(),2)}),C("hmmss",0,0,function(){return""+Qe.apply(this)+F(this.minutes(),2)+F(this.seconds(),2)}),C("Hmm",0,0,function(){return""+this.hours()+F(this.minutes(),2)}),C("Hmmss",0,0,function(){return""+this.hours()+F(this.minutes(),2)+F(this.seconds(),2)}),Xe("a",!0),Xe("A",!1),O("hour","h"),E("hour",13),ie("a",ea),ie("A",ea),ie("H",B),ie("h",B),ie("k",B),ie("HH",B,V),ie("hh",B,V),ie("kk",B,V),ie("hmm",q),ie("hmmss",Q),ie("Hmm",q),ie("Hmmss",Q),le(["H","HH"],Ye),le(["k","kk"],function(e,a,t){var s=g(e);a[Ye]=24===s?0:s}),le(["a","A"],function(e,a,t){t._isPm=t._locale.isPM(e),t._meridiem=e}),le(["h","hh"],function(e,a,t){a[Ye]=g(e),Y(t).bigHour=!0}),le("hmm",function(e,a,t){var s=e.length-2;a[Ye]=g(e.substr(0,s)),a[ye]=g(e.substr(s)),Y(t).bigHour=!0}),le("hmmss",function(e,a,t){var s=e.length-4,n=e.length-2;a[Ye]=g(e.substr(0,s)),a[ye]=g(e.substr(s,2)),a[fe]=g(e.substr(n)),Y(t).bigHour=!0}),le("Hmm",function(e,a,t){var s=e.length-2;a[Ye]=g(e.substr(0,s)),a[ye]=g(e.substr(s))}),le("Hmmss",function(e,a,t){var s=e.length-4,n=e.length-2;a[Ye]=g(e.substr(0,s)),a[ye]=g(e.substr(s,2)),a[fe]=g(e.substr(n))});var aa,ta=Se("Hours",!0),sa={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Oe,monthsShort:Pe,week:{dow:0,doy:6},weekdays:Ge,weekdaysMin:Ke,weekdaysShort:Ve,meridiemParse:/[ap]\.?m?\.?/i},na={},da={};function ra(e){return e?e.toLowerCase().replace("_","-"):e}function _a(e){var a=null;if(!na[e]&&"undefined"!=typeof module&&module&&module.exports)try{a=aa._abbr,require("./locale/"+e),ia(a)}catch(e){}return na[e]}function ia(e,a){var t;return e&&((t=o(a)?ma(e):oa(e,a))?aa=t:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),aa._abbr}function oa(e,a){if(null===a)return delete na[e],null;var t,s=sa;if(a.abbr=e,null!=na[e])S("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),s=na[e]._config;else if(null!=a.parentLocale)if(null!=na[a.parentLocale])s=na[a.parentLocale]._config;else{if(null==(t=_a(a.parentLocale)))return da[a.parentLocale]||(da[a.parentLocale]=[]),da[a.parentLocale].push({name:e,config:a}),null;s=t._config}return na[e]=new j(b(s,a)),da[e]&&da[e].forEach(function(e){oa(e.name,e.config)}),ia(e),na[e]}function ma(e){var a;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return aa;if(!_(e)){if(a=_a(e))return a;e=[e]}return function(e){for(var a,t,s,n,d=0;d<e.length;){for(a=(n=ra(e[d]).split("-")).length,t=(t=ra(e[d+1]))?t.split("-"):null;0<a;){if(s=_a(n.slice(0,a).join("-")))return s;if(t&&t.length>=a&&r(n,t,!0)>=a-1)break;a--}d++}return aa}(e)}function ua(e){var a,t=e._a;return t&&-2===Y(e).overflow&&(a=t[Le]<0||11<t[Le]?Le:t[ce]<1||t[ce]>je(t[he],t[Le])?ce:t[Ye]<0||24<t[Ye]||24===t[Ye]&&(0!==t[ye]||0!==t[fe]||0!==t[ke])?Ye:t[ye]<0||59<t[ye]?ye:t[fe]<0||59<t[fe]?fe:t[ke]<0||999<t[ke]?ke:-1,Y(e)._overflowDayOfYear&&(a<he||ce<a)&&(a=ce),Y(e)._overflowWeeks&&-1===a&&(a=pe),Y(e)._overflowWeekday&&-1===a&&(a=De),Y(e).overflow=a),e}function la(e,a,t){return null!=e?e:null!=a?a:t}function Ma(e){var a,t,s,n,d,r=[];if(!e._d){var _,i;for(_=e,i=new Date(l.now()),s=_._useUTC?[i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate()]:[i.getFullYear(),i.getMonth(),i.getDate()],e._w&&null==e._a[ce]&&null==e._a[Le]&&function(e){var a,t,s,n,d,r,_,i;if(null!=(a=e._w).GG||null!=a.W||null!=a.E)d=1,r=4,t=la(a.GG,e._a[he],Ce(Ha(),1,4).year),s=la(a.W,1),((n=la(a.E,1))<1||7<n)&&(i=!0);else{d=e._locale._week.dow,r=e._locale._week.doy;var o=Ce(Ha(),d,r);t=la(a.gg,e._a[he],o.year),s=la(a.w,o.week),null!=a.d?((n=a.d)<0||6<n)&&(i=!0):null!=a.e?(n=a.e+d,(a.e<0||6<a.e)&&(i=!0)):n=d}s<1||s>Ie(t,d,r)?Y(e)._overflowWeeks=!0:null!=i?Y(e)._overflowWeekday=!0:(_=Re(t,s,n,d,r),e._a[he]=_.year,e._dayOfYear=_.dayOfYear)}(e),null!=e._dayOfYear&&(d=la(e._a[he],s[he]),(e._dayOfYear>Te(d)||0===e._dayOfYear)&&(Y(e)._overflowDayOfYear=!0),t=Je(d,0,e._dayOfYear),e._a[Le]=t.getUTCMonth(),e._a[ce]=t.getUTCDate()),a=0;a<3&&null==e._a[a];++a)e._a[a]=r[a]=s[a];for(;a<7;a++)e._a[a]=r[a]=null==e._a[a]?2===a?1:0:e._a[a];24===e._a[Ye]&&0===e._a[ye]&&0===e._a[fe]&&0===e._a[ke]&&(e._nextDay=!0,e._a[Ye]=0),e._d=(e._useUTC?Je:function(e,a,t,s,n,d,r){var _;return e<100&&0<=e?(_=new Date(e+400,a,t,s,n,d,r),isFinite(_.getFullYear())&&_.setFullYear(e)):_=new Date(e,a,t,s,n,d,r),_}).apply(null,r),n=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[Ye]=24),e._w&&void 0!==e._w.d&&e._w.d!==n&&(Y(e).weekdayMismatch=!0)}}var ha=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,La=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ca=/Z|[+-]\d\d(?::?\d\d)?/,Ya=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],ya=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],fa=/^\/?Date\((\-?\d+)/i;function ka(e){var a,t,s,n,d,r,_=e._i,i=ha.exec(_)||La.exec(_);if(i){for(Y(e).iso=!0,a=0,t=Ya.length;a<t;a++)if(Ya[a][1].exec(i[1])){n=Ya[a][0],s=!1!==Ya[a][2];break}if(null==n)return void(e._isValid=!1);if(i[3]){for(a=0,t=ya.length;a<t;a++)if(ya[a][1].exec(i[3])){d=(i[2]||" ")+ya[a][0];break}if(null==d)return void(e._isValid=!1)}if(!s&&null!=d)return void(e._isValid=!1);if(i[4]){if(!ca.exec(i[4]))return void(e._isValid=!1);r="Z"}e._f=n+(d||"")+(r||""),wa(e)}else e._isValid=!1}var pa=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;function Da(e,a,t,s,n,d){var r=[function(e){var a=parseInt(e,10);{if(a<=49)return 2e3+a;if(a<=999)return 1900+a}return a}(e),Pe.indexOf(a),parseInt(t,10),parseInt(s,10),parseInt(n,10)];return d&&r.push(parseInt(d,10)),r}var Ta={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function ga(e){var a,t,s,n=pa.exec(e._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(n){var d=Da(n[4],n[3],n[2],n[5],n[6],n[7]);if(a=n[1],t=d,s=e,a&&Ve.indexOf(a)!==new Date(t[0],t[1],t[2]).getDay()&&(Y(s).weekdayMismatch=!0,!(s._isValid=!1)))return;e._a=d,e._tzm=function(e,a,t){if(e)return Ta[e];if(a)return 0;var s=parseInt(t,10),n=s%100;return(s-n)/100*60+n}(n[8],n[9],n[10]),e._d=Je.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),Y(e).rfc2822=!0}else e._isValid=!1}function wa(e){if(e._f!==l.ISO_8601)if(e._f!==l.RFC_2822){e._a=[],Y(e).empty=!0;var a,t,s,n,d,r,_,i,o=""+e._i,m=o.length,u=0;for(s=U(e._f,e._locale).match(z)||[],a=0;a<s.length;a++)n=s[a],(t=(o.match(oe(n,e))||[])[0])&&(0<(d=o.substr(0,o.indexOf(t))).length&&Y(e).unusedInput.push(d),o=o.slice(o.indexOf(t)+t.length),u+=t.length),R[n]?(t?Y(e).empty=!1:Y(e).unusedTokens.push(n),r=n,i=e,null!=(_=t)&&h(ue,r)&&ue[r](_,i._a,i,r)):e._strict&&!t&&Y(e).unusedTokens.push(n);Y(e).charsLeftOver=m-u,0<o.length&&Y(e).unusedInput.push(o),e._a[Ye]<=12&&!0===Y(e).bigHour&&0<e._a[Ye]&&(Y(e).bigHour=void 0),Y(e).parsedDateParts=e._a.slice(0),Y(e).meridiem=e._meridiem,e._a[Ye]=function(e,a,t){var s;if(null==t)return a;return null!=e.meridiemHour?e.meridiemHour(a,t):(null!=e.isPM&&((s=e.isPM(t))&&a<12&&(a+=12),s||12!==a||(a=0)),a)}(e._locale,e._a[Ye],e._meridiem),Ma(e),ua(e)}else ga(e);else ka(e)}function va(e){var a,t,s,n,d=e._i,r=e._f;return e._locale=e._locale||ma(e._l),null===d||void 0===r&&""===d?f({nullInput:!0}):("string"==typeof d&&(e._i=d=e._locale.preparse(d)),D(d)?new p(ua(d)):(u(d)?e._d=d:_(r)?function(e){var a,t,s,n,d;if(0===e._f.length)return Y(e).invalidFormat=!0,e._d=new Date(NaN);for(n=0;n<e._f.length;n++)d=0,a=k({},e),null!=e._useUTC&&(a._useUTC=e._useUTC),a._f=e._f[n],wa(a),y(a)&&(d+=Y(a).charsLeftOver,d+=10*Y(a).unusedTokens.length,Y(a).score=d,(null==s||d<s)&&(s=d,t=a));L(e,t||a)}(e):r?wa(e):o(t=(a=e)._i)?a._d=new Date(l.now()):u(t)?a._d=new Date(t.valueOf()):"string"==typeof t?(s=a,null===(n=fa.exec(s._i))?(ka(s),!1===s._isValid&&(delete s._isValid,ga(s),!1===s._isValid&&(delete s._isValid,l.createFromInputFallback(s)))):s._d=new Date(+n[1])):_(t)?(a._a=M(t.slice(0),function(e){return parseInt(e,10)}),Ma(a)):i(t)?function(e){if(!e._d){var a=W(e._i);e._a=M([a.year,a.month,a.day||a.date,a.hour,a.minute,a.second,a.millisecond],function(e){return e&&parseInt(e,10)}),Ma(e)}}(a):m(t)?a._d=new Date(t):l.createFromInputFallback(a),y(e)||(e._d=null),e))}function Sa(e,a,t,s,n){var d,r={};return!0!==t&&!1!==t||(s=t,t=void 0),(i(e)&&function(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var a;for(a in e)if(e.hasOwnProperty(a))return!1;return!0}(e)||_(e)&&0===e.length)&&(e=void 0),r._isAMomentObject=!0,r._useUTC=r._isUTC=n,r._l=t,r._i=e,r._f=a,r._strict=s,(d=new p(ua(va(r))))._nextDay&&(d.add(1,"d"),d._nextDay=void 0),d}function Ha(e,a,t,s){return Sa(e,a,t,s,!1)}l.createFromInputFallback=t("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),l.ISO_8601=function(){},l.RFC_2822=function(){};var ba=t("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=Ha.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:f()}),ja=t("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=Ha.apply(null,arguments);return this.isValid()&&e.isValid()?this<e?this:e:f()});function xa(e,a){var t,s;if(1===a.length&&_(a[0])&&(a=a[0]),!a.length)return Ha();for(t=a[0],s=1;s<a.length;++s)a[s].isValid()&&!a[s][e](t)||(t=a[s]);return t}var Oa=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Pa(e){var a=W(e),t=a.year||0,s=a.quarter||0,n=a.month||0,d=a.week||a.isoWeek||0,r=a.day||0,_=a.hour||0,i=a.minute||0,o=a.second||0,m=a.millisecond||0;this._isValid=function(e){for(var a in e)if(-1===we.call(Oa,a)||null!=e[a]&&isNaN(e[a]))return!1;for(var t=!1,s=0;s<Oa.length;++s)if(e[Oa[s]]){if(t)return!1;parseFloat(e[Oa[s]])!==g(e[Oa[s]])&&(t=!0)}return!0}(a),this._milliseconds=+m+1e3*o+6e4*i+1e3*_*60*60,this._days=+r+7*d,this._months=+n+3*s+12*t,this._data={},this._locale=ma(),this._bubble()}function Wa(e){return e instanceof Pa}function Aa(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function Ea(e,t){C(e,0,0,function(){var e=this.utcOffset(),a="+";return e<0&&(e=-e,a="-"),a+F(~~(e/60),2)+t+F(~~e%60,2)})}Ea("Z",":"),Ea("ZZ",""),ie("Z",de),ie("ZZ",de),le(["Z","ZZ"],function(e,a,t){t._useUTC=!0,t._tzm=za(de,e)});var Fa=/([\+\-]|\d\d)/gi;function za(e,a){var t=(a||"").match(e);if(null===t)return null;var s=((t[t.length-1]||[])+"").match(Fa)||["-",0,0],n=60*s[1]+g(s[2]);return 0===n?0:"+"===s[0]?n:-n}function Ja(e,a){var t,s;return a._isUTC?(t=a.clone(),s=(D(e)||u(e)?e.valueOf():Ha(e).valueOf())-t.valueOf(),t._d.setTime(t._d.valueOf()+s),l.updateOffset(t,!1),t):Ha(e).local()}function Na(e){return 15*-Math.round(e._d.getTimezoneOffset()/15)}function Ra(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}l.updateOffset=function(){};var Ca=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Ia=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Ua(e,a){var t,s,n,d=e,r=null;return Wa(e)?d={ms:e._milliseconds,d:e._days,M:e._months}:m(e)?(d={},a?d[a]=e:d.milliseconds=e):(r=Ca.exec(e))?(t="-"===r[1]?-1:1,d={y:0,d:g(r[ce])*t,h:g(r[Ye])*t,m:g(r[ye])*t,s:g(r[fe])*t,ms:g(Aa(1e3*r[ke]))*t}):(r=Ia.exec(e))?(t="-"===r[1]?-1:1,d={y:Ga(r[2],t),M:Ga(r[3],t),w:Ga(r[4],t),d:Ga(r[5],t),h:Ga(r[6],t),m:Ga(r[7],t),s:Ga(r[8],t)}):null==d?d={}:"object"==typeof d&&("from"in d||"to"in d)&&(n=function(e,a){var t;if(!e.isValid()||!a.isValid())return{milliseconds:0,months:0};a=Ja(a,e),e.isBefore(a)?t=Va(e,a):((t=Va(a,e)).milliseconds=-t.milliseconds,t.months=-t.months);return t}(Ha(d.from),Ha(d.to)),(d={}).ms=n.milliseconds,d.M=n.months),s=new Pa(d),Wa(e)&&h(e,"_locale")&&(s._locale=e._locale),s}function Ga(e,a){var t=e&&parseFloat(e.replace(",","."));return(isNaN(t)?0:t)*a}function Va(e,a){var t={};return t.months=a.month()-e.month()+12*(a.year()-e.year()),e.clone().add(t.months,"M").isAfter(a)&&--t.months,t.milliseconds=+a-+e.clone().add(t.months,"M"),t}function Ka(s,n){return function(e,a){var t;return null===a||isNaN(+a)||(S(n,"moment()."+n+"(period, number) is deprecated. Please use moment()."+n+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),t=e,e=a,a=t),Za(this,Ua(e="string"==typeof e?+e:e,a),s),this}}function Za(e,a,t,s){var n=a._milliseconds,d=Aa(a._days),r=Aa(a._months);e.isValid()&&(s=null==s||s,r&&We(e,He(e,"Month")+r*t),d&&be(e,"Date",He(e,"Date")+d*t),n&&e._d.setTime(e._d.valueOf()+n*t),s&&l.updateOffset(e,d||r))}Ua.fn=Pa.prototype,Ua.invalid=function(){return Ua(NaN)};var $a=Ka(1,"add"),Ba=Ka(-1,"subtract");function qa(e,a){var t=12*(a.year()-e.year())+(a.month()-e.month()),s=e.clone().add(t,"months");return-(t+(a-s<0?(a-s)/(s-e.clone().add(t-1,"months")):(a-s)/(e.clone().add(t+1,"months")-s)))||0}function Qa(e){var a;return void 0===e?this._locale._abbr:(null!=(a=ma(e))&&(this._locale=a),this)}l.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",l.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Xa=t("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});function et(){return this._locale}var at=126227808e5;function tt(e,a){return(e%a+a)%a}function st(e,a,t){return e<100&&0<=e?new Date(e+400,a,t)-at:new Date(e,a,t).valueOf()}function nt(e,a,t){return e<100&&0<=e?Date.UTC(e+400,a,t)-at:Date.UTC(e,a,t)}function dt(e,a){C(0,[e,e.length],0,a)}function rt(e,a,t,s,n){var d;return null==e?Ce(this,s,n).year:((d=Ie(e,s,n))<a&&(a=d),function(e,a,t,s,n){var d=Re(e,a,t,s,n),r=Je(d.year,0,d.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}.call(this,e,a,t,s,n))}C(0,["gg",2],0,function(){return this.weekYear()%100}),C(0,["GG",2],0,function(){return this.isoWeekYear()%100}),dt("gggg","weekYear"),dt("ggggg","weekYear"),dt("GGGG","isoWeekYear"),dt("GGGGG","isoWeekYear"),O("weekYear","gg"),O("isoWeekYear","GG"),E("weekYear",1),E("isoWeekYear",1),ie("G",se),ie("g",se),ie("GG",B,V),ie("gg",B,V),ie("GGGG",ee,Z),ie("gggg",ee,Z),ie("GGGGG",ae,$),ie("ggggg",ae,$),Me(["gggg","ggggg","GGGG","GGGGG"],function(e,a,t,s){a[s.substr(0,2)]=g(e)}),Me(["gg","GG"],function(e,a,t,s){a[s]=l.parseTwoDigitYear(e)}),C("Q",0,"Qo","quarter"),O("quarter","Q"),E("quarter",7),ie("Q",G),le("Q",function(e,a){a[Le]=3*(g(e)-1)}),C("D",["DD",2],"Do","date"),O("date","D"),E("date",9),ie("D",B),ie("DD",B,V),ie("Do",function(e,a){return e?a._dayOfMonthOrdinalParse||a._ordinalParse:a._dayOfMonthOrdinalParseLenient}),le(["D","DD"],ce),le("Do",function(e,a){a[ce]=g(e.match(B)[0])});var _t=Se("Date",!0);C("DDD",["DDDD",3],"DDDo","dayOfYear"),O("dayOfYear","DDD"),E("dayOfYear",4),ie("DDD",X),ie("DDDD",K),le(["DDD","DDDD"],function(e,a,t){t._dayOfYear=g(e)}),C("m",["mm",2],0,"minute"),O("minute","m"),E("minute",14),ie("m",B),ie("mm",B,V),le(["m","mm"],ye);var it=Se("Minutes",!1);C("s",["ss",2],0,"second"),O("second","s"),E("second",15),ie("s",B),ie("ss",B,V),le(["s","ss"],fe);var ot,mt=Se("Seconds",!1);for(C("S",0,0,function(){return~~(this.millisecond()/100)}),C(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),C(0,["SSS",3],0,"millisecond"),C(0,["SSSS",4],0,function(){return 10*this.millisecond()}),C(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),C(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),C(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),C(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),C(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),O("millisecond","ms"),E("millisecond",16),ie("S",X,G),ie("SS",X,V),ie("SSS",X,K),ot="SSSS";ot.length<=9;ot+="S")ie(ot,te);function ut(e,a){a[ke]=g(1e3*("0."+e))}for(ot="S";ot.length<=9;ot+="S")le(ot,ut);var lt=Se("Milliseconds",!1);C("z",0,0,"zoneAbbr"),C("zz",0,0,"zoneName");var Mt=p.prototype;function ht(e){return e}Mt.add=$a,Mt.calendar=function(e,a){var t=e||Ha(),s=Ja(t,this).startOf("day"),n=l.calendarFormat(this,s)||"sameElse",d=a&&(H(a[n])?a[n].call(this,t):a[n]);return this.format(d||this.localeData().calendar(n,this,Ha(t)))},Mt.clone=function(){return new p(this)},Mt.diff=function(e,a,t){var s,n,d;if(!this.isValid())return NaN;if(!(s=Ja(e,this)).isValid())return NaN;switch(n=6e4*(s.utcOffset()-this.utcOffset()),a=P(a)){case"year":d=qa(this,s)/12;break;case"month":d=qa(this,s);break;case"quarter":d=qa(this,s)/3;break;case"second":d=(this-s)/1e3;break;case"minute":d=(this-s)/6e4;break;case"hour":d=(this-s)/36e5;break;case"day":d=(this-s-n)/864e5;break;case"week":d=(this-s-n)/6048e5;break;default:d=this-s}return t?d:T(d)},Mt.endOf=function(e){var a;if(void 0===(e=P(e))||"millisecond"===e||!this.isValid())return this;var t=this._isUTC?nt:st;switch(e){case"year":a=t(this.year()+1,0,1)-1;break;case"quarter":a=t(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":a=t(this.year(),this.month()+1,1)-1;break;case"week":a=t(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":a=t(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":a=t(this.year(),this.month(),this.date()+1)-1;break;case"hour":a=this._d.valueOf(),a+=36e5-tt(a+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":a=this._d.valueOf(),a+=6e4-tt(a,6e4)-1;break;case"second":a=this._d.valueOf(),a+=1e3-tt(a,1e3)-1;break}return this._d.setTime(a),l.updateOffset(this,!0),this},Mt.format=function(e){e||(e=this.isUtc()?l.defaultFormatUtc:l.defaultFormat);var a=I(this,e);return this.localeData().postformat(a)},Mt.from=function(e,a){return this.isValid()&&(D(e)&&e.isValid()||Ha(e).isValid())?Ua({to:this,from:e}).locale(this.locale()).humanize(!a):this.localeData().invalidDate()},Mt.fromNow=function(e){return this.from(Ha(),e)},Mt.to=function(e,a){return this.isValid()&&(D(e)&&e.isValid()||Ha(e).isValid())?Ua({from:this,to:e}).locale(this.locale()).humanize(!a):this.localeData().invalidDate()},Mt.toNow=function(e){return this.to(Ha(),e)},Mt.get=function(e){return H(this[e=P(e)])?this[e]():this},Mt.invalidAt=function(){return Y(this).overflow},Mt.isAfter=function(e,a){var t=D(e)?e:Ha(e);return!(!this.isValid()||!t.isValid())&&("millisecond"===(a=P(a)||"millisecond")?this.valueOf()>t.valueOf():t.valueOf()<this.clone().startOf(a).valueOf())},Mt.isBefore=function(e,a){var t=D(e)?e:Ha(e);return!(!this.isValid()||!t.isValid())&&("millisecond"===(a=P(a)||"millisecond")?this.valueOf()<t.valueOf():this.clone().endOf(a).valueOf()<t.valueOf())},Mt.isBetween=function(e,a,t,s){var n=D(e)?e:Ha(e),d=D(a)?a:Ha(a);return!!(this.isValid()&&n.isValid()&&d.isValid())&&("("===(s=s||"()")[0]?this.isAfter(n,t):!this.isBefore(n,t))&&(")"===s[1]?this.isBefore(d,t):!this.isAfter(d,t))},Mt.isSame=function(e,a){var t,s=D(e)?e:Ha(e);return!(!this.isValid()||!s.isValid())&&("millisecond"===(a=P(a)||"millisecond")?this.valueOf()===s.valueOf():(t=s.valueOf(),this.clone().startOf(a).valueOf()<=t&&t<=this.clone().endOf(a).valueOf()))},Mt.isSameOrAfter=function(e,a){return this.isSame(e,a)||this.isAfter(e,a)},Mt.isSameOrBefore=function(e,a){return this.isSame(e,a)||this.isBefore(e,a)},Mt.isValid=function(){return y(this)},Mt.lang=Xa,Mt.locale=Qa,Mt.localeData=et,Mt.max=ja,Mt.min=ba,Mt.parsingFlags=function(){return L({},Y(this))},Mt.set=function(e,a){if("object"==typeof e)for(var t=function(e){var a=[];for(var t in e)a.push({unit:t,priority:A[t]});return a.sort(function(e,a){return e.priority-a.priority}),a}(e=W(e)),s=0;s<t.length;s++)this[t[s].unit](e[t[s].unit]);else if(H(this[e=P(e)]))return this[e](a);return this},Mt.startOf=function(e){var a;if(void 0===(e=P(e))||"millisecond"===e||!this.isValid())return this;var t=this._isUTC?nt:st;switch(e){case"year":a=t(this.year(),0,1);break;case"quarter":a=t(this.year(),this.month()-this.month()%3,1);break;case"month":a=t(this.year(),this.month(),1);break;case"week":a=t(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":a=t(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":a=t(this.year(),this.month(),this.date());break;case"hour":a=this._d.valueOf(),a-=tt(a+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":a=this._d.valueOf(),a-=tt(a,6e4);break;case"second":a=this._d.valueOf(),a-=tt(a,1e3);break}return this._d.setTime(a),l.updateOffset(this,!0),this},Mt.subtract=Ba,Mt.toArray=function(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]},Mt.toObject=function(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}},Mt.toDate=function(){return new Date(this.valueOf())},Mt.toISOString=function(e){if(!this.isValid())return null;var a=!0!==e,t=a?this.clone().utc():this;return t.year()<0||9999<t.year()?I(t,a?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):H(Date.prototype.toISOString)?a?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",I(t,"Z")):I(t,a?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},Mt.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",a="";this.isLocal()||(e=0===this.utcOffset()?"moment.utc":"moment.parseZone",a="Z");var t="["+e+'("]',s=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",n=a+'[")]';return this.format(t+s+"-MM-DD[T]HH:mm:ss.SSS"+n)},Mt.toJSON=function(){return this.isValid()?this.toISOString():null},Mt.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},Mt.unix=function(){return Math.floor(this.valueOf()/1e3)},Mt.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},Mt.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},Mt.year=ve,Mt.isLeapYear=function(){return ge(this.year())},Mt.weekYear=function(e){return rt.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},Mt.isoWeekYear=function(e){return rt.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},Mt.quarter=Mt.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},Mt.month=Ae,Mt.daysInMonth=function(){return je(this.year(),this.month())},Mt.week=Mt.weeks=function(e){var a=this.localeData().week(this);return null==e?a:this.add(7*(e-a),"d")},Mt.isoWeek=Mt.isoWeeks=function(e){var a=Ce(this,1,4).week;return null==e?a:this.add(7*(e-a),"d")},Mt.weeksInYear=function(){var e=this.localeData()._week;return Ie(this.year(),e.dow,e.doy)},Mt.isoWeeksInYear=function(){return Ie(this.year(),1,4)},Mt.date=_t,Mt.day=Mt.days=function(e){if(!this.isValid())return null!=e?this:NaN;var a,t,s=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(a=e,t=this.localeData(),e="string"!=typeof a?a:isNaN(a)?"number"==typeof(a=t.weekdaysParse(a))?a:null:parseInt(a,10),this.add(e-s,"d")):s},Mt.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var a=(this.day()+7-this.localeData()._week.dow)%7;return null==e?a:this.add(e-a,"d")},Mt.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null==e)return this.day()||7;var a,t,s=(a=e,t=this.localeData(),"string"==typeof a?t.weekdaysParse(a)%7||7:isNaN(a)?null:a);return this.day(this.day()%7?s:s-7)},Mt.dayOfYear=function(e){var a=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?a:this.add(e-a,"d")},Mt.hour=Mt.hours=ta,Mt.minute=Mt.minutes=it,Mt.second=Mt.seconds=mt,Mt.millisecond=Mt.milliseconds=lt,Mt.utcOffset=function(e,a,t){var s,n=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null==e)return this._isUTC?n:Na(this);if("string"==typeof e){if(null===(e=za(de,e)))return this}else Math.abs(e)<16&&!t&&(e*=60);return!this._isUTC&&a&&(s=Na(this)),this._offset=e,this._isUTC=!0,null!=s&&this.add(s,"m"),n!==e&&(!a||this._changeInProgress?Za(this,Ua(e-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,l.updateOffset(this,!0),this._changeInProgress=null)),this},Mt.utc=function(e){return this.utcOffset(0,e)},Mt.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Na(this),"m")),this},Mt.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var e=za(ne,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this},Mt.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?Ha(e).utcOffset():0,(this.utcOffset()-e)%60==0)},Mt.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},Mt.isLocal=function(){return!!this.isValid()&&!this._isUTC},Mt.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},Mt.isUtc=Ra,Mt.isUTC=Ra,Mt.zoneAbbr=function(){return this._isUTC?"UTC":""},Mt.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},Mt.dates=t("dates accessor is deprecated. Use date instead.",_t),Mt.months=t("months accessor is deprecated. Use month instead",Ae),Mt.years=t("years accessor is deprecated. Use year instead",ve),Mt.zone=t("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,a){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,a),this):-this.utcOffset()}),Mt.isDSTShifted=t("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!o(this._isDSTShifted))return this._isDSTShifted;var e={};if(k(e,this),(e=va(e))._a){var a=e._isUTC?c(e._a):Ha(e._a);this._isDSTShifted=this.isValid()&&0<r(e._a,a.toArray())}else this._isDSTShifted=!1;return this._isDSTShifted});var Lt=j.prototype;function ct(e,a,t,s){var n=ma(),d=c().set(s,a);return n[t](d,e)}function Yt(e,a,t){if(m(e)&&(a=e,e=void 0),e=e||"",null!=a)return ct(e,a,t,"month");var s,n=[];for(s=0;s<12;s++)n[s]=ct(e,s,t,"month");return n}function yt(e,a,t,s){a=("boolean"==typeof e?m(a)&&(t=a,a=void 0):(a=e,e=!1,m(t=a)&&(t=a,a=void 0)),a||"");var n,d=ma(),r=e?d._week.dow:0;if(null!=t)return ct(a,(t+r)%7,s,"day");var _=[];for(n=0;n<7;n++)_[n]=ct(a,(n+r)%7,s,"day");return _}Lt.calendar=function(e,a,t){var s=this._calendar[e]||this._calendar.sameElse;return H(s)?s.call(a,t):s},Lt.longDateFormat=function(e){var a=this._longDateFormat[e],t=this._longDateFormat[e.toUpperCase()];return a||!t?a:(this._longDateFormat[e]=t.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])},Lt.invalidDate=function(){return this._invalidDate},Lt.ordinal=function(e){return this._ordinal.replace("%d",e)},Lt.preparse=ht,Lt.postformat=ht,Lt.relativeTime=function(e,a,t,s){var n=this._relativeTime[t];return H(n)?n(e,a,t,s):n.replace(/%d/i,e)},Lt.pastFuture=function(e,a){var t=this._relativeTime[0<e?"future":"past"];return H(t)?t(a):t.replace(/%s/i,a)},Lt.set=function(e){var a,t;for(t in e)H(a=e[t])?this[t]=a:this["_"+t]=a;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},Lt.months=function(e,a){return e?_(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||xe).test(a)?"format":"standalone"][e.month()]:_(this._months)?this._months:this._months.standalone},Lt.monthsShort=function(e,a){return e?_(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[xe.test(a)?"format":"standalone"][e.month()]:_(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},Lt.monthsParse=function(e,a,t){var s,n,d;if(this._monthsParseExact)return function(e,a,t){var s,n,d,r=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],s=0;s<12;++s)d=c([2e3,s]),this._shortMonthsParse[s]=this.monthsShort(d,"").toLocaleLowerCase(),this._longMonthsParse[s]=this.months(d,"").toLocaleLowerCase();return t?"MMM"===a?-1!==(n=we.call(this._shortMonthsParse,r))?n:null:-1!==(n=we.call(this._longMonthsParse,r))?n:null:"MMM"===a?-1!==(n=we.call(this._shortMonthsParse,r))?n:-1!==(n=we.call(this._longMonthsParse,r))?n:null:-1!==(n=we.call(this._longMonthsParse,r))?n:-1!==(n=we.call(this._shortMonthsParse,r))?n:null}.call(this,e,a,t);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(n=c([2e3,s]),t&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),t||this._monthsParse[s]||(d="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[s]=new RegExp(d.replace(".",""),"i")),t&&"MMMM"===a&&this._longMonthsParse[s].test(e))return s;if(t&&"MMM"===a&&this._shortMonthsParse[s].test(e))return s;if(!t&&this._monthsParse[s].test(e))return s}},Lt.monthsRegex=function(e){return this._monthsParseExact?(h(this,"_monthsRegex")||ze.call(this),e?this._monthsStrictRegex:this._monthsRegex):(h(this,"_monthsRegex")||(this._monthsRegex=Fe),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},Lt.monthsShortRegex=function(e){return this._monthsParseExact?(h(this,"_monthsRegex")||ze.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(h(this,"_monthsShortRegex")||(this._monthsShortRegex=Ee),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},Lt.week=function(e){return Ce(e,this._week.dow,this._week.doy).week},Lt.firstDayOfYear=function(){return this._week.doy},Lt.firstDayOfWeek=function(){return this._week.dow},Lt.weekdays=function(e,a){var t=_(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(a)?"format":"standalone"];return!0===e?Ue(t,this._week.dow):e?t[e.day()]:t},Lt.weekdaysMin=function(e){return!0===e?Ue(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},Lt.weekdaysShort=function(e){return!0===e?Ue(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},Lt.weekdaysParse=function(e,a,t){var s,n,d;if(this._weekdaysParseExact)return function(e,a,t){var s,n,d,r=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],s=0;s<7;++s)d=c([2e3,1]).day(s),this._minWeekdaysParse[s]=this.weekdaysMin(d,"").toLocaleLowerCase(),this._shortWeekdaysParse[s]=this.weekdaysShort(d,"").toLocaleLowerCase(),this._weekdaysParse[s]=this.weekdays(d,"").toLocaleLowerCase();return t?"dddd"===a?-1!==(n=we.call(this._weekdaysParse,r))?n:null:"ddd"===a?-1!==(n=we.call(this._shortWeekdaysParse,r))?n:null:-1!==(n=we.call(this._minWeekdaysParse,r))?n:null:"dddd"===a?-1!==(n=we.call(this._weekdaysParse,r))?n:-1!==(n=we.call(this._shortWeekdaysParse,r))?n:-1!==(n=we.call(this._minWeekdaysParse,r))?n:null:"ddd"===a?-1!==(n=we.call(this._shortWeekdaysParse,r))?n:-1!==(n=we.call(this._weekdaysParse,r))?n:-1!==(n=we.call(this._minWeekdaysParse,r))?n:null:-1!==(n=we.call(this._minWeekdaysParse,r))?n:-1!==(n=we.call(this._weekdaysParse,r))?n:-1!==(n=we.call(this._shortWeekdaysParse,r))?n:null}.call(this,e,a,t);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),s=0;s<7;s++){if(n=c([2e3,1]).day(s),t&&!this._fullWeekdaysParse[s]&&(this._fullWeekdaysParse[s]=new RegExp("^"+this.weekdays(n,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[s]=new RegExp("^"+this.weekdaysShort(n,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[s]=new RegExp("^"+this.weekdaysMin(n,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[s]||(d="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[s]=new RegExp(d.replace(".",""),"i")),t&&"dddd"===a&&this._fullWeekdaysParse[s].test(e))return s;if(t&&"ddd"===a&&this._shortWeekdaysParse[s].test(e))return s;if(t&&"dd"===a&&this._minWeekdaysParse[s].test(e))return s;if(!t&&this._weekdaysParse[s].test(e))return s}},Lt.weekdaysRegex=function(e){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||qe.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(h(this,"_weekdaysRegex")||(this._weekdaysRegex=Ze),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},Lt.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||qe.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(h(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=$e),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},Lt.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||qe.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(h(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Be),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},Lt.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},Lt.meridiem=function(e,a,t){return 11<e?t?"pm":"PM":t?"am":"AM"},ia("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var a=e%10;return e+(1===g(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")}}),l.lang=t("moment.lang is deprecated. Use moment.locale instead.",ia),l.langData=t("moment.langData is deprecated. Use moment.localeData instead.",ma);var ft=Math.abs;function kt(e,a,t,s){var n=Ua(a,t);return e._milliseconds+=s*n._milliseconds,e._days+=s*n._days,e._months+=s*n._months,e._bubble()}function pt(e){return e<0?Math.floor(e):Math.ceil(e)}function Dt(e){return 4800*e/146097}function Tt(e){return 146097*e/4800}function gt(e){return function(){return this.as(e)}}var wt=gt("ms"),vt=gt("s"),St=gt("m"),Ht=gt("h"),bt=gt("d"),jt=gt("w"),xt=gt("M"),Ot=gt("Q"),Pt=gt("y");function Wt(e){return function(){return this.isValid()?this._data[e]:NaN}}var At=Wt("milliseconds"),Et=Wt("seconds"),Ft=Wt("minutes"),zt=Wt("hours"),Jt=Wt("days"),Nt=Wt("months"),Rt=Wt("years");var Ct=Math.round,It={ss:44,s:45,m:45,h:22,d:26,M:11};var Ut=Math.abs;function Gt(e){return(0<e)-(e<0)||+e}function Vt(){if(!this.isValid())return this.localeData().invalidDate();var e,a,t=Ut(this._milliseconds)/1e3,s=Ut(this._days),n=Ut(this._months);a=T((e=T(t/60))/60),t%=60,e%=60;var d=T(n/12),r=n%=12,_=s,i=a,o=e,m=t?t.toFixed(3).replace(/\.?0+$/,""):"",u=this.asSeconds();if(!u)return"P0D";var l=u<0?"-":"",M=Gt(this._months)!==Gt(u)?"-":"",h=Gt(this._days)!==Gt(u)?"-":"",L=Gt(this._milliseconds)!==Gt(u)?"-":"";return l+"P"+(d?M+d+"Y":"")+(r?M+r+"M":"")+(_?h+_+"D":"")+(i||o||m?"T":"")+(i?L+i+"H":"")+(o?L+o+"M":"")+(m?L+m+"S":"")}var Kt=Pa.prototype;Kt.isValid=function(){return this._isValid},Kt.abs=function(){var e=this._data;return this._milliseconds=ft(this._milliseconds),this._days=ft(this._days),this._months=ft(this._months),e.milliseconds=ft(e.milliseconds),e.seconds=ft(e.seconds),e.minutes=ft(e.minutes),e.hours=ft(e.hours),e.months=ft(e.months),e.years=ft(e.years),this},Kt.add=function(e,a){return kt(this,e,a,1)},Kt.subtract=function(e,a){return kt(this,e,a,-1)},Kt.as=function(e){if(!this.isValid())return NaN;var a,t,s=this._milliseconds;if("month"===(e=P(e))||"quarter"===e||"year"===e)switch(a=this._days+s/864e5,t=this._months+Dt(a),e){case"month":return t;case"quarter":return t/3;case"year":return t/12}else switch(a=this._days+Math.round(Tt(this._months)),e){case"week":return a/7+s/6048e5;case"day":return a+s/864e5;case"hour":return 24*a+s/36e5;case"minute":return 1440*a+s/6e4;case"second":return 86400*a+s/1e3;case"millisecond":return Math.floor(864e5*a)+s;default:throw new Error("Unknown unit "+e)}},Kt.asMilliseconds=wt,Kt.asSeconds=vt,Kt.asMinutes=St,Kt.asHours=Ht,Kt.asDays=bt,Kt.asWeeks=jt,Kt.asMonths=xt,Kt.asQuarters=Ot,Kt.asYears=Pt,Kt.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*g(this._months/12):NaN},Kt._bubble=function(){var e,a,t,s,n,d=this._milliseconds,r=this._days,_=this._months,i=this._data;return 0<=d&&0<=r&&0<=_||d<=0&&r<=0&&_<=0||(d+=864e5*pt(Tt(_)+r),_=r=0),i.milliseconds=d%1e3,e=T(d/1e3),i.seconds=e%60,a=T(e/60),i.minutes=a%60,t=T(a/60),i.hours=t%24,_+=n=T(Dt(r+=T(t/24))),r-=pt(Tt(n)),s=T(_/12),_%=12,i.days=r,i.months=_,i.years=s,this},Kt.clone=function(){return Ua(this)},Kt.get=function(e){return e=P(e),this.isValid()?this[e+"s"]():NaN},Kt.milliseconds=At,Kt.seconds=Et,Kt.minutes=Ft,Kt.hours=zt,Kt.days=Jt,Kt.weeks=function(){return T(this.days()/7)},Kt.months=Nt,Kt.years=Rt,Kt.humanize=function(e){if(!this.isValid())return this.localeData().invalidDate();var a,t,s,n,d,r,_,i,o,m,u,l=this.localeData(),M=(t=!e,s=l,n=Ua(a=this).abs(),d=Ct(n.as("s")),r=Ct(n.as("m")),_=Ct(n.as("h")),i=Ct(n.as("d")),o=Ct(n.as("M")),m=Ct(n.as("y")),(u=d<=It.ss&&["s",d]||d<It.s&&["ss",d]||r<=1&&["m"]||r<It.m&&["mm",r]||_<=1&&["h"]||_<It.h&&["hh",_]||i<=1&&["d"]||i<It.d&&["dd",i]||o<=1&&["M"]||o<It.M&&["MM",o]||m<=1&&["y"]||["yy",m])[2]=t,u[3]=0<+a,u[4]=s,function(e,a,t,s,n){return n.relativeTime(a||1,!!t,e,s)}.apply(null,u));return e&&(M=l.pastFuture(+this,M)),l.postformat(M)},Kt.toISOString=Vt,Kt.toString=Vt,Kt.toJSON=Vt,Kt.locale=Qa,Kt.localeData=et,Kt.toIsoString=t("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Vt),Kt.lang=Xa,C("X",0,0,"unix"),C("x",0,0,"valueOf"),ie("x",se),ie("X",/[+-]?\d+(\.\d{1,3})?/),le("X",function(e,a,t){t._d=new Date(1e3*parseFloat(e,10))}),le("x",function(e,a,t){t._d=new Date(g(e))}),l.version="2.24.0",e=Ha,l.fn=Mt,l.min=function(){return xa("isBefore",[].slice.call(arguments,0))},l.max=function(){return xa("isAfter",[].slice.call(arguments,0))},l.now=function(){return Date.now?Date.now():+new Date},l.utc=c,l.unix=function(e){return Ha(1e3*e)},l.months=function(e,a){return Yt(e,a,"months")},l.isDate=u,l.locale=ia,l.invalid=f,l.duration=Ua,l.isMoment=D,l.weekdays=function(e,a,t){return yt(e,a,t,"weekdays")},l.parseZone=function(){return Ha.apply(null,arguments).parseZone()},l.localeData=ma,l.isDuration=Wa,l.monthsShort=function(e,a){return Yt(e,a,"monthsShort")},l.weekdaysMin=function(e,a,t){return yt(e,a,t,"weekdaysMin")},l.defineLocale=oa,l.updateLocale=function(e,a){if(null!=a){var t,s,n=sa;null!=(s=_a(e))&&(n=s._config),(t=new j(a=b(n,a))).parentLocale=na[e],na[e]=t,ia(e)}else null!=na[e]&&(null!=na[e].parentLocale?na[e]=na[e].parentLocale:null!=na[e]&&delete na[e]);return na[e]},l.locales=function(){return s(na)},l.weekdaysShort=function(e,a,t){return yt(e,a,t,"weekdaysShort")},l.normalizeUnits=P,l.relativeTimeRounding=function(e){return void 0===e?Ct:"function"==typeof e&&(Ct=e,!0)},l.relativeTimeThreshold=function(e,a){return void 0!==It[e]&&(void 0===a?It[e]:(It[e]=a,"s"===e&&(It.ss=a-1),!0))},l.calendarFormat=function(e,a){var t=e.diff(a,"days",!0);return t<-6?"sameElse":t<-1?"lastWeek":t<0?"lastDay":t<1?"sameDay":t<2?"nextDay":t<7?"nextWeek":"sameElse"},l.prototype=Mt,l.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},l.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,a,t){return e<12?t?"vm":"VM":t?"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\xf4re 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||20<=e?"ste":"de")},week:{dow:1,doy:4}}),l.defineLocale("ar-dz",{months:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u0623\u062d_\u0625\u062b_\u062b\u0644\u0627_\u0623\u0631_\u062e\u0645_\u062c\u0645_\u0633\u0628".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:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:0,doy:4}}),l.defineLocale("ar-kw",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062a\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062a\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".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:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:0,doy:12}});var Zt={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},$t=function(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5},Bt={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},qt=function(r){return function(e,a,t,s){var n=$t(e),d=Bt[r][$t(e)];return 2===n&&(d=d[a?0:1]),d.replace(/%d/i,e)}},Qt=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"];l.defineLocale("ar-ly",{months:Qt,monthsShort:Qt,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:qt("s"),ss:qt("s"),m:qt("m"),mm:qt("m"),h:qt("h"),hh:qt("h"),d:qt("d"),dd:qt("d"),M:qt("M"),MM:qt("M"),y:qt("y"),yy:qt("y")},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Zt[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}}),l.defineLocale("ar-ma",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062a\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062a\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".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:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:6,doy:12}});var Xt={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},es={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"};l.defineLocale("ar-sa",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".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:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return es[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Xt[e]}).replace(/,/g,"\u060c")},week:{dow:0,doy:6}}),l.defineLocale("ar-tn",{months:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".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:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:1,doy:4}});var as={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},ts={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},ss=function(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5},ns={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},ds=function(r){return function(e,a,t,s){var n=ss(e),d=ns[r][ss(e)];return 2===n&&(d=d[a?0:1]),d.replace(/%d/i,e)}},rs=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"];l.defineLocale("ar",{months:rs,monthsShort:rs,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:ds("s"),ss:ds("s"),m:ds("m"),mm:ds("m"),h:ds("h"),hh:ds("h"),d:ds("d"),dd:ds("d"),M:ds("M"),MM:ds("M"),y:ds("y"),yy:ds("y")},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return ts[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return as[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}});var _s={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-\xfcnc\xfc",4:"-\xfcnc\xfc",100:"-\xfcnc\xfc",6:"-nc\u0131",9:"-uncu",10:"-uncu",30:"-uncu",60:"-\u0131nc\u0131",90:"-\u0131nc\u0131"};function is(e,a,t){var s,n;return"m"===t?a?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443":"h"===t?a?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443":e+" "+(s=+e,n={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d",hh:a?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d",dd:"\u0434\u0437\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u0437\u0451\u043d",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u044b_\u043c\u0435\u0441\u044f\u0446\u0430\u045e",yy:"\u0433\u043e\u0434_\u0433\u0430\u0434\u044b_\u0433\u0430\u0434\u043e\u045e"}[t].split("_"),s%10==1&&s%100!=11?n[0]:2<=s%10&&s%10<=4&&(s%100<10||20<=s%100)?n[1]:n[2])}l.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ert\u0259si_\xc7\u0259r\u015f\u0259nb\u0259 ax\u015fam\u0131_\xc7\u0259r\u015f\u0259nb\u0259_C\xfcm\u0259 ax\u015fam\u0131_C\xfcm\u0259_\u015e\u0259nb\u0259".split("_"),weekdaysShort:"Baz_BzE_\xc7Ax_\xc7\u0259r_CAx_C\xfcm_\u015e\u0259n".split("_"),weekdaysMin:"Bz_BE_\xc7A_\xc7\u0259_CA_C\xfc_\u015e\u0259".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:"[bug\xfcn saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[g\u0259l\u0259n h\u0259ft\u0259] dddd [saat] LT",lastDay:"[d\xfcn\u0259n] LT",lastWeek:"[ke\xe7\u0259n h\u0259ft\u0259] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \u0259vv\u0259l",s:"birne\xe7\u0259 saniy\u0259",ss:"%d saniy\u0259",m:"bir d\u0259qiq\u0259",mm:"%d d\u0259qiq\u0259",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gec\u0259|s\u0259h\u0259r|g\xfcnd\xfcz|ax\u015fam/,isPM:function(e){return/^(g\xfcnd\xfcz|ax\u015fam)$/.test(e)},meridiem:function(e,a,t){return e<4?"gec\u0259":e<12?"s\u0259h\u0259r":e<17?"g\xfcnd\xfcz":"ax\u015fam"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0131nc\u0131|inci|nci|\xfcnc\xfc|nc\u0131|uncu)/,ordinal:function(e){if(0===e)return e+"-\u0131nc\u0131";var a=e%10;return e+(_s[a]||_s[e%100-a]||_s[100<=e?100:null])},week:{dow:1,doy:7}}),l.defineLocale("be",{months:{format:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044f_\u043b\u044e\u0442\u0430\u0433\u0430_\u0441\u0430\u043a\u0430\u0432\u0456\u043a\u0430_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a\u0430_\u0442\u0440\u0430\u045e\u043d\u044f_\u0447\u044d\u0440\u0432\u0435\u043d\u044f_\u043b\u0456\u043f\u0435\u043d\u044f_\u0436\u043d\u0456\u045e\u043d\u044f_\u0432\u0435\u0440\u0430\u0441\u043d\u044f_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a\u0430_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434\u0430_\u0441\u043d\u0435\u0436\u043d\u044f".split("_"),standalone:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044c_\u043b\u044e\u0442\u044b_\u0441\u0430\u043a\u0430\u0432\u0456\u043a_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u044d\u0440\u0432\u0435\u043d\u044c_\u043b\u0456\u043f\u0435\u043d\u044c_\u0436\u043d\u0456\u0432\u0435\u043d\u044c_\u0432\u0435\u0440\u0430\u0441\u0435\u043d\u044c_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434_\u0441\u043d\u0435\u0436\u0430\u043d\u044c".split("_")},monthsShort:"\u0441\u0442\u0443\u0434_\u043b\u044e\u0442_\u0441\u0430\u043a_\u043a\u0440\u0430\u0441_\u0442\u0440\u0430\u0432_\u0447\u044d\u0440\u0432_\u043b\u0456\u043f_\u0436\u043d\u0456\u0432_\u0432\u0435\u0440_\u043a\u0430\u0441\u0442_\u043b\u0456\u0441\u0442_\u0441\u043d\u0435\u0436".split("_"),weekdays:{format:"\u043d\u044f\u0434\u0437\u0435\u043b\u044e_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0443_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0443_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),standalone:"\u043d\u044f\u0434\u0437\u0435\u043b\u044f_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0430_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0430_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),isFormat:/\[ ?[\u0423\u0443\u045e] ?(?:\u043c\u0456\u043d\u0443\u043b\u0443\u044e|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u0443\u044e)? ?\] ?dddd/},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., HH:mm",LLLL:"dddd, D MMMM YYYY \u0433., HH:mm"},calendar:{sameDay:"[\u0421\u0451\u043d\u043d\u044f \u045e] LT",nextDay:"[\u0417\u0430\u045e\u0442\u0440\u0430 \u045e] LT",lastDay:"[\u0423\u0447\u043e\u0440\u0430 \u045e] LT",nextWeek:function(){return"[\u0423] dddd [\u045e] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u0443\u044e] dddd [\u045e] LT";case 1:case 2:case 4:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u044b] dddd [\u045e] LT"}},sameElse:"L"},relativeTime:{future:"\u043f\u0440\u0430\u0437 %s",past:"%s \u0442\u0430\u043c\u0443",s:"\u043d\u0435\u043a\u0430\u043b\u044c\u043a\u0456 \u0441\u0435\u043a\u0443\u043d\u0434",m:is,mm:is,h:is,hh:is,d:"\u0434\u0437\u0435\u043d\u044c",dd:is,M:"\u043c\u0435\u0441\u044f\u0446",MM:is,y:"\u0433\u043e\u0434",yy:is},meridiemParse:/\u043d\u043e\u0447\u044b|\u0440\u0430\u043d\u0456\u0446\u044b|\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430/,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430)$/.test(e)},meridiem:function(e,a,t){return e<4?"\u043d\u043e\u0447\u044b":e<12?"\u0440\u0430\u043d\u0456\u0446\u044b":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0430\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0456|\u044b|\u0433\u0430)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":case"w":case"W":return e%10!=2&&e%10!=3||e%100==12||e%100==13?e+"-\u044b":e+"-\u0456";case"D":return e+"-\u0433\u0430";default:return e}},week:{dow:1,doy:7}}),l.defineLocale("bg",{months:"\u044f\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u044f\u043d\u0440_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u044f\u0434\u0430_\u0447\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a_\u043f\u0435\u0442\u044a\u043a_\u0441\u044a\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u044f_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u044a\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u043d\u0435\u0441 \u0432] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432] LT",nextWeek:"dddd [\u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u0412 \u0438\u0437\u043c\u0438\u043d\u0430\u043b\u0430\u0442\u0430] dddd [\u0432] LT";case 1:case 2:case 4:case 5:return"[\u0412 \u0438\u0437\u043c\u0438\u043d\u0430\u043b\u0438\u044f] dddd [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0441\u043b\u0435\u0434 %s",past:"\u043f\u0440\u0435\u0434\u0438 %s",s:"\u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0434\u0435\u043d",dd:"%d \u0434\u043d\u0438",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0430",y:"\u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(e){var a=e%10,t=e%100;return 0===e?e+"-\u0435\u0432":0===t?e+"-\u0435\u043d":10<t&&t<20?e+"-\u0442\u0438":1===a?e+"-\u0432\u0438":2===a?e+"-\u0440\u0438":7===a||8===a?e+"-\u043c\u0438":e+"-\u0442\u0438"},week:{dow:1,doy:7}}),l.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_M\u025bkalo_Zuw\u025bnkalo_Zuluyekalo_Utikalo_S\u025btanburukalo_\u0254kut\u0254burukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_M\u025b_Zuw_Zul_Uti_S\u025bt_\u0254ku_Now_Des".split("_"),weekdays:"Kari_Nt\u025bn\u025bn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Nt\u025b_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm"},calendar:{sameDay:"[Bi l\u025br\u025b] LT",nextDay:"[Sini l\u025br\u025b] LT",nextWeek:"dddd [don l\u025br\u025b] LT",lastDay:"[Kunu l\u025br\u025b] LT",lastWeek:"dddd [t\u025bm\u025bnen l\u025br\u025b] LT",sameElse:"L"},relativeTime:{future:"%s k\u0254n\u0254",past:"a b\u025b %s b\u0254",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"l\u025br\u025b kelen",hh:"l\u025br\u025b %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}});var os={1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"},ms={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"};l.defineLocale("bn",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09c0_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09bf_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0_\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0_\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0_\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split("_"),monthsShort:"\u099c\u09be\u09a8\u09c1_\u09ab\u09c7\u09ac_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2_\u0986\u0997_\u09b8\u09c7\u09aa\u09cd\u099f_\u0985\u0995\u09cd\u099f\u09cb_\u09a8\u09ad\u09c7_\u09a1\u09bf\u09b8\u09c7".split("_"),weekdays:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0_\u09b8\u09cb\u09ae\u09ac\u09be\u09b0_\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0_\u09ac\u09c1\u09a7\u09ac\u09be\u09b0_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0_\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0_\u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split("_"),weekdaysShort:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),weekdaysMin:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u0983_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),longDateFormat:{LT:"A h:mm \u09b8\u09ae\u09df",LTS:"A h:mm:ss \u09b8\u09ae\u09df",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u09b8\u09ae\u09df",LLLL:"dddd, D MMMM YYYY, A h:mm \u09b8\u09ae\u09df"},calendar:{sameDay:"[\u0986\u099c] LT",nextDay:"[\u0986\u0997\u09be\u09ae\u09c0\u0995\u09be\u09b2] LT",nextWeek:"dddd, LT",lastDay:"[\u0997\u09a4\u0995\u09be\u09b2] LT",lastWeek:"[\u0997\u09a4] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u09aa\u09b0\u09c7",past:"%s \u0986\u0997\u09c7",s:"\u0995\u09df\u09c7\u0995 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",ss:"%d \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",m:"\u098f\u0995 \u09ae\u09bf\u09a8\u09bf\u099f",mm:"%d \u09ae\u09bf\u09a8\u09bf\u099f",h:"\u098f\u0995 \u0998\u09a8\u09cd\u099f\u09be",hh:"%d \u0998\u09a8\u09cd\u099f\u09be",d:"\u098f\u0995 \u09a6\u09bf\u09a8",dd:"%d \u09a6\u09bf\u09a8",M:"\u098f\u0995 \u09ae\u09be\u09b8",MM:"%d \u09ae\u09be\u09b8",y:"\u098f\u0995 \u09ac\u099b\u09b0",yy:"%d \u09ac\u099b\u09b0"},preparse:function(e){return e.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(e){return ms[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return os[e]})},meridiemParse:/\u09b0\u09be\u09a4|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b0\u09be\u09a4/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u09b0\u09be\u09a4"===a&&4<=e||"\u09a6\u09c1\u09aa\u09c1\u09b0"===a&&e<5||"\u09ac\u09bf\u0995\u09be\u09b2"===a?e+12:e},meridiem:function(e,a,t){return e<4?"\u09b0\u09be\u09a4":e<10?"\u09b8\u0995\u09be\u09b2":e<17?"\u09a6\u09c1\u09aa\u09c1\u09b0":e<20?"\u09ac\u09bf\u0995\u09be\u09b2":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}});var us={1:"\u0f21",2:"\u0f22",3:"\u0f23",4:"\u0f24",5:"\u0f25",6:"\u0f26",7:"\u0f27",8:"\u0f28",9:"\u0f29",0:"\u0f20"},ls={"\u0f21":"1","\u0f22":"2","\u0f23":"3","\u0f24":"4","\u0f25":"5","\u0f26":"6","\u0f27":"7","\u0f28":"8","\u0f29":"9","\u0f20":"0"};function Ms(e,a,t){var s,n,d;return e+" "+(s={mm:"munutenn",MM:"miz",dd:"devezh"}[t],2!==e?s:void 0!==(d={m:"v",b:"v",d:"z"})[(n=s).charAt(0)]?d[n.charAt(0)]+n.substring(1):n)}function hs(e,a,t){var s=e+" ";switch(t){case"ss":return s+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"m":return a?"jedna minuta":"jedne minute";case"mm":return s+=1===e?"minuta":2===e||3===e||4===e?"minute":"minuta";case"h":return a?"jedan sat":"jednog sata";case"hh":return s+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return s+=1===e?"dan":"dana";case"MM":return s+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return s+=1===e?"godina":2===e||3===e||4===e?"godine":"godina"}}l.defineLocale("bo",{months:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54".split("_"),monthsShort:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54".split("_"),weekdays:"\u0f42\u0f5f\u0f60\u0f0b\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f42\u0f5f\u0f60\u0f0b\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysShort:"\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysMin:"\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".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:"[\u0f51\u0f72\u0f0b\u0f62\u0f72\u0f44] LT",nextDay:"[\u0f66\u0f44\u0f0b\u0f49\u0f72\u0f53] LT",nextWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f62\u0f97\u0f7a\u0f66\u0f0b\u0f58], LT",lastDay:"[\u0f41\u0f0b\u0f66\u0f44] LT",lastWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f58\u0f50\u0f60\u0f0b\u0f58] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0f63\u0f0b",past:"%s \u0f66\u0f94\u0f53\u0f0b\u0f63",s:"\u0f63\u0f58\u0f0b\u0f66\u0f44",ss:"%d \u0f66\u0f90\u0f62\u0f0b\u0f46\u0f0d",m:"\u0f66\u0f90\u0f62\u0f0b\u0f58\u0f0b\u0f42\u0f45\u0f72\u0f42",mm:"%d \u0f66\u0f90\u0f62\u0f0b\u0f58",h:"\u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51\u0f0b\u0f42\u0f45\u0f72\u0f42",hh:"%d \u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51",d:"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f45\u0f72\u0f42",dd:"%d \u0f49\u0f72\u0f53\u0f0b",M:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f45\u0f72\u0f42",MM:"%d \u0f5f\u0fb3\u0f0b\u0f56",y:"\u0f63\u0f7c\u0f0b\u0f42\u0f45\u0f72\u0f42",yy:"%d \u0f63\u0f7c"},preparse:function(e){return e.replace(/[\u0f21\u0f22\u0f23\u0f24\u0f25\u0f26\u0f27\u0f28\u0f29\u0f20]/g,function(e){return ls[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return us[e]})},meridiemParse:/\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c|\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66|\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44|\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42|\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"===a&&4<=e||"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44"===a&&e<5||"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42"===a?e+12:e},meridiem:function(e,a,t){return e<4?"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c":e<10?"\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66":e<17?"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44":e<20?"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42":"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"},week:{dow:0,doy:6}}),l.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondenno\xf9",ss:"%d eilenn",m:"ur vunutenn",mm:Ms,h:"un eur",hh:"%d eur",d:"un devezh",dd:Ms,M:"ur miz",MM:Ms,y:"ur bloaz",yy:function(e){switch(function e(a){return 9<a?e(a%10):a}(e)){case 1:case 3:case 4:case 5:case 9:return e+" bloaz";default:return e+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(a\xf1|vet)/,ordinal:function(e){return e+(1===e?"a\xf1":"vet")},week:{dow:1,doy:4}}),l.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".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:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[pro\u0161lu] dddd [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:hs,m:hs,mm:hs,h:hs,hh:hs,d:"dan",dd:hs,M:"mjesec",MM:hs,y:"godinu",yy:hs},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),l.defineLocale("ca",{months:{standalone:"gener_febrer_mar\xe7_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de mar\xe7_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._mar\xe7_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[dem\xe0 a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aqu\xed %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|\xe8|a)/,ordinal:function(e,a){var t=1===e?"r":2===e?"n":3===e?"r":4===e?"t":"\xe8";return"w"!==a&&"W"!==a||(t="a"),e+t},week:{dow:1,doy:4}});var Ls="leden_\xfanor_b\u0159ezen_duben_kv\u011bten_\u010derven_\u010dervenec_srpen_z\xe1\u0159\xed_\u0159\xedjen_listopad_prosinec".split("_"),cs="led_\xfano_b\u0159e_dub_kv\u011b_\u010dvn_\u010dvc_srp_z\xe1\u0159_\u0159\xedj_lis_pro".split("_"),Ys=[/^led/i,/^\xfano/i,/^b\u0159e/i,/^dub/i,/^kv\u011b/i,/^(\u010dvn|\u010derven$|\u010dervna)/i,/^(\u010dvc|\u010dervenec|\u010dervence)/i,/^srp/i,/^z\xe1\u0159/i,/^\u0159\xedj/i,/^lis/i,/^pro/i],ys=/^(leden|\xfanor|b\u0159ezen|duben|kv\u011bten|\u010dervenec|\u010dervence|\u010derven|\u010dervna|srpen|z\xe1\u0159\xed|\u0159\xedjen|listopad|prosinec|led|\xfano|b\u0159e|dub|kv\u011b|\u010dvn|\u010dvc|srp|z\xe1\u0159|\u0159\xedj|lis|pro)/i;function fs(e){return 1<e&&e<5&&1!=~~(e/10)}function ks(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"p\xe1r sekund":"p\xe1r sekundami";case"ss":return a||s?n+(fs(e)?"sekundy":"sekund"):n+"sekundami";break;case"m":return a?"minuta":s?"minutu":"minutou";case"mm":return a||s?n+(fs(e)?"minuty":"minut"):n+"minutami";break;case"h":return a?"hodina":s?"hodinu":"hodinou";case"hh":return a||s?n+(fs(e)?"hodiny":"hodin"):n+"hodinami";break;case"d":return a||s?"den":"dnem";case"dd":return a||s?n+(fs(e)?"dny":"dn\xed"):n+"dny";break;case"M":return a||s?"m\u011bs\xedc":"m\u011bs\xedcem";case"MM":return a||s?n+(fs(e)?"m\u011bs\xedce":"m\u011bs\xedc\u016f"):n+"m\u011bs\xedci";break;case"y":return a||s?"rok":"rokem";case"yy":return a||s?n+(fs(e)?"roky":"let"):n+"lety";break}}function ps(e,a,t,s){var n={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?n[t][0]:n[t][1]}function Ds(e,a,t,s){var n={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?n[t][0]:n[t][1]}function Ts(e,a,t,s){var n={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?n[t][0]:n[t][1]}l.defineLocale("cs",{months:Ls,monthsShort:cs,monthsRegex:ys,monthsShortRegex:ys,monthsStrictRegex:/^(leden|ledna|\xfanora|\xfanor|b\u0159ezen|b\u0159ezna|duben|dubna|kv\u011bten|kv\u011btna|\u010dervenec|\u010dervence|\u010derven|\u010dervna|srpen|srpna|z\xe1\u0159\xed|\u0159\xedjen|\u0159\xedjna|listopadu|listopad|prosinec|prosince)/i,monthsShortStrictRegex:/^(led|\xfano|b\u0159e|dub|kv\u011b|\u010dvn|\u010dvc|srp|z\xe1\u0159|\u0159\xedj|lis|pro)/i,monthsParse:Ys,longMonthsParse:Ys,shortMonthsParse:Ys,weekdays:"ned\u011ble_pond\u011bl\xed_\xfater\xfd_st\u0159eda_\u010dtvrtek_p\xe1tek_sobota".split("_"),weekdaysShort:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),weekdaysMin:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),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",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[z\xedtra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v ned\u011bli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve st\u0159edu v] LT";case 4:return"[ve \u010dtvrtek v] LT";case 5:return"[v p\xe1tek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[v\u010dera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou ned\u011bli v] LT";case 1:case 2:return"[minul\xe9] dddd [v] LT";case 3:return"[minulou st\u0159edu v] LT";case 4:case 5:return"[minul\xfd] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"p\u0159ed %s",s:ks,ss:ks,m:ks,mm:ks,h:ks,hh:ks,d:ks,dd:ks,M:ks,MM:ks,y:ks,yy:ks},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.defineLocale("cv",{months:"\u043a\u04d1\u0440\u043b\u0430\u0447_\u043d\u0430\u0440\u04d1\u0441_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440\u0442\u043c\u0435_\u0443\u0442\u04d1_\u04ab\u0443\u0440\u043b\u0430_\u0430\u0432\u04d1\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448\u0442\u0430\u0432".split("_"),monthsShort:"\u043a\u04d1\u0440_\u043d\u0430\u0440_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440_\u0443\u0442\u04d1_\u04ab\u0443\u0440_\u0430\u0432\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448".split("_"),weekdays:"\u0432\u044b\u0440\u0441\u0430\u0440\u043d\u0438\u043a\u0443\u043d_\u0442\u0443\u043d\u0442\u0438\u043a\u0443\u043d_\u044b\u0442\u043b\u0430\u0440\u0438\u043a\u0443\u043d_\u044e\u043d\u043a\u0443\u043d_\u043a\u04d7\u04ab\u043d\u0435\u0440\u043d\u0438\u043a\u0443\u043d_\u044d\u0440\u043d\u0435\u043a\u0443\u043d_\u0448\u04d1\u043c\u0430\u0442\u043a\u0443\u043d".split("_"),weekdaysShort:"\u0432\u044b\u0440_\u0442\u0443\u043d_\u044b\u0442\u043b_\u044e\u043d_\u043a\u04d7\u04ab_\u044d\u0440\u043d_\u0448\u04d1\u043c".split("_"),weekdaysMin:"\u0432\u0440_\u0442\u043d_\u044b\u0442_\u044e\u043d_\u043a\u04ab_\u044d\u0440_\u0448\u043c".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7]",LLL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm",LLLL:"dddd, YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm"},calendar:{sameDay:"[\u041f\u0430\u044f\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextDay:"[\u042b\u0440\u0430\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastDay:"[\u04d6\u043d\u0435\u0440] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextWeek:"[\u04aa\u0438\u0442\u0435\u0441] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastWeek:"[\u0418\u0440\u0442\u043d\u04d7] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",sameElse:"L"},relativeTime:{future:function(e){return e+(/\u0441\u0435\u0445\u0435\u0442$/i.exec(e)?"\u0440\u0435\u043d":/\u04ab\u0443\u043b$/i.exec(e)?"\u0442\u0430\u043d":"\u0440\u0430\u043d")},past:"%s \u043a\u0430\u044f\u043b\u043b\u0430",s:"\u043f\u04d7\u0440-\u0438\u043a \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",ss:"%d \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",m:"\u043f\u04d7\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u043f\u04d7\u0440 \u0441\u0435\u0445\u0435\u0442",hh:"%d \u0441\u0435\u0445\u0435\u0442",d:"\u043f\u04d7\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u043f\u04d7\u0440 \u0443\u0439\u04d1\u0445",MM:"%d \u0443\u0439\u04d1\u0445",y:"\u043f\u04d7\u0440 \u04ab\u0443\u043b",yy:"%d \u04ab\u0443\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-\u043c\u04d7\u0448/,ordinal:"%d-\u043c\u04d7\u0448",week:{dow:1,doy:7}}),l.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".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:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn \xf4l",s:"ychydig eiliadau",ss:"%d eiliad",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(e){var a="";return 20<e?a=40===e||50===e||60===e||80===e||100===e?"fed":"ain":0<e&&(a=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][e]),e+a},week:{dow:1,doy:4}}),l.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8n_man_tir_ons_tor_fre_l\xf8r".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".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.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"p\xe5 dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"f\xe5 sekunder",ss:"%d sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"et \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.defineLocale("de-at",{months:"J\xe4nner_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"J\xe4n._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".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:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:ps,mm:"%d Minuten",h:ps,hh:"%d Stunden",d:ps,dd:ps,M:ps,MM:ps,y:ps,yy:ps},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.defineLocale("de-ch",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".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:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:Ds,mm:"%d Minuten",h:Ds,hh:"%d Stunden",d:Ds,dd:Ds,M:Ds,MM:Ds,y:Ds,yy:Ds},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.defineLocale("de",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".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:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:Ts,mm:"%d Minuten",h:Ts,hh:"%d Stunden",d:Ts,dd:Ts,M:Ts,MM:Ts,y:Ts,yy:Ts},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var gs=["\u0796\u07ac\u0782\u07aa\u0787\u07a6\u0783\u07a9","\u078a\u07ac\u0784\u07b0\u0783\u07aa\u0787\u07a6\u0783\u07a9","\u0789\u07a7\u0783\u07a8\u0797\u07aa","\u0787\u07ad\u0795\u07b0\u0783\u07a9\u078d\u07aa","\u0789\u07ad","\u0796\u07ab\u0782\u07b0","\u0796\u07aa\u078d\u07a6\u0787\u07a8","\u0787\u07af\u078e\u07a6\u0790\u07b0\u0793\u07aa","\u0790\u07ac\u0795\u07b0\u0793\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0787\u07ae\u0786\u07b0\u0793\u07af\u0784\u07a6\u0783\u07aa","\u0782\u07ae\u0788\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0791\u07a8\u0790\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa"],ws=["\u0787\u07a7\u078b\u07a8\u0787\u07b0\u078c\u07a6","\u0780\u07af\u0789\u07a6","\u0787\u07a6\u0782\u07b0\u078e\u07a7\u0783\u07a6","\u0784\u07aa\u078b\u07a6","\u0784\u07aa\u0783\u07a7\u0790\u07b0\u078a\u07a6\u078c\u07a8","\u0780\u07aa\u0786\u07aa\u0783\u07aa","\u0780\u07ae\u0782\u07a8\u0780\u07a8\u0783\u07aa"];l.defineLocale("dv",{months:gs,monthsShort:gs,weekdays:ws,weekdaysShort:ws,weekdaysMin:"\u0787\u07a7\u078b\u07a8_\u0780\u07af\u0789\u07a6_\u0787\u07a6\u0782\u07b0_\u0784\u07aa\u078b\u07a6_\u0784\u07aa\u0783\u07a7_\u0780\u07aa\u0786\u07aa_\u0780\u07ae\u0782\u07a8".split("_"),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:/\u0789\u0786|\u0789\u078a/,isPM:function(e){return"\u0789\u078a"===e},meridiem:function(e,a,t){return e<12?"\u0789\u0786":"\u0789\u078a"},calendar:{sameDay:"[\u0789\u07a8\u0787\u07a6\u078b\u07aa] LT",nextDay:"[\u0789\u07a7\u078b\u07a6\u0789\u07a7] LT",nextWeek:"dddd LT",lastDay:"[\u0787\u07a8\u0787\u07b0\u0794\u07ac] LT",lastWeek:"[\u078a\u07a7\u0787\u07a8\u078c\u07aa\u0788\u07a8] dddd LT",sameElse:"L"},relativeTime:{future:"\u078c\u07ac\u0783\u07ad\u078e\u07a6\u0787\u07a8 %s",past:"\u0786\u07aa\u0783\u07a8\u0782\u07b0 %s",s:"\u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa\u0786\u07ae\u0785\u07ac\u0787\u07b0",ss:"d% \u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa",m:"\u0789\u07a8\u0782\u07a8\u0793\u07ac\u0787\u07b0",mm:"\u0789\u07a8\u0782\u07a8\u0793\u07aa %d",h:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07ac\u0787\u07b0",hh:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07aa %d",d:"\u078b\u07aa\u0788\u07a6\u0780\u07ac\u0787\u07b0",dd:"\u078b\u07aa\u0788\u07a6\u0790\u07b0 %d",M:"\u0789\u07a6\u0780\u07ac\u0787\u07b0",MM:"\u0789\u07a6\u0790\u07b0 %d",y:"\u0787\u07a6\u0780\u07a6\u0783\u07ac\u0787\u07b0",yy:"\u0787\u07a6\u0780\u07a6\u0783\u07aa %d"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:7,doy:12}}),l.defineLocale("el",{monthsNominativeEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u039c\u03ac\u03c1\u03c4\u03b9\u03bf\u03c2_\u0391\u03c0\u03c1\u03af\u03bb\u03b9\u03bf\u03c2_\u039c\u03ac\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bd\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bb\u03b9\u03bf\u03c2_\u0391\u03cd\u03b3\u03bf\u03c5\u03c3\u03c4\u03bf\u03c2_\u03a3\u03b5\u03c0\u03c4\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u039f\u03ba\u03c4\u03ce\u03b2\u03c1\u03b9\u03bf\u03c2_\u039d\u03bf\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u0394\u03b5\u03ba\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2".split("_"),monthsGenitiveEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u039c\u03b1\u03c1\u03c4\u03af\u03bf\u03c5_\u0391\u03c0\u03c1\u03b9\u03bb\u03af\u03bf\u03c5_\u039c\u03b1\u0390\u03bf\u03c5_\u0399\u03bf\u03c5\u03bd\u03af\u03bf\u03c5_\u0399\u03bf\u03c5\u03bb\u03af\u03bf\u03c5_\u0391\u03c5\u03b3\u03bf\u03cd\u03c3\u03c4\u03bf\u03c5_\u03a3\u03b5\u03c0\u03c4\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5_\u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5".split("_"),months:function(e,a){return e?"string"==typeof a&&/D/.test(a.substring(0,a.indexOf("MMMM")))?this._monthsGenitiveEl[e.month()]:this._monthsNominativeEl[e.month()]:this._monthsNominativeEl},monthsShort:"\u0399\u03b1\u03bd_\u03a6\u03b5\u03b2_\u039c\u03b1\u03c1_\u0391\u03c0\u03c1_\u039c\u03b1\u03ca_\u0399\u03bf\u03c5\u03bd_\u0399\u03bf\u03c5\u03bb_\u0391\u03c5\u03b3_\u03a3\u03b5\u03c0_\u039f\u03ba\u03c4_\u039d\u03bf\u03b5_\u0394\u03b5\u03ba".split("_"),weekdays:"\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae_\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1_\u03a4\u03c1\u03af\u03c4\u03b7_\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7_\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7_\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae_\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf".split("_"),weekdaysShort:"\u039a\u03c5\u03c1_\u0394\u03b5\u03c5_\u03a4\u03c1\u03b9_\u03a4\u03b5\u03c4_\u03a0\u03b5\u03bc_\u03a0\u03b1\u03c1_\u03a3\u03b1\u03b2".split("_"),weekdaysMin:"\u039a\u03c5_\u0394\u03b5_\u03a4\u03c1_\u03a4\u03b5_\u03a0\u03b5_\u03a0\u03b1_\u03a3\u03b1".split("_"),meridiem:function(e,a,t){return 11<e?t?"\u03bc\u03bc":"\u039c\u039c":t?"\u03c0\u03bc":"\u03a0\u039c"},isPM:function(e){return"\u03bc"===(e+"").toLowerCase()[0]},meridiemParse:/[\u03a0\u039c]\.?\u039c?\.?/i,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"},calendarEl:{sameDay:"[\u03a3\u03ae\u03bc\u03b5\u03c1\u03b1 {}] LT",nextDay:"[\u0391\u03cd\u03c1\u03b9\u03bf {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[\u03a7\u03b8\u03b5\u03c2 {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[\u03c4\u03bf \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf] dddd [{}] LT";default:return"[\u03c4\u03b7\u03bd \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7] dddd [{}] LT"}},sameElse:"L"},calendar:function(e,a){var t=this._calendarEl[e],s=a&&a.hours();return H(t)&&(t=t.apply(a)),t.replace("{}",s%12==1?"\u03c3\u03c4\u03b7":"\u03c3\u03c4\u03b9\u03c2")},relativeTime:{future:"\u03c3\u03b5 %s",past:"%s \u03c0\u03c1\u03b9\u03bd",s:"\u03bb\u03af\u03b3\u03b1 \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",ss:"%d \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",m:"\u03ad\u03bd\u03b1 \u03bb\u03b5\u03c0\u03c4\u03cc",mm:"%d \u03bb\u03b5\u03c0\u03c4\u03ac",h:"\u03bc\u03af\u03b1 \u03ce\u03c1\u03b1",hh:"%d \u03ce\u03c1\u03b5\u03c2",d:"\u03bc\u03af\u03b1 \u03bc\u03ad\u03c1\u03b1",dd:"%d \u03bc\u03ad\u03c1\u03b5\u03c2",M:"\u03ad\u03bd\u03b1\u03c2 \u03bc\u03ae\u03bd\u03b1\u03c2",MM:"%d \u03bc\u03ae\u03bd\u03b5\u03c2",y:"\u03ad\u03bd\u03b1\u03c2 \u03c7\u03c1\u03cc\u03bd\u03bf\u03c2",yy:"%d \u03c7\u03c1\u03cc\u03bd\u03b9\u03b1"},dayOfMonthOrdinalParse:/\d{1,2}\u03b7/,ordinal:"%d\u03b7",week:{dow:1,doy:4}}),l.defineLocale("en-SG",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".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:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}}),l.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),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:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}}),l.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")}}),l.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".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:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}}),l.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".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:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}}),l.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".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:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")}}),l.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),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:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}}),l.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_a\u016dgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_a\u016dg_sep_okt_nov_dec".split("_"),weekdays:"diman\u0109o_lundo_mardo_merkredo_\u0135a\u016ddo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_\u0135a\u016d_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_\u0135a_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(e){return"p"===e.charAt(0).toLowerCase()},meridiem:function(e,a,t){return 11<e?t?"p.t.m.":"P.T.M.":t?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodia\u016d je] LT",nextDay:"[Morga\u016d je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hiera\u016d je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"anta\u016d %s",s:"sekundoj",ss:"%d sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}});var vs="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),Ss="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),Hs=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],bs=/^(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;l.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?Ss[e.month()]:vs[e.month()]:vs},monthsRegex:bs,monthsShortRegex:bs,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:Hs,longMonthsParse:Hs,shortMonthsParse:Hs,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".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\xf1ana 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\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}});var js="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),xs="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),Os=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],Ps=/^(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;l.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?xs[e.month()]:js[e.month()]:js},monthsRegex:Ps,monthsShortRegex:Ps,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:Os,longMonthsParse:Os,shortMonthsParse:Os,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/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\xf1ana 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\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:0,doy:6}});var Ws="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),As="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),Es=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],Fs=/^(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;function zs(e,a,t,s){var n={s:["m\xf5ne sekundi","m\xf5ni sekund","paar sekundit"],ss:[e+"sekundi",e+"sekundit"],m:["\xfche minuti","\xfcks minut"],mm:[e+" minuti",e+" minutit"],h:["\xfche tunni","tund aega","\xfcks tund"],hh:[e+" tunni",e+" tundi"],d:["\xfche p\xe4eva","\xfcks p\xe4ev"],M:["kuu aja","kuu aega","\xfcks kuu"],MM:[e+" kuu",e+" kuud"],y:["\xfche aasta","aasta","\xfcks aasta"],yy:[e+" aasta",e+" aastat"]};return a?n[t][2]?n[t][2]:n[t][1]:s?n[t][0]:n[t][1]}l.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?As[e.month()]:Ws[e.month()]:Ws},monthsRegex:Fs,monthsShortRegex:Fs,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:Es,longMonthsParse:Es,shortMonthsParse:Es,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana 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\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),l.defineLocale("et",{months:"jaanuar_veebruar_m\xe4rts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_m\xe4rts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"p\xfchap\xe4ev_esmasp\xe4ev_teisip\xe4ev_kolmap\xe4ev_neljap\xe4ev_reede_laup\xe4ev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),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:"[T\xe4na,] LT",nextDay:"[Homme,] LT",nextWeek:"[J\xe4rgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s p\xe4rast",past:"%s tagasi",s:zs,ss:zs,m:zs,mm:zs,h:zs,hh:zs,d:zs,dd:"%d p\xe4eva",M:zs,MM:zs,y:zs,yy:zs},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",ss:"%d segundo",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var Js={1:"\u06f1",2:"\u06f2",3:"\u06f3",4:"\u06f4",5:"\u06f5",6:"\u06f6",7:"\u06f7",8:"\u06f8",9:"\u06f9",0:"\u06f0"},Ns={"\u06f1":"1","\u06f2":"2","\u06f3":"3","\u06f4":"4","\u06f5":"5","\u06f6":"6","\u06f7":"7","\u06f8":"8","\u06f9":"9","\u06f0":"0"};l.defineLocale("fa",{months:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),monthsShort:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),weekdays:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysShort:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u062c_\u0634".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:/\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631|\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/,isPM:function(e){return/\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/.test(e)},meridiem:function(e,a,t){return e<12?"\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631":"\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631"},calendar:{sameDay:"[\u0627\u0645\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",nextDay:"[\u0641\u0631\u062f\u0627 \u0633\u0627\u0639\u062a] LT",nextWeek:"dddd [\u0633\u0627\u0639\u062a] LT",lastDay:"[\u062f\u06cc\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",lastWeek:"dddd [\u067e\u06cc\u0634] [\u0633\u0627\u0639\u062a] LT",sameElse:"L"},relativeTime:{future:"\u062f\u0631 %s",past:"%s \u067e\u06cc\u0634",s:"\u0686\u0646\u062f \u062b\u0627\u0646\u06cc\u0647",ss:"\u062b\u0627\u0646\u06cc\u0647 d%",m:"\u06cc\u06a9 \u062f\u0642\u06cc\u0642\u0647",mm:"%d \u062f\u0642\u06cc\u0642\u0647",h:"\u06cc\u06a9 \u0633\u0627\u0639\u062a",hh:"%d \u0633\u0627\u0639\u062a",d:"\u06cc\u06a9 \u0631\u0648\u0632",dd:"%d \u0631\u0648\u0632",M:"\u06cc\u06a9 \u0645\u0627\u0647",MM:"%d \u0645\u0627\u0647",y:"\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/[\u06f0-\u06f9]/g,function(e){return Ns[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Js[e]}).replace(/,/g,"\u060c")},dayOfMonthOrdinalParse:/\d{1,2}\u0645/,ordinal:"%d\u0645",week:{dow:6,doy:12}});var Rs="nolla yksi kaksi kolme nelj\xe4 viisi kuusi seitsem\xe4n kahdeksan yhdeks\xe4n".split(" "),Cs=["nolla","yhden","kahden","kolmen","nelj\xe4n","viiden","kuuden",Rs[7],Rs[8],Rs[9]];function Is(e,a,t,s){var n,d,r="";switch(t){case"s":return s?"muutaman sekunnin":"muutama sekunti";case"ss":return s?"sekunnin":"sekuntia";case"m":return s?"minuutin":"minuutti";case"mm":r=s?"minuutin":"minuuttia";break;case"h":return s?"tunnin":"tunti";case"hh":r=s?"tunnin":"tuntia";break;case"d":return s?"p\xe4iv\xe4n":"p\xe4iv\xe4";case"dd":r=s?"p\xe4iv\xe4n":"p\xe4iv\xe4\xe4";break;case"M":return s?"kuukauden":"kuukausi";case"MM":r=s?"kuukauden":"kuukautta";break;case"y":return s?"vuoden":"vuosi";case"yy":r=s?"vuoden":"vuotta";break}return d=s,r=((n=e)<10?d?Cs[n]:Rs[n]:n)+" "+r}l.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kes\xe4kuu_hein\xe4kuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kes\xe4_hein\xe4_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[t\xe4n\xe4\xe4n] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s p\xe4\xe4st\xe4",past:"%s sitten",s:Is,ss:Is,m:Is,mm:Is,h:Is,hh:Is,d:Is,dd:Is,M:Is,MM:Is,y:Is,yy:Is},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.defineLocale("fo",{months:"januar_februar_mars_apr\xedl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_m\xe1nadagur_t\xfdsdagur_mikudagur_h\xf3sdagur_fr\xedggjadagur_leygardagur".split("_"),weekdaysShort:"sun_m\xe1n_t\xfds_mik_h\xf3s_fr\xed_ley".split("_"),weekdaysMin:"su_m\xe1_t\xfd_mi_h\xf3_fr_le".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:"[\xcd dag kl.] LT",nextDay:"[\xcd morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xcd gj\xe1r kl.] LT",lastWeek:"[s\xed\xf0stu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s s\xed\xf0ani",s:"f\xe1 sekund",ss:"%d sekundir",m:"ein minuttur",mm:"%d minuttir",h:"ein t\xedmi",hh:"%d t\xedmar",d:"ein dagur",dd:"%d dagar",M:"ein m\xe1na\xf0ur",MM:"%d m\xe1na\xf0ir",y:"eitt \xe1r",yy:"%d \xe1r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.defineLocale("fr-ca",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}}}),l.defineLocale("fr-ch",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".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:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}}),l.defineLocale("fr",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".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:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(e,a){switch(a){case"D":return e+(1===e?"er":"");default:case"M":case"Q":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}});var Us="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),Gs="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");l.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?Gs[e.month()]:Us[e.month()]:Us},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".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:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[\xf4fr\xfbne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",ss:"%d sekonden",m:"ien min\xfat",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}});l.defineLocale("ga",{months:["Ean\xe1ir","Feabhra","M\xe1rta","Aibre\xe1n","Bealtaine","M\xe9itheamh","I\xfail","L\xfanasa","Me\xe1n F\xf3mhair","Deaireadh F\xf3mhair","Samhain","Nollaig"],monthsShort:["Ean\xe1","Feab","M\xe1rt","Aibr","Beal","M\xe9it","I\xfail","L\xfana","Me\xe1n","Deai","Samh","Noll"],monthsParseExact:!0,weekdays:["D\xe9 Domhnaigh","D\xe9 Luain","D\xe9 M\xe1irt","D\xe9 C\xe9adaoin","D\xe9ardaoin","D\xe9 hAoine","D\xe9 Satharn"],weekdaysShort:["Dom","Lua","M\xe1i","C\xe9a","D\xe9a","hAo","Sat"],weekdaysMin:["Do","Lu","M\xe1","Ce","D\xe9","hA","Sa"],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:"[Inniu ag] LT",nextDay:"[Am\xe1rach ag] LT",nextWeek:"dddd [ag] LT",lastDay:"[Inn\xe9 aig] LT",lastWeek:"dddd [seo caite] [ag] LT",sameElse:"L"},relativeTime:{future:"i %s",past:"%s \xf3 shin",s:"c\xfapla soicind",ss:"%d soicind",m:"n\xf3im\xe9ad",mm:"%d n\xf3im\xe9ad",h:"uair an chloig",hh:"%d uair an chloig",d:"l\xe1",dd:"%d l\xe1",M:"m\xed",MM:"%d m\xed",y:"bliain",yy:"%d bliain"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?"d":e%10==2?"na":"mh")},week:{dow:1,doy:4}});function Vs(e,a,t,s){var n={s:["thodde secondanim","thodde second"],ss:[e+" secondanim",e+" second"],m:["eka mintan","ek minute"],mm:[e+" mintanim",e+" mintam"],h:["eka voran","ek vor"],hh:[e+" voranim",e+" voram"],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 a?n[t][0]:n[t][1]}l.defineLocale("gd",{months:["Am Faoilleach","An Gearran","Am M\xe0rt","An Giblean","An C\xe8itean","An t-\xd2gmhios","An t-Iuchar","An L\xf9nastal","An t-Sultain","An D\xe0mhair","An t-Samhain","An D\xf9bhlachd"],monthsShort:["Faoi","Gear","M\xe0rt","Gibl","C\xe8it","\xd2gmh","Iuch","L\xf9n","Sult","D\xe0mh","Samh","D\xf9bh"],monthsParseExact:!0,weekdays:["Did\xf2mhnaich","Diluain","Dim\xe0irt","Diciadain","Diardaoin","Dihaoine","Disathairne"],weekdaysShort:["Did","Dil","Dim","Dic","Dia","Dih","Dis"],weekdaysMin:["D\xf2","Lu","M\xe0","Ci","Ar","Ha","Sa"],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:"[An-diugh aig] LT",nextDay:"[A-m\xe0ireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-d\xe8 aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"m\xecos",MM:"%d m\xecosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?"d":e%10==2?"na":"mh")},week:{dow:1,doy:4}}),l.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xu\xf1o_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xu\xf1._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_m\xe9rcores_xoves_venres_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._m\xe9r._xov._ven._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_m\xe9_xo_ve_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextDay:function(){return"[ma\xf1\xe1 "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"\xe1s":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"\xe1":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"\xe1s":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(e){return 0===e.indexOf("un")?"n"+e:"en "+e},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),l.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:Vs,ss:Vs,m:Vs,mm:Vs,h:Vs,hh:Vs,d:Vs,dd:Vs,M:Vs,MM:Vs,y:Vs,yy:Vs},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(e,a){switch(a){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,a){return 12===e&&(e=0),"rati"===a?e<4?e:e+12:"sokalli"===a?e:"donparam"===a?12<e?e:e+12:"sanje"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"rati":e<12?"sokalli":e<16?"donparam":e<20?"sanje":"rati"}});var Ks={1:"\u0ae7",2:"\u0ae8",3:"\u0ae9",4:"\u0aea",5:"\u0aeb",6:"\u0aec",7:"\u0aed",8:"\u0aee",9:"\u0aef",0:"\u0ae6"},Zs={"\u0ae7":"1","\u0ae8":"2","\u0ae9":"3","\u0aea":"4","\u0aeb":"5","\u0aec":"6","\u0aed":"7","\u0aee":"8","\u0aef":"9","\u0ae6":"0"};l.defineLocale("gu",{months:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1\u0a86\u0ab0\u0ac0_\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1\u0a86\u0ab0\u0ac0_\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2_\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe\u0a88_\u0a91\u0a97\u0ab8\u0acd\u0a9f_\u0ab8\u0aaa\u0acd\u0a9f\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0a91\u0a95\u0acd\u0a9f\u0acd\u0aac\u0ab0_\u0aa8\u0ab5\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0aa1\u0abf\u0ab8\u0ac7\u0aae\u0acd\u0aac\u0ab0".split("_"),monthsShort:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1._\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1._\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf._\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe._\u0a91\u0a97._\u0ab8\u0aaa\u0acd\u0a9f\u0ac7._\u0a91\u0a95\u0acd\u0a9f\u0acd._\u0aa8\u0ab5\u0ac7._\u0aa1\u0abf\u0ab8\u0ac7.".split("_"),monthsParseExact:!0,weekdays:"\u0ab0\u0ab5\u0abf\u0ab5\u0abe\u0ab0_\u0ab8\u0acb\u0aae\u0ab5\u0abe\u0ab0_\u0aae\u0a82\u0a97\u0ab3\u0ab5\u0abe\u0ab0_\u0aac\u0ac1\u0aa7\u0acd\u0ab5\u0abe\u0ab0_\u0a97\u0ac1\u0ab0\u0ac1\u0ab5\u0abe\u0ab0_\u0ab6\u0ac1\u0a95\u0acd\u0ab0\u0ab5\u0abe\u0ab0_\u0ab6\u0aa8\u0abf\u0ab5\u0abe\u0ab0".split("_"),weekdaysShort:"\u0ab0\u0ab5\u0abf_\u0ab8\u0acb\u0aae_\u0aae\u0a82\u0a97\u0ab3_\u0aac\u0ac1\u0aa7\u0acd_\u0a97\u0ac1\u0ab0\u0ac1_\u0ab6\u0ac1\u0a95\u0acd\u0ab0_\u0ab6\u0aa8\u0abf".split("_"),weekdaysMin:"\u0ab0_\u0ab8\u0acb_\u0aae\u0a82_\u0aac\u0ac1_\u0a97\u0ac1_\u0ab6\u0ac1_\u0ab6".split("_"),longDateFormat:{LT:"A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LTS:"A h:mm:ss \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LLLL:"dddd, D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7"},calendar:{sameDay:"[\u0a86\u0a9c] LT",nextDay:"[\u0a95\u0abe\u0ab2\u0ac7] LT",nextWeek:"dddd, LT",lastDay:"[\u0a97\u0a87\u0a95\u0abe\u0ab2\u0ac7] LT",lastWeek:"[\u0aaa\u0abe\u0a9b\u0ab2\u0abe] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0aae\u0abe",past:"%s \u0aaa\u0ac7\u0ab9\u0ab2\u0abe",s:"\u0a85\u0aae\u0ac1\u0a95 \u0aaa\u0ab3\u0acb",ss:"%d \u0ab8\u0ac7\u0a95\u0a82\u0aa1",m:"\u0a8f\u0a95 \u0aae\u0abf\u0aa8\u0abf\u0a9f",mm:"%d \u0aae\u0abf\u0aa8\u0abf\u0a9f",h:"\u0a8f\u0a95 \u0a95\u0ab2\u0abe\u0a95",hh:"%d \u0a95\u0ab2\u0abe\u0a95",d:"\u0a8f\u0a95 \u0aa6\u0abf\u0ab5\u0ab8",dd:"%d \u0aa6\u0abf\u0ab5\u0ab8",M:"\u0a8f\u0a95 \u0aae\u0ab9\u0abf\u0aa8\u0acb",MM:"%d \u0aae\u0ab9\u0abf\u0aa8\u0acb",y:"\u0a8f\u0a95 \u0ab5\u0ab0\u0acd\u0ab7",yy:"%d \u0ab5\u0ab0\u0acd\u0ab7"},preparse:function(e){return e.replace(/[\u0ae7\u0ae8\u0ae9\u0aea\u0aeb\u0aec\u0aed\u0aee\u0aef\u0ae6]/g,function(e){return Zs[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Ks[e]})},meridiemParse:/\u0ab0\u0abe\u0aa4|\u0aac\u0aaa\u0acb\u0ab0|\u0ab8\u0ab5\u0abe\u0ab0|\u0ab8\u0abe\u0a82\u0a9c/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0ab0\u0abe\u0aa4"===a?e<4?e:e+12:"\u0ab8\u0ab5\u0abe\u0ab0"===a?e:"\u0aac\u0aaa\u0acb\u0ab0"===a?10<=e?e:e+12:"\u0ab8\u0abe\u0a82\u0a9c"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0ab0\u0abe\u0aa4":e<10?"\u0ab8\u0ab5\u0abe\u0ab0":e<17?"\u0aac\u0aaa\u0acb\u0ab0":e<20?"\u0ab8\u0abe\u0a82\u0a9c":"\u0ab0\u0abe\u0aa4"},week:{dow:0,doy:6}}),l.defineLocale("he",{months:"\u05d9\u05e0\u05d5\u05d0\u05e8_\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05d9\u05dc_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8_\u05e1\u05e4\u05d8\u05de\u05d1\u05e8_\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8_\u05e0\u05d5\u05d1\u05de\u05d1\u05e8_\u05d3\u05e6\u05de\u05d1\u05e8".split("_"),monthsShort:"\u05d9\u05e0\u05d5\u05f3_\u05e4\u05d1\u05e8\u05f3_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05f3_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05f3_\u05e1\u05e4\u05d8\u05f3_\u05d0\u05d5\u05e7\u05f3_\u05e0\u05d5\u05d1\u05f3_\u05d3\u05e6\u05de\u05f3".split("_"),weekdays:"\u05e8\u05d0\u05e9\u05d5\u05df_\u05e9\u05e0\u05d9_\u05e9\u05dc\u05d9\u05e9\u05d9_\u05e8\u05d1\u05d9\u05e2\u05d9_\u05d7\u05de\u05d9\u05e9\u05d9_\u05e9\u05d9\u05e9\u05d9_\u05e9\u05d1\u05ea".split("_"),weekdaysShort:"\u05d0\u05f3_\u05d1\u05f3_\u05d2\u05f3_\u05d3\u05f3_\u05d4\u05f3_\u05d5\u05f3_\u05e9\u05f3".split("_"),weekdaysMin:"\u05d0_\u05d1_\u05d2_\u05d3_\u05d4_\u05d5_\u05e9".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [\u05d1]MMMM YYYY",LLL:"D [\u05d1]MMMM YYYY HH:mm",LLLL:"dddd, D [\u05d1]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[\u05d4\u05d9\u05d5\u05dd \u05d1\u05be]LT",nextDay:"[\u05de\u05d7\u05e8 \u05d1\u05be]LT",nextWeek:"dddd [\u05d1\u05e9\u05e2\u05d4] LT",lastDay:"[\u05d0\u05ea\u05de\u05d5\u05dc \u05d1\u05be]LT",lastWeek:"[\u05d1\u05d9\u05d5\u05dd] dddd [\u05d4\u05d0\u05d7\u05e8\u05d5\u05df \u05d1\u05e9\u05e2\u05d4] LT",sameElse:"L"},relativeTime:{future:"\u05d1\u05e2\u05d5\u05d3 %s",past:"\u05dc\u05e4\u05e0\u05d9 %s",s:"\u05de\u05e1\u05e4\u05e8 \u05e9\u05e0\u05d9\u05d5\u05ea",ss:"%d \u05e9\u05e0\u05d9\u05d5\u05ea",m:"\u05d3\u05e7\u05d4",mm:"%d \u05d3\u05e7\u05d5\u05ea",h:"\u05e9\u05e2\u05d4",hh:function(e){return 2===e?"\u05e9\u05e2\u05ea\u05d9\u05d9\u05dd":e+" \u05e9\u05e2\u05d5\u05ea"},d:"\u05d9\u05d5\u05dd",dd:function(e){return 2===e?"\u05d9\u05d5\u05de\u05d9\u05d9\u05dd":e+" \u05d9\u05de\u05d9\u05dd"},M:"\u05d7\u05d5\u05d3\u05e9",MM:function(e){return 2===e?"\u05d7\u05d5\u05d3\u05e9\u05d9\u05d9\u05dd":e+" \u05d7\u05d5\u05d3\u05e9\u05d9\u05dd"},y:"\u05e9\u05e0\u05d4",yy:function(e){return 2===e?"\u05e9\u05e0\u05ea\u05d9\u05d9\u05dd":e%10==0&&10!==e?e+" \u05e9\u05e0\u05d4":e+" \u05e9\u05e0\u05d9\u05dd"}},meridiemParse:/\u05d0\u05d7\u05d4"\u05e6|\u05dc\u05e4\u05e0\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8|\u05d1\u05d1\u05d5\u05e7\u05e8|\u05d1\u05e2\u05e8\u05d1/i,isPM:function(e){return/^(\u05d0\u05d7\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05d1\u05e2\u05e8\u05d1)$/.test(e)},meridiem:function(e,a,t){return e<5?"\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8":e<10?"\u05d1\u05d1\u05d5\u05e7\u05e8":e<12?t?'\u05dc\u05e4\u05e0\u05d4"\u05e6':"\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":e<18?t?'\u05d0\u05d7\u05d4"\u05e6':"\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":"\u05d1\u05e2\u05e8\u05d1"}});var $s={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},Bs={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};function qs(e,a,t){var s=e+" ";switch(t){case"ss":return s+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"m":return a?"jedna minuta":"jedne minute";case"mm":return s+=1===e?"minuta":2===e||3===e||4===e?"minute":"minuta";case"h":return a?"jedan sat":"jednog sata";case"hh":return s+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return s+=1===e?"dan":"dana";case"MM":return s+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return s+=1===e?"godina":2===e||3===e||4===e?"godine":"godina"}}l.defineLocale("hi",{months:"\u091c\u0928\u0935\u0930\u0940_\u092b\u093c\u0930\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948\u0932_\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0938\u094d\u0924_\u0938\u093f\u0924\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u0942\u092c\u0930_\u0928\u0935\u092e\u094d\u092c\u0930_\u0926\u093f\u0938\u092e\u094d\u092c\u0930".split("_"),monthsShort:"\u091c\u0928._\u092b\u093c\u0930._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948._\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932._\u0905\u0917._\u0938\u093f\u0924._\u0905\u0915\u094d\u091f\u0942._\u0928\u0935._\u0926\u093f\u0938.".split("_"),monthsParseExact:!0,weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0932\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0932_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u092c\u091c\u0947",LTS:"A h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A h:mm \u092c\u091c\u0947"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0915\u0932] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u0932] LT",lastWeek:"[\u092a\u093f\u091b\u0932\u0947] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u092e\u0947\u0902",past:"%s \u092a\u0939\u0932\u0947",s:"\u0915\u0941\u091b \u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0902\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u091f",mm:"%d \u092e\u093f\u0928\u091f",h:"\u090f\u0915 \u0918\u0902\u091f\u093e",hh:"%d \u0918\u0902\u091f\u0947",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u0940\u0928\u0947",MM:"%d \u092e\u0939\u0940\u0928\u0947",y:"\u090f\u0915 \u0935\u0930\u094d\u0937",yy:"%d \u0935\u0930\u094d\u0937"},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return Bs[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return $s[e]})},meridiemParse:/\u0930\u093e\u0924|\u0938\u0941\u092c\u0939|\u0926\u094b\u092a\u0939\u0930|\u0936\u093e\u092e/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924"===a?e<4?e:e+12:"\u0938\u0941\u092c\u0939"===a?e:"\u0926\u094b\u092a\u0939\u0930"===a?10<=e?e:e+12:"\u0936\u093e\u092e"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0930\u093e\u0924":e<10?"\u0938\u0941\u092c\u0939":e<17?"\u0926\u094b\u092a\u0939\u0930":e<20?"\u0936\u093e\u092e":"\u0930\u093e\u0924"},week:{dow:0,doy:6}}),l.defineLocale("hr",{months:{format:"sije\u010dnja_velja\u010de_o\u017eujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"sije\u010danj_velja\u010da_o\u017eujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._o\u017eu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".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:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[pro\u0161lu] dddd [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:qs,m:qs,mm:qs,h:qs,hh:qs,d:"dan",dd:qs,M:"mjesec",MM:qs,y:"godinu",yy:qs},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var Qs="vas\xe1rnap h\xe9tf\u0151n kedden szerd\xe1n cs\xfct\xf6rt\xf6k\xf6n p\xe9nteken szombaton".split(" ");function Xs(e,a,t,s){var n=e;switch(t){case"s":return s||a?"n\xe9h\xe1ny m\xe1sodperc":"n\xe9h\xe1ny m\xe1sodperce";case"ss":return n+(s||a)?" m\xe1sodperc":" m\xe1sodperce";case"m":return"egy"+(s||a?" perc":" perce");case"mm":return n+(s||a?" perc":" perce");case"h":return"egy"+(s||a?" \xf3ra":" \xf3r\xe1ja");case"hh":return n+(s||a?" \xf3ra":" \xf3r\xe1ja");case"d":return"egy"+(s||a?" nap":" napja");case"dd":return n+(s||a?" nap":" napja");case"M":return"egy"+(s||a?" h\xf3nap":" h\xf3napja");case"MM":return n+(s||a?" h\xf3nap":" h\xf3napja");case"y":return"egy"+(s||a?" \xe9v":" \xe9ve");case"yy":return n+(s||a?" \xe9v":" \xe9ve")}return""}function en(e){return(e?"":"[m\xfalt] ")+"["+Qs[this.day()]+"] LT[-kor]"}function an(e){return e%100==11||e%10!=1}function tn(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"nokkrar sek\xfandur":"nokkrum sek\xfandum";case"ss":return an(e)?n+(a||s?"sek\xfandur":"sek\xfandum"):n+"sek\xfanda";case"m":return a?"m\xedn\xfata":"m\xedn\xfatu";case"mm":return an(e)?n+(a||s?"m\xedn\xfatur":"m\xedn\xfatum"):a?n+"m\xedn\xfata":n+"m\xedn\xfatu";case"hh":return an(e)?n+(a||s?"klukkustundir":"klukkustundum"):n+"klukkustund";case"d":return a?"dagur":s?"dag":"degi";case"dd":return an(e)?a?n+"dagar":n+(s?"daga":"d\xf6gum"):a?n+"dagur":n+(s?"dag":"degi");case"M":return a?"m\xe1nu\xf0ur":s?"m\xe1nu\xf0":"m\xe1nu\xf0i";case"MM":return an(e)?a?n+"m\xe1nu\xf0ir":n+(s?"m\xe1nu\xf0i":"m\xe1nu\xf0um"):a?n+"m\xe1nu\xf0ur":n+(s?"m\xe1nu\xf0":"m\xe1nu\xf0i");case"y":return a||s?"\xe1r":"\xe1ri";case"yy":return an(e)?n+(a||s?"\xe1r":"\xe1rum"):n+(a||s?"\xe1r":"\xe1ri")}}l.defineLocale("hu",{months:"janu\xe1r_febru\xe1r_m\xe1rcius_\xe1prilis_m\xe1jus_j\xfanius_j\xfalius_augusztus_szeptember_okt\xf3ber_november_december".split("_"),monthsShort:"jan_feb_m\xe1rc_\xe1pr_m\xe1j_j\xfan_j\xfal_aug_szept_okt_nov_dec".split("_"),weekdays:"vas\xe1rnap_h\xe9tf\u0151_kedd_szerda_cs\xfct\xf6rt\xf6k_p\xe9ntek_szombat".split("_"),weekdaysShort:"vas_h\xe9t_kedd_sze_cs\xfct_p\xe9n_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(e){return"u"===e.charAt(1).toLowerCase()},meridiem:function(e,a,t){return e<12?!0===t?"de":"DE":!0===t?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return en.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return en.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s m\xfalva",past:"%s",s:Xs,ss:Xs,m:Xs,mm:Xs,h:Xs,hh:Xs,d:Xs,dd:Xs,M:Xs,MM:Xs,y:Xs,yy:Xs},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.defineLocale("hy-am",{months:{format:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580\u056b_\u0583\u0565\u057f\u0580\u057e\u0561\u0580\u056b_\u0574\u0561\u0580\u057f\u056b_\u0561\u057a\u0580\u056b\u056c\u056b_\u0574\u0561\u0575\u056b\u057d\u056b_\u0570\u0578\u0582\u0576\u056b\u057d\u056b_\u0570\u0578\u0582\u056c\u056b\u057d\u056b_\u0585\u0563\u0578\u057d\u057f\u0578\u057d\u056b_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580\u056b_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b".split("_"),standalone:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580_\u0583\u0565\u057f\u0580\u057e\u0561\u0580_\u0574\u0561\u0580\u057f_\u0561\u057a\u0580\u056b\u056c_\u0574\u0561\u0575\u056b\u057d_\u0570\u0578\u0582\u0576\u056b\u057d_\u0570\u0578\u0582\u056c\u056b\u057d_\u0585\u0563\u0578\u057d\u057f\u0578\u057d_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580".split("_")},monthsShort:"\u0570\u0576\u057e_\u0583\u057f\u0580_\u0574\u0580\u057f_\u0561\u057a\u0580_\u0574\u0575\u057d_\u0570\u0576\u057d_\u0570\u056c\u057d_\u0585\u0563\u057d_\u057d\u057a\u057f_\u0570\u056f\u057f_\u0576\u0574\u0562_\u0564\u056f\u057f".split("_"),weekdays:"\u056f\u056b\u0580\u0561\u056f\u056b_\u0565\u0580\u056f\u0578\u0582\u0577\u0561\u0562\u0569\u056b_\u0565\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0579\u0578\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0570\u056b\u0576\u0563\u0577\u0561\u0562\u0569\u056b_\u0578\u0582\u0580\u0562\u0561\u0569_\u0577\u0561\u0562\u0561\u0569".split("_"),weekdaysShort:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),weekdaysMin:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0569.",LLL:"D MMMM YYYY \u0569., HH:mm",LLLL:"dddd, D MMMM YYYY \u0569., HH:mm"},calendar:{sameDay:"[\u0561\u0575\u057d\u0585\u0580] LT",nextDay:"[\u057e\u0561\u0572\u0568] LT",lastDay:"[\u0565\u0580\u0565\u056f] LT",nextWeek:function(){return"dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},lastWeek:function(){return"[\u0561\u0576\u0581\u0561\u056e] dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},sameElse:"L"},relativeTime:{future:"%s \u0570\u0565\u057f\u0578",past:"%s \u0561\u057c\u0561\u057b",s:"\u0574\u056b \u0584\u0561\u0576\u056b \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",ss:"%d \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",m:"\u0580\u0578\u057a\u0565",mm:"%d \u0580\u0578\u057a\u0565",h:"\u056a\u0561\u0574",hh:"%d \u056a\u0561\u0574",d:"\u0585\u0580",dd:"%d \u0585\u0580",M:"\u0561\u0574\u056b\u057d",MM:"%d \u0561\u0574\u056b\u057d",y:"\u057f\u0561\u0580\u056b",yy:"%d \u057f\u0561\u0580\u056b"},meridiemParse:/\u0563\u056b\u0577\u0565\u0580\u057e\u0561|\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561|\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576/,isPM:function(e){return/^(\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576)$/.test(e)},meridiem:function(e){return e<4?"\u0563\u056b\u0577\u0565\u0580\u057e\u0561":e<12?"\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561":e<17?"\u0581\u0565\u0580\u0565\u056f\u057e\u0561":"\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(\u056b\u0576|\u0580\u0564)/,ordinal:function(e,a){switch(a){case"DDD":case"w":case"W":case"DDDo":return 1===e?e+"-\u056b\u0576":e+"-\u0580\u0564";default:return e}},week:{dow:1,doy:7}}),l.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"siang"===a?11<=e?e:e+12:"sore"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"pagi":e<15?"siang":e<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),l.defineLocale("is",{months:"jan\xfaar_febr\xfaar_mars_apr\xedl_ma\xed_j\xfan\xed_j\xfal\xed_\xe1g\xfast_september_okt\xf3ber_n\xf3vember_desember".split("_"),monthsShort:"jan_feb_mar_apr_ma\xed_j\xfan_j\xfal_\xe1g\xfa_sep_okt_n\xf3v_des".split("_"),weekdays:"sunnudagur_m\xe1nudagur_\xferi\xf0judagur_mi\xf0vikudagur_fimmtudagur_f\xf6studagur_laugardagur".split("_"),weekdaysShort:"sun_m\xe1n_\xferi_mi\xf0_fim_f\xf6s_lau".split("_"),weekdaysMin:"Su_M\xe1_\xder_Mi_Fi_F\xf6_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[\xed dag kl.] LT",nextDay:"[\xe1 morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xed g\xe6r kl.] LT",lastWeek:"[s\xed\xf0asta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s s\xed\xf0an",s:tn,ss:tn,m:tn,mm:tn,h:"klukkustund",hh:tn,d:tn,dd:tn,M:tn,MM:tn,y:tn,yy:tn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.defineLocale("it-ch",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".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:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?"tra":"in")+" "+e},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),l.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".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:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?"tra":"in")+" "+e},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),l.defineLocale("ja",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u65e5\u66dc\u65e5_\u6708\u66dc\u65e5_\u706b\u66dc\u65e5_\u6c34\u66dc\u65e5_\u6728\u66dc\u65e5_\u91d1\u66dc\u65e5_\u571f\u66dc\u65e5".split("_"),weekdaysShort:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),weekdaysMin:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5(ddd) HH:mm"},meridiemParse:/\u5348\u524d|\u5348\u5f8c/i,isPM:function(e){return"\u5348\u5f8c"===e},meridiem:function(e,a,t){return e<12?"\u5348\u524d":"\u5348\u5f8c"},calendar:{sameDay:"[\u4eca\u65e5] LT",nextDay:"[\u660e\u65e5] LT",nextWeek:function(e){return e.week()<this.week()?"[\u6765\u9031]dddd LT":"dddd LT"},lastDay:"[\u6628\u65e5] LT",lastWeek:function(e){return this.week()<e.week()?"[\u5148\u9031]dddd LT":"dddd LT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}\u65e5/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";default:return e}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u6570\u79d2",ss:"%d\u79d2",m:"1\u5206",mm:"%d\u5206",h:"1\u6642\u9593",hh:"%d\u6642\u9593",d:"1\u65e5",dd:"%d\u65e5",M:"1\u30f6\u6708",MM:"%d\u30f6\u6708",y:"1\u5e74",yy:"%d\u5e74"}}),l.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(e,a){return 12===e&&(e=0),"enjing"===a?e:"siyang"===a?11<=e?e:e+12:"sonten"===a||"ndalu"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"enjing":e<15?"siyang":e<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}}),l.defineLocale("ka",{months:{standalone:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10d8_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10d8_\u10db\u10d0\u10e0\u10e2\u10d8_\u10d0\u10de\u10e0\u10d8\u10da\u10d8_\u10db\u10d0\u10d8\u10e1\u10d8_\u10d8\u10d5\u10dc\u10d8\u10e1\u10d8_\u10d8\u10d5\u10da\u10d8\u10e1\u10d8_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10dd_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10d8_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10d8".split("_"),format:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10e1_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10e1_\u10db\u10d0\u10e0\u10e2\u10e1_\u10d0\u10de\u10e0\u10d8\u10da\u10d8\u10e1_\u10db\u10d0\u10d8\u10e1\u10e1_\u10d8\u10d5\u10dc\u10d8\u10e1\u10e1_\u10d8\u10d5\u10da\u10d8\u10e1\u10e1_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10e1_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10e1_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10e1_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10e1_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10e1".split("_")},monthsShort:"\u10d8\u10d0\u10dc_\u10d7\u10d4\u10d1_\u10db\u10d0\u10e0_\u10d0\u10de\u10e0_\u10db\u10d0\u10d8_\u10d8\u10d5\u10dc_\u10d8\u10d5\u10da_\u10d0\u10d2\u10d5_\u10e1\u10d4\u10e5_\u10dd\u10e5\u10e2_\u10dc\u10dd\u10d4_\u10d3\u10d4\u10d9".split("_"),weekdays:{standalone:"\u10d9\u10d5\u10d8\u10e0\u10d0_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10d8_\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8".split("_"),format:"\u10d9\u10d5\u10d8\u10e0\u10d0\u10e1_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10e1_\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1".split("_"),isFormat:/(\u10ec\u10d8\u10dc\u10d0|\u10e8\u10d4\u10db\u10d3\u10d4\u10d2)/},weekdaysShort:"\u10d9\u10d5\u10d8_\u10dd\u10e0\u10e8_\u10e1\u10d0\u10db_\u10dd\u10d7\u10ee_\u10ee\u10e3\u10d7_\u10de\u10d0\u10e0_\u10e8\u10d0\u10d1".split("_"),weekdaysMin:"\u10d9\u10d5_\u10dd\u10e0_\u10e1\u10d0_\u10dd\u10d7_\u10ee\u10e3_\u10de\u10d0_\u10e8\u10d0".split("_"),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:"[\u10d3\u10e6\u10d4\u10e1] LT[-\u10d6\u10d4]",nextDay:"[\u10ee\u10d5\u10d0\u10da] LT[-\u10d6\u10d4]",lastDay:"[\u10d2\u10e3\u10e8\u10d8\u10dc] LT[-\u10d6\u10d4]",nextWeek:"[\u10e8\u10d4\u10db\u10d3\u10d4\u10d2] dddd LT[-\u10d6\u10d4]",lastWeek:"[\u10ec\u10d8\u10dc\u10d0] dddd LT-\u10d6\u10d4",sameElse:"L"},relativeTime:{future:function(e){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10ec\u10d4\u10da\u10d8)/.test(e)?e.replace(/\u10d8$/,"\u10e8\u10d8"):e+"\u10e8\u10d8"},past:function(e){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10d3\u10e6\u10d4|\u10d7\u10d5\u10d4)/.test(e)?e.replace(/(\u10d8|\u10d4)$/,"\u10d8\u10e1 \u10ec\u10d8\u10dc"):/\u10ec\u10d4\u10da\u10d8/.test(e)?e.replace(/\u10ec\u10d4\u10da\u10d8$/,"\u10ec\u10da\u10d8\u10e1 \u10ec\u10d8\u10dc"):void 0},s:"\u10e0\u10d0\u10db\u10d3\u10d4\u10dc\u10d8\u10db\u10d4 \u10ec\u10d0\u10db\u10d8",ss:"%d \u10ec\u10d0\u10db\u10d8",m:"\u10ec\u10e3\u10d7\u10d8",mm:"%d \u10ec\u10e3\u10d7\u10d8",h:"\u10e1\u10d0\u10d0\u10d7\u10d8",hh:"%d \u10e1\u10d0\u10d0\u10d7\u10d8",d:"\u10d3\u10e6\u10d4",dd:"%d \u10d3\u10e6\u10d4",M:"\u10d7\u10d5\u10d4",MM:"%d \u10d7\u10d5\u10d4",y:"\u10ec\u10d4\u10da\u10d8",yy:"%d \u10ec\u10d4\u10da\u10d8"},dayOfMonthOrdinalParse:/0|1-\u10da\u10d8|\u10db\u10d4-\d{1,2}|\d{1,2}-\u10d4/,ordinal:function(e){return 0===e?e:1===e?e+"-\u10da\u10d8":e<20||e<=100&&e%20==0||e%100==0?"\u10db\u10d4-"+e:e+"-\u10d4"},week:{dow:1,doy:7}});var sn={0:"-\u0448\u0456",1:"-\u0448\u0456",2:"-\u0448\u0456",3:"-\u0448\u0456",4:"-\u0448\u0456",5:"-\u0448\u0456",6:"-\u0448\u044b",7:"-\u0448\u0456",8:"-\u0448\u0456",9:"-\u0448\u044b",10:"-\u0448\u044b",20:"-\u0448\u044b",30:"-\u0448\u044b",40:"-\u0448\u044b",50:"-\u0448\u0456",60:"-\u0448\u044b",70:"-\u0448\u0456",80:"-\u0448\u0456",90:"-\u0448\u044b",100:"-\u0448\u0456"};l.defineLocale("kk",{months:"\u049b\u0430\u04a3\u0442\u0430\u0440_\u0430\u049b\u043f\u0430\u043d_\u043d\u0430\u0443\u0440\u044b\u0437_\u0441\u04d9\u0443\u0456\u0440_\u043c\u0430\u043c\u044b\u0440_\u043c\u0430\u0443\u0441\u044b\u043c_\u0448\u0456\u043b\u0434\u0435_\u0442\u0430\u043c\u044b\u0437_\u049b\u044b\u0440\u043a\u04af\u0439\u0435\u043a_\u049b\u0430\u0437\u0430\u043d_\u049b\u0430\u0440\u0430\u0448\u0430_\u0436\u0435\u043b\u0442\u043e\u049b\u0441\u0430\u043d".split("_"),monthsShort:"\u049b\u0430\u04a3_\u0430\u049b\u043f_\u043d\u0430\u0443_\u0441\u04d9\u0443_\u043c\u0430\u043c_\u043c\u0430\u0443_\u0448\u0456\u043b_\u0442\u0430\u043c_\u049b\u044b\u0440_\u049b\u0430\u0437_\u049b\u0430\u0440_\u0436\u0435\u043b".split("_"),weekdays:"\u0436\u0435\u043a\u0441\u0435\u043d\u0431\u0456_\u0434\u04af\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u04d9\u0440\u0441\u0435\u043d\u0431\u0456_\u0431\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0436\u04b1\u043c\u0430_\u0441\u0435\u043d\u0431\u0456".split("_"),weekdaysShort:"\u0436\u0435\u043a_\u0434\u04af\u0439_\u0441\u0435\u0439_\u0441\u04d9\u0440_\u0431\u0435\u0439_\u0436\u04b1\u043c_\u0441\u0435\u043d".split("_"),weekdaysMin:"\u0436\u043a_\u0434\u0439_\u0441\u0439_\u0441\u0440_\u0431\u0439_\u0436\u043c_\u0441\u043d".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:"[\u0411\u04af\u0433\u0456\u043d \u0441\u0430\u0493\u0430\u0442] LT",nextDay:"[\u0415\u0440\u0442\u0435\u04a3 \u0441\u0430\u0493\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0493\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0448\u0435 \u0441\u0430\u0493\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u0435\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u04a3] dddd [\u0441\u0430\u0493\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0456\u0448\u0456\u043d\u0434\u0435",past:"%s \u0431\u04b1\u0440\u044b\u043d",s:"\u0431\u0456\u0440\u043d\u0435\u0448\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0456\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u0431\u0456\u0440 \u0441\u0430\u0493\u0430\u0442",hh:"%d \u0441\u0430\u0493\u0430\u0442",d:"\u0431\u0456\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0456\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0456\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0448\u0456|\u0448\u044b)/,ordinal:function(e){return e+(sn[e]||sn[e%10]||sn[100<=e?100:null])},week:{dow:1,doy:7}});var nn={1:"\u17e1",2:"\u17e2",3:"\u17e3",4:"\u17e4",5:"\u17e5",6:"\u17e6",7:"\u17e7",8:"\u17e8",9:"\u17e9",0:"\u17e0"},dn={"\u17e1":"1","\u17e2":"2","\u17e3":"3","\u17e4":"4","\u17e5":"5","\u17e6":"6","\u17e7":"7","\u17e8":"8","\u17e9":"9","\u17e0":"0"};l.defineLocale("km",{months:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),monthsShort:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),weekdays:"\u17a2\u17b6\u1791\u17b7\u178f\u17d2\u1799_\u1785\u17d0\u1793\u17d2\u1791_\u17a2\u1784\u17d2\u1782\u17b6\u179a_\u1796\u17bb\u1792_\u1796\u17d2\u179a\u17a0\u179f\u17d2\u1794\u178f\u17b7\u17cd_\u179f\u17bb\u1780\u17d2\u179a_\u179f\u17c5\u179a\u17cd".split("_"),weekdaysShort:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".split("_"),weekdaysMin:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".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:/\u1796\u17d2\u179a\u17b9\u1780|\u179b\u17d2\u1784\u17b6\u1785/,isPM:function(e){return"\u179b\u17d2\u1784\u17b6\u1785"===e},meridiem:function(e,a,t){return e<12?"\u1796\u17d2\u179a\u17b9\u1780":"\u179b\u17d2\u1784\u17b6\u1785"},calendar:{sameDay:"[\u1790\u17d2\u1784\u17c3\u1793\u17c1\u17c7 \u1798\u17c9\u17c4\u1784] LT",nextDay:"[\u179f\u17d2\u17a2\u17c2\u1780 \u1798\u17c9\u17c4\u1784] LT",nextWeek:"dddd [\u1798\u17c9\u17c4\u1784] LT",lastDay:"[\u1798\u17d2\u179f\u17b7\u179b\u1798\u17b7\u1789 \u1798\u17c9\u17c4\u1784] LT",lastWeek:"dddd [\u179f\u1794\u17d2\u178f\u17b6\u17a0\u17cd\u1798\u17bb\u1793] [\u1798\u17c9\u17c4\u1784] LT",sameElse:"L"},relativeTime:{future:"%s\u1791\u17c0\u178f",past:"%s\u1798\u17bb\u1793",s:"\u1794\u17c9\u17bb\u1793\u17d2\u1798\u17b6\u1793\u179c\u17b7\u1793\u17b6\u1791\u17b8",ss:"%d \u179c\u17b7\u1793\u17b6\u1791\u17b8",m:"\u1798\u17bd\u1799\u1793\u17b6\u1791\u17b8",mm:"%d \u1793\u17b6\u1791\u17b8",h:"\u1798\u17bd\u1799\u1798\u17c9\u17c4\u1784",hh:"%d \u1798\u17c9\u17c4\u1784",d:"\u1798\u17bd\u1799\u1790\u17d2\u1784\u17c3",dd:"%d \u1790\u17d2\u1784\u17c3",M:"\u1798\u17bd\u1799\u1781\u17c2",MM:"%d \u1781\u17c2",y:"\u1798\u17bd\u1799\u1786\u17d2\u1793\u17b6\u17c6",yy:"%d \u1786\u17d2\u1793\u17b6\u17c6"},dayOfMonthOrdinalParse:/\u1791\u17b8\d{1,2}/,ordinal:"\u1791\u17b8%d",preparse:function(e){return e.replace(/[\u17e1\u17e2\u17e3\u17e4\u17e5\u17e6\u17e7\u17e8\u17e9\u17e0]/g,function(e){return dn[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return nn[e]})},week:{dow:1,doy:4}});var rn={1:"\u0ce7",2:"\u0ce8",3:"\u0ce9",4:"\u0cea",5:"\u0ceb",6:"\u0cec",7:"\u0ced",8:"\u0cee",9:"\u0cef",0:"\u0ce6"},_n={"\u0ce7":"1","\u0ce8":"2","\u0ce9":"3","\u0cea":"4","\u0ceb":"5","\u0cec":"6","\u0ced":"7","\u0cee":"8","\u0cef":"9","\u0ce6":"0"};l.defineLocale("kn",{months:"\u0c9c\u0ca8\u0cb5\u0cb0\u0cbf_\u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cb5\u0cb0\u0cbf_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5\u0cac\u0cb0\u0ccd_\u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd".split("_"),monthsShort:"\u0c9c\u0ca8_\u0cab\u0cc6\u0cac\u0ccd\u0cb0_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5_\u0ca8\u0cb5\u0cc6\u0c82_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82".split("_"),monthsParseExact:!0,weekdays:"\u0cad\u0cbe\u0ca8\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae\u0cb5\u0cbe\u0cb0_\u0cae\u0c82\u0c97\u0cb3\u0cb5\u0cbe\u0cb0_\u0cac\u0cc1\u0ca7\u0cb5\u0cbe\u0cb0_\u0c97\u0cc1\u0cb0\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0\u0cb5\u0cbe\u0cb0_\u0cb6\u0ca8\u0cbf\u0cb5\u0cbe\u0cb0".split("_"),weekdaysShort:"\u0cad\u0cbe\u0ca8\u0cc1_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae_\u0cae\u0c82\u0c97\u0cb3_\u0cac\u0cc1\u0ca7_\u0c97\u0cc1\u0cb0\u0cc1_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0_\u0cb6\u0ca8\u0cbf".split("_"),weekdaysMin:"\u0cad\u0cbe_\u0cb8\u0cc6\u0cc2\u0cd5_\u0cae\u0c82_\u0cac\u0cc1_\u0c97\u0cc1_\u0cb6\u0cc1_\u0cb6".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:"[\u0c87\u0c82\u0ca6\u0cc1] LT",nextDay:"[\u0ca8\u0cbe\u0cb3\u0cc6] LT",nextWeek:"dddd, LT",lastDay:"[\u0ca8\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6] LT",lastWeek:"[\u0c95\u0cc6\u0cc2\u0ca8\u0cc6\u0caf] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0ca8\u0c82\u0ca4\u0cb0",past:"%s \u0cb9\u0cbf\u0c82\u0ca6\u0cc6",s:"\u0c95\u0cc6\u0cb2\u0cb5\u0cc1 \u0c95\u0ccd\u0cb7\u0ca3\u0c97\u0cb3\u0cc1",ss:"%d \u0cb8\u0cc6\u0c95\u0cc6\u0c82\u0ca1\u0cc1\u0c97\u0cb3\u0cc1",m:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",mm:"%d \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",h:"\u0c92\u0c82\u0ca6\u0cc1 \u0c97\u0c82\u0c9f\u0cc6",hh:"%d \u0c97\u0c82\u0c9f\u0cc6",d:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca6\u0cbf\u0ca8",dd:"%d \u0ca6\u0cbf\u0ca8",M:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",MM:"%d \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",y:"\u0c92\u0c82\u0ca6\u0cc1 \u0cb5\u0cb0\u0ccd\u0cb7",yy:"%d \u0cb5\u0cb0\u0ccd\u0cb7"},preparse:function(e){return e.replace(/[\u0ce7\u0ce8\u0ce9\u0cea\u0ceb\u0cec\u0ced\u0cee\u0cef\u0ce6]/g,function(e){return _n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return rn[e]})},meridiemParse:/\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf|\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6|\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8|\u0cb8\u0c82\u0c9c\u0cc6/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"===a?e<4?e:e+12:"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6"===a?e:"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8"===a?10<=e?e:e+12:"\u0cb8\u0c82\u0c9c\u0cc6"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf":e<10?"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6":e<17?"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8":e<20?"\u0cb8\u0c82\u0c9c\u0cc6":"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"},dayOfMonthOrdinalParse:/\d{1,2}(\u0ca8\u0cc6\u0cd5)/,ordinal:function(e){return e+"\u0ca8\u0cc6\u0cd5"},week:{dow:0,doy:6}}),l.defineLocale("ko",{months:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),monthsShort:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),weekdays:"\uc77c\uc694\uc77c_\uc6d4\uc694\uc77c_\ud654\uc694\uc77c_\uc218\uc694\uc77c_\ubaa9\uc694\uc77c_\uae08\uc694\uc77c_\ud1a0\uc694\uc77c".split("_"),weekdaysShort:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),weekdaysMin:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY\ub144 MMMM D\uc77c",LLL:"YYYY\ub144 MMMM D\uc77c A h:mm",LLLL:"YYYY\ub144 MMMM D\uc77c dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY\ub144 MMMM D\uc77c",lll:"YYYY\ub144 MMMM D\uc77c A h:mm",llll:"YYYY\ub144 MMMM D\uc77c dddd A h:mm"},calendar:{sameDay:"\uc624\ub298 LT",nextDay:"\ub0b4\uc77c LT",nextWeek:"dddd LT",lastDay:"\uc5b4\uc81c LT",lastWeek:"\uc9c0\ub09c\uc8fc dddd LT",sameElse:"L"},relativeTime:{future:"%s \ud6c4",past:"%s \uc804",s:"\uba87 \ucd08",ss:"%d\ucd08",m:"1\ubd84",mm:"%d\ubd84",h:"\ud55c \uc2dc\uac04",hh:"%d\uc2dc\uac04",d:"\ud558\ub8e8",dd:"%d\uc77c",M:"\ud55c \ub2ec",MM:"%d\ub2ec",y:"\uc77c \ub144",yy:"%d\ub144"},dayOfMonthOrdinalParse:/\d{1,2}(\uc77c|\uc6d4|\uc8fc)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\uc77c";case"M":return e+"\uc6d4";case"w":case"W":return e+"\uc8fc";default:return e}},meridiemParse:/\uc624\uc804|\uc624\ud6c4/,isPM:function(e){return"\uc624\ud6c4"===e},meridiem:function(e,a,t){return e<12?"\uc624\uc804":"\uc624\ud6c4"}});var on={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},mn={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},un=["\u06a9\u0627\u0646\u0648\u0646\u06cc \u062f\u0648\u0648\u06d5\u0645","\u0634\u0648\u0628\u0627\u062a","\u0626\u0627\u0632\u0627\u0631","\u0646\u06cc\u0633\u0627\u0646","\u0626\u0627\u06cc\u0627\u0631","\u062d\u0648\u0632\u06d5\u06cc\u0631\u0627\u0646","\u062a\u06d5\u0645\u0645\u0648\u0632","\u0626\u0627\u0628","\u0626\u06d5\u06cc\u0644\u0648\u0648\u0644","\u062a\u0634\u0631\u06cc\u0646\u06cc \u06cc\u06d5\u0643\u06d5\u0645","\u062a\u0634\u0631\u06cc\u0646\u06cc \u062f\u0648\u0648\u06d5\u0645","\u0643\u0627\u0646\u0648\u0646\u06cc \u06cc\u06d5\u06a9\u06d5\u0645"];l.defineLocale("ku",{months:un,monthsShort:un,weekdays:"\u06cc\u0647\u200c\u0643\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u062f\u0648\u0648\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0633\u06ce\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0686\u0648\u0627\u0631\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u067e\u06ce\u0646\u062c\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0647\u0647\u200c\u06cc\u0646\u06cc_\u0634\u0647\u200c\u0645\u0645\u0647\u200c".split("_"),weekdaysShort:"\u06cc\u0647\u200c\u0643\u0634\u0647\u200c\u0645_\u062f\u0648\u0648\u0634\u0647\u200c\u0645_\u0633\u06ce\u0634\u0647\u200c\u0645_\u0686\u0648\u0627\u0631\u0634\u0647\u200c\u0645_\u067e\u06ce\u0646\u062c\u0634\u0647\u200c\u0645_\u0647\u0647\u200c\u06cc\u0646\u06cc_\u0634\u0647\u200c\u0645\u0645\u0647\u200c".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u0647_\u0634".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:/\u0626\u06ce\u0648\u0627\u0631\u0647\u200c|\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc/,isPM:function(e){return/\u0626\u06ce\u0648\u0627\u0631\u0647\u200c/.test(e)},meridiem:function(e,a,t){return e<12?"\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc":"\u0626\u06ce\u0648\u0627\u0631\u0647\u200c"},calendar:{sameDay:"[\u0626\u0647\u200c\u0645\u0631\u06c6 \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",nextDay:"[\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",nextWeek:"dddd [\u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",lastDay:"[\u062f\u0648\u06ce\u0646\u06ce \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",lastWeek:"dddd [\u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",sameElse:"L"},relativeTime:{future:"\u0644\u0647\u200c %s",past:"%s",s:"\u0686\u0647\u200c\u0646\u062f \u0686\u0631\u0643\u0647\u200c\u06cc\u0647\u200c\u0643",ss:"\u0686\u0631\u0643\u0647\u200c %d",m:"\u06cc\u0647\u200c\u0643 \u062e\u0648\u0644\u0647\u200c\u0643",mm:"%d \u062e\u0648\u0644\u0647\u200c\u0643",h:"\u06cc\u0647\u200c\u0643 \u0643\u0627\u062a\u0698\u0645\u06ce\u0631",hh:"%d \u0643\u0627\u062a\u0698\u0645\u06ce\u0631",d:"\u06cc\u0647\u200c\u0643 \u0695\u06c6\u0698",dd:"%d \u0695\u06c6\u0698",M:"\u06cc\u0647\u200c\u0643 \u0645\u0627\u0646\u06af",MM:"%d \u0645\u0627\u0646\u06af",y:"\u06cc\u0647\u200c\u0643 \u0633\u0627\u06b5",yy:"%d \u0633\u0627\u06b5"},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return mn[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return on[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}});var ln={0:"-\u0447\u04af",1:"-\u0447\u0438",2:"-\u0447\u0438",3:"-\u0447\u04af",4:"-\u0447\u04af",5:"-\u0447\u0438",6:"-\u0447\u044b",7:"-\u0447\u0438",8:"-\u0447\u0438",9:"-\u0447\u0443",10:"-\u0447\u0443",20:"-\u0447\u044b",30:"-\u0447\u0443",40:"-\u0447\u044b",50:"-\u0447\u04af",60:"-\u0447\u044b",70:"-\u0447\u0438",80:"-\u0447\u0438",90:"-\u0447\u0443",100:"-\u0447\u04af"};function Mn(e,a,t,s){var n={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return a?n[t][0]:n[t][1]}function hn(e){if(e=parseInt(e,10),isNaN(e))return!1;if(e<0)return!0;if(e<10)return 4<=e&&e<=7;if(e<100){var a=e%10;return hn(0===a?e/10:a)}if(e<1e4){for(;10<=e;)e/=10;return hn(e)}return hn(e/=1e3)}l.defineLocale("ky",{months:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u0416\u0435\u043a\u0448\u0435\u043c\u0431\u0438_\u0414\u04af\u0439\u0448\u04e9\u043c\u0431\u04af_\u0428\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0428\u0430\u0440\u0448\u0435\u043c\u0431\u0438_\u0411\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0416\u0443\u043c\u0430_\u0418\u0448\u0435\u043c\u0431\u0438".split("_"),weekdaysShort:"\u0416\u0435\u043a_\u0414\u04af\u0439_\u0428\u0435\u0439_\u0428\u0430\u0440_\u0411\u0435\u0439_\u0416\u0443\u043c_\u0418\u0448\u0435".split("_"),weekdaysMin:"\u0416\u043a_\u0414\u0439_\u0428\u0439_\u0428\u0440_\u0411\u0439_\u0416\u043c_\u0418\u0448".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:"[\u0411\u04af\u0433\u04af\u043d \u0441\u0430\u0430\u0442] LT",nextDay:"[\u042d\u0440\u0442\u0435\u04a3 \u0441\u0430\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0447\u044d\u044d \u0441\u0430\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u04e9\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u043d] dddd [\u043a\u04af\u043d\u04af] [\u0441\u0430\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0438\u0447\u0438\u043d\u0434\u0435",past:"%s \u043c\u0443\u0440\u0443\u043d",s:"\u0431\u0438\u0440\u043d\u0435\u0447\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0438\u0440 \u043c\u04af\u043d\u04e9\u0442",mm:"%d \u043c\u04af\u043d\u04e9\u0442",h:"\u0431\u0438\u0440 \u0441\u0430\u0430\u0442",hh:"%d \u0441\u0430\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0438\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0438\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0447\u0438|\u0447\u044b|\u0447\u04af|\u0447\u0443)/,ordinal:function(e){return e+(ln[e]||ln[e%10]||ln[100<=e?100:null])},week:{dow:1,doy:7}}),l.defineLocale("lb",{months:"Januar_Februar_M\xe4erz_Abr\xebll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_M\xe9indeg_D\xebnschdeg_M\xebttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._M\xe9._D\xeb._M\xeb._Do._Fr._Sa.".split("_"),weekdaysMin:"So_M\xe9_D\xeb_M\xeb_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[G\xebschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:function(e){return hn(e.substr(0,e.indexOf(" ")))?"a "+e:"an "+e},past:function(e){return hn(e.substr(0,e.indexOf(" ")))?"viru "+e:"virun "+e},s:"e puer Sekonnen",ss:"%d Sekonnen",m:Mn,mm:"%d Minutten",h:Mn,hh:"%d Stonnen",d:Mn,dd:"%d Deeg",M:Mn,MM:"%d M\xe9int",y:Mn,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.defineLocale("lo",{months:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),monthsShort:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),weekdays:"\u0ead\u0eb2\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysShort:"\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysMin:"\u0e97_\u0e88_\u0ead\u0e84_\u0e9e_\u0e9e\u0eab_\u0eaa\u0e81_\u0eaa".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:"\u0ea7\u0eb1\u0e99dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2|\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87/,isPM:function(e){return"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"===e},meridiem:function(e,a,t){return e<12?"\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2":"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"},calendar:{sameDay:"[\u0ea1\u0eb7\u0ec9\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextDay:"[\u0ea1\u0eb7\u0ec9\u0ead\u0eb7\u0ec8\u0e99\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0edc\u0ec9\u0eb2\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastDay:"[\u0ea1\u0eb7\u0ec9\u0ea7\u0eb2\u0e99\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0ec1\u0ea5\u0ec9\u0ea7\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",sameElse:"L"},relativeTime:{future:"\u0ead\u0eb5\u0e81 %s",past:"%s\u0e9c\u0ec8\u0eb2\u0e99\u0ea1\u0eb2",s:"\u0e9a\u0ecd\u0ec8\u0ec0\u0e97\u0ebb\u0ec8\u0eb2\u0ec3\u0e94\u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",ss:"%d \u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",m:"1 \u0e99\u0eb2\u0e97\u0eb5",mm:"%d \u0e99\u0eb2\u0e97\u0eb5",h:"1 \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",hh:"%d \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",d:"1 \u0ea1\u0eb7\u0ec9",dd:"%d \u0ea1\u0eb7\u0ec9",M:"1 \u0ec0\u0e94\u0eb7\u0ead\u0e99",MM:"%d \u0ec0\u0e94\u0eb7\u0ead\u0e99",y:"1 \u0e9b\u0eb5",yy:"%d \u0e9b\u0eb5"},dayOfMonthOrdinalParse:/(\u0e97\u0eb5\u0ec8)\d{1,2}/,ordinal:function(e){return"\u0e97\u0eb5\u0ec8"+e}});var Ln={ss:"sekund\u0117_sekund\u017ei\u0173_sekundes",m:"minut\u0117_minut\u0117s_minut\u0119",mm:"minut\u0117s_minu\u010di\u0173_minutes",h:"valanda_valandos_valand\u0105",hh:"valandos_valand\u0173_valandas",d:"diena_dienos_dien\u0105",dd:"dienos_dien\u0173_dienas",M:"m\u0117nuo_m\u0117nesio_m\u0117nes\u012f",MM:"m\u0117nesiai_m\u0117nesi\u0173_m\u0117nesius",y:"metai_met\u0173_metus",yy:"metai_met\u0173_metus"};function cn(e,a,t,s){return a?yn(t)[0]:s?yn(t)[1]:yn(t)[2]}function Yn(e){return e%10==0||10<e&&e<20}function yn(e){return Ln[e].split("_")}function fn(e,a,t,s){var n=e+" ";return 1===e?n+cn(0,a,t[0],s):a?n+(Yn(e)?yn(t)[1]:yn(t)[0]):s?n+yn(t)[1]:n+(Yn(e)?yn(t)[1]:yn(t)[2])}l.defineLocale("lt",{months:{format:"sausio_vasario_kovo_baland\u017eio_gegu\u017e\u0117s_bir\u017eelio_liepos_rugpj\u016b\u010dio_rugs\u0117jo_spalio_lapkri\u010dio_gruod\u017eio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegu\u017e\u0117_bir\u017eelis_liepa_rugpj\u016btis_rugs\u0117jis_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\u012f_pirmadien\u012f_antradien\u012f_tre\u010diadien\u012f_ketvirtadien\u012f_penktadien\u012f_\u0161e\u0161tadien\u012f".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_tre\u010diadienis_ketvirtadienis_penktadienis_\u0161e\u0161tadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_\u0160e\u0161".split("_"),weekdaysMin:"S_P_A_T_K_Pn_\u0160".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:"[\u0160iandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Pra\u0117jus\u012f] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prie\u0161 %s",s:function(e,a,t,s){return a?"kelios sekund\u0117s":s?"keli\u0173 sekund\u017ei\u0173":"kelias sekundes"},ss:fn,m:cn,mm:fn,h:cn,hh:fn,d:cn,dd:fn,M:cn,MM:fn,y:cn,yy:fn},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(e){return e+"-oji"},week:{dow:1,doy:4}});var kn={ss:"sekundes_sekund\u0113m_sekunde_sekundes".split("_"),m:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),mm:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),h:"stundas_stund\u0101m_stunda_stundas".split("_"),hh:"stundas_stund\u0101m_stunda_stundas".split("_"),d:"dienas_dien\u0101m_diena_dienas".split("_"),dd:"dienas_dien\u0101m_diena_dienas".split("_"),M:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),MM:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};function pn(e,a,t){return t?a%10==1&&a%100!=11?e[2]:e[3]:a%10==1&&a%100!=11?e[0]:e[1]}function Dn(e,a,t){return e+" "+pn(kn[t],e,a)}function Tn(e,a,t){return pn(kn[t],e,a)}l.defineLocale("lv",{months:"janv\u0101ris_febru\u0101ris_marts_apr\u012blis_maijs_j\u016bnijs_j\u016blijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_j\u016bn_j\u016bl_aug_sep_okt_nov_dec".split("_"),weekdays:"sv\u0113tdiena_pirmdiena_otrdiena_tre\u0161diena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[\u0160odien pulksten] LT",nextDay:"[R\u012bt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pag\u0101ju\u0161\u0101] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"p\u0113c %s",past:"pirms %s",s:function(e,a){return a?"da\u017eas sekundes":"da\u017e\u0101m sekund\u0113m"},ss:Dn,m:Tn,mm:Dn,h:Tn,hh:Dn,d:Tn,dd:Dn,M:Tn,MM:Dn,y:Tn,yy:Dn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var gn={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:2<=e&&e<=4?a[1]:a[2]},translate:function(e,a,t){var s=gn.words[t];return 1===t.length?a?s[0]:s[1]:e+" "+gn.correctGrammaticalCase(e,s)}};function wn(e,a,t,s){switch(t){case"s":return a?"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434":"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d";case"ss":return e+(a?" \u0441\u0435\u043a\u0443\u043d\u0434":" \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d");case"m":case"mm":return e+(a?" \u043c\u0438\u043d\u0443\u0442":" \u043c\u0438\u043d\u0443\u0442\u044b\u043d");case"h":case"hh":return e+(a?" \u0446\u0430\u0433":" \u0446\u0430\u0433\u0438\u0439\u043d");case"d":case"dd":return e+(a?" \u04e9\u0434\u04e9\u0440":" \u04e9\u0434\u0440\u0438\u0439\u043d");case"M":case"MM":return e+(a?" \u0441\u0430\u0440":" \u0441\u0430\u0440\u044b\u043d");case"y":case"yy":return e+(a?" \u0436\u0438\u043b":" \u0436\u0438\u043b\u0438\u0439\u043d");default:return e}}l.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".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:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedjelje] [u] LT","[pro\u0161log] [ponedjeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srijede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:gn.translate,m:gn.translate,mm:gn.translate,h:gn.translate,hh:gn.translate,d:"dan",dd:gn.translate,M:"mjesec",MM:gn.translate,y:"godinu",yy:gn.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),l.defineLocale("mi",{months:"Kohi-t\u0101te_Hui-tanguru_Pout\u016b-te-rangi_Paenga-wh\u0101wh\u0101_Haratua_Pipiri_H\u014dngoingoi_Here-turi-k\u014dk\u0101_Mahuru_Whiringa-\u0101-nuku_Whiringa-\u0101-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_H\u014dngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"R\u0101tapu_Mane_T\u016brei_Wenerei_T\u0101ite_Paraire_H\u0101tarei".split("_"),weekdaysShort:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),weekdaysMin:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te h\u0113kona ruarua",ss:"%d h\u0113kona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),l.defineLocale("mk",{months:"\u0458\u0430\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d\u0438_\u0458\u0443\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u0458\u0430\u043d_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u043e\u043a_\u043f\u0435\u0442\u043e\u043a_\u0441\u0430\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u0435_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u0430\u0431".split("_"),weekdaysMin:"\u043de_\u043fo_\u0432\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441a".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u0435\u043d\u0435\u0441 \u0432\u043e] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432\u043e] LT",nextWeek:"[\u0412\u043e] dddd [\u0432\u043e] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432\u043e] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0430\u0442\u0430] dddd [\u0432\u043e] LT";case 1:case 2:case 4:case 5:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0438\u043e\u0442] dddd [\u0432\u043e] LT"}},sameElse:"L"},relativeTime:{future:"\u043f\u043e\u0441\u043b\u0435 %s",past:"\u043f\u0440\u0435\u0434 %s",s:"\u043d\u0435\u043a\u043e\u043b\u043a\u0443 \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0434\u0435\u043d",dd:"%d \u0434\u0435\u043d\u0430",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0438",y:"\u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(e){var a=e%10,t=e%100;return 0===e?e+"-\u0435\u0432":0===t?e+"-\u0435\u043d":10<t&&t<20?e+"-\u0442\u0438":1===a?e+"-\u0432\u0438":2===a?e+"-\u0440\u0438":7===a||8===a?e+"-\u043c\u0438":e+"-\u0442\u0438"},week:{dow:1,doy:7}}),l.defineLocale("ml",{months:"\u0d1c\u0d28\u0d41\u0d35\u0d30\u0d3f_\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41\u0d35\u0d30\u0d3f_\u0d2e\u0d3e\u0d7c\u0d1a\u0d4d\u0d1a\u0d4d_\u0d0f\u0d2a\u0d4d\u0d30\u0d3f\u0d7d_\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48_\u0d13\u0d17\u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d4d_\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02\u0d2c\u0d7c_\u0d12\u0d15\u0d4d\u0d1f\u0d4b\u0d2c\u0d7c_\u0d28\u0d35\u0d02\u0d2c\u0d7c_\u0d21\u0d3f\u0d38\u0d02\u0d2c\u0d7c".split("_"),monthsShort:"\u0d1c\u0d28\u0d41._\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41._\u0d2e\u0d3e\u0d7c._\u0d0f\u0d2a\u0d4d\u0d30\u0d3f._\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48._\u0d13\u0d17._\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31._\u0d12\u0d15\u0d4d\u0d1f\u0d4b._\u0d28\u0d35\u0d02._\u0d21\u0d3f\u0d38\u0d02.".split("_"),monthsParseExact:!0,weekdays:"\u0d1e\u0d3e\u0d2f\u0d31\u0d3e\u0d34\u0d4d\u0d1a_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d3e\u0d34\u0d4d\u0d1a_\u0d1a\u0d4a\u0d35\u0d4d\u0d35\u0d3e\u0d34\u0d4d\u0d1a_\u0d2c\u0d41\u0d27\u0d28\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a_\u0d36\u0d28\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a".split("_"),weekdaysShort:"\u0d1e\u0d3e\u0d2f\u0d7c_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d7e_\u0d1a\u0d4a\u0d35\u0d4d\u0d35_\u0d2c\u0d41\u0d27\u0d7b_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d02_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f_\u0d36\u0d28\u0d3f".split("_"),weekdaysMin:"\u0d1e\u0d3e_\u0d24\u0d3f_\u0d1a\u0d4a_\u0d2c\u0d41_\u0d35\u0d4d\u0d2f\u0d3e_\u0d35\u0d46_\u0d36".split("_"),longDateFormat:{LT:"A h:mm -\u0d28\u0d41",LTS:"A h:mm:ss -\u0d28\u0d41",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -\u0d28\u0d41",LLLL:"dddd, D MMMM YYYY, A h:mm -\u0d28\u0d41"},calendar:{sameDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d4d] LT",nextDay:"[\u0d28\u0d3e\u0d33\u0d46] LT",nextWeek:"dddd, LT",lastDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d32\u0d46] LT",lastWeek:"[\u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d",past:"%s \u0d2e\u0d41\u0d7b\u0d2a\u0d4d",s:"\u0d05\u0d7d\u0d2a \u0d28\u0d3f\u0d2e\u0d3f\u0d37\u0d19\u0d4d\u0d19\u0d7e",ss:"%d \u0d38\u0d46\u0d15\u0d4d\u0d15\u0d7b\u0d21\u0d4d",m:"\u0d12\u0d30\u0d41 \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",mm:"%d \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",h:"\u0d12\u0d30\u0d41 \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",hh:"%d \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",d:"\u0d12\u0d30\u0d41 \u0d26\u0d3f\u0d35\u0d38\u0d02",dd:"%d \u0d26\u0d3f\u0d35\u0d38\u0d02",M:"\u0d12\u0d30\u0d41 \u0d2e\u0d3e\u0d38\u0d02",MM:"%d \u0d2e\u0d3e\u0d38\u0d02",y:"\u0d12\u0d30\u0d41 \u0d35\u0d7c\u0d37\u0d02",yy:"%d \u0d35\u0d7c\u0d37\u0d02"},meridiemParse:/\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f|\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46|\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d|\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02|\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f/i,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"===a&&4<=e||"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d"===a||"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02"===a?e+12:e},meridiem:function(e,a,t){return e<4?"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f":e<12?"\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46":e<17?"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d":e<20?"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02":"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"}}),l.defineLocale("mn",{months:"\u041d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0425\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0413\u0443\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u04e9\u0440\u04e9\u0432\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0422\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0417\u0443\u0440\u0433\u0430\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u043e\u043b\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u041d\u0430\u0439\u043c\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0415\u0441\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u043d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u0445\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440".split("_"),monthsShort:"1 \u0441\u0430\u0440_2 \u0441\u0430\u0440_3 \u0441\u0430\u0440_4 \u0441\u0430\u0440_5 \u0441\u0430\u0440_6 \u0441\u0430\u0440_7 \u0441\u0430\u0440_8 \u0441\u0430\u0440_9 \u0441\u0430\u0440_10 \u0441\u0430\u0440_11 \u0441\u0430\u0440_12 \u0441\u0430\u0440".split("_"),monthsParseExact:!0,weekdays:"\u041d\u044f\u043c_\u0414\u0430\u0432\u0430\u0430_\u041c\u044f\u0433\u043c\u0430\u0440_\u041b\u0445\u0430\u0433\u0432\u0430_\u041f\u04af\u0440\u044d\u0432_\u0411\u0430\u0430\u0441\u0430\u043d_\u0411\u044f\u043c\u0431\u0430".split("_"),weekdaysShort:"\u041d\u044f\u043c_\u0414\u0430\u0432_\u041c\u044f\u0433_\u041b\u0445\u0430_\u041f\u04af\u0440_\u0411\u0430\u0430_\u0411\u044f\u043c".split("_"),weekdaysMin:"\u041d\u044f_\u0414\u0430_\u041c\u044f_\u041b\u0445_\u041f\u04af_\u0411\u0430_\u0411\u044f".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D",LLL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm",LLLL:"dddd, YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm"},meridiemParse:/\u04ae\u04e8|\u04ae\u0425/i,isPM:function(e){return"\u04ae\u0425"===e},meridiem:function(e,a,t){return e<12?"\u04ae\u04e8":"\u04ae\u0425"},calendar:{sameDay:"[\u04e8\u043d\u04e9\u04e9\u0434\u04e9\u0440] LT",nextDay:"[\u041c\u0430\u0440\u0433\u0430\u0430\u0448] LT",nextWeek:"[\u0418\u0440\u044d\u0445] dddd LT",lastDay:"[\u04e8\u0447\u0438\u0433\u0434\u04e9\u0440] LT",lastWeek:"[\u04e8\u043d\u0433\u04e9\u0440\u0441\u04e9\u043d] dddd LT",sameElse:"L"},relativeTime:{future:"%s \u0434\u0430\u0440\u0430\u0430",past:"%s \u04e9\u043c\u043d\u04e9",s:wn,ss:wn,m:wn,mm:wn,h:wn,hh:wn,d:wn,dd:wn,M:wn,MM:wn,y:wn,yy:wn},dayOfMonthOrdinalParse:/\d{1,2} \u04e9\u0434\u04e9\u0440/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+" \u04e9\u0434\u04e9\u0440";default:return e}}});var vn={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},Sn={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};function Hn(e,a,t,s){var n="";if(a)switch(t){case"s":n="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926";break;case"ss":n="%d \u0938\u0947\u0915\u0902\u0926";break;case"m":n="\u090f\u0915 \u092e\u093f\u0928\u093f\u091f";break;case"mm":n="%d \u092e\u093f\u0928\u093f\u091f\u0947";break;case"h":n="\u090f\u0915 \u0924\u093e\u0938";break;case"hh":n="%d \u0924\u093e\u0938";break;case"d":n="\u090f\u0915 \u0926\u093f\u0935\u0938";break;case"dd":n="%d \u0926\u093f\u0935\u0938";break;case"M":n="\u090f\u0915 \u092e\u0939\u093f\u0928\u093e";break;case"MM":n="%d \u092e\u0939\u093f\u0928\u0947";break;case"y":n="\u090f\u0915 \u0935\u0930\u094d\u0937";break;case"yy":n="%d \u0935\u0930\u094d\u0937\u0947";break}else switch(t){case"s":n="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"ss":n="%d \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"m":n="\u090f\u0915\u093e \u092e\u093f\u0928\u093f\u091f\u093e";break;case"mm":n="%d \u092e\u093f\u0928\u093f\u091f\u093e\u0902";break;case"h":n="\u090f\u0915\u093e \u0924\u093e\u0938\u093e";break;case"hh":n="%d \u0924\u093e\u0938\u093e\u0902";break;case"d":n="\u090f\u0915\u093e \u0926\u093f\u0935\u0938\u093e";break;case"dd":n="%d \u0926\u093f\u0935\u0938\u093e\u0902";break;case"M":n="\u090f\u0915\u093e \u092e\u0939\u093f\u0928\u094d\u092f\u093e";break;case"MM":n="%d \u092e\u0939\u093f\u0928\u094d\u092f\u093e\u0902";break;case"y":n="\u090f\u0915\u093e \u0935\u0930\u094d\u0937\u093e";break;case"yy":n="%d \u0935\u0930\u094d\u0937\u093e\u0902";break}return n.replace(/%d/i,e)}l.defineLocale("mr",{months:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u093f\u0932_\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932\u0948_\u0911\u0917\u0938\u094d\u091f_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930_\u0911\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930_\u0921\u093f\u0938\u0947\u0902\u092c\u0930".split("_"),monthsShort:"\u091c\u093e\u0928\u0947._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a._\u090f\u092a\u094d\u0930\u093f._\u092e\u0947._\u091c\u0942\u0928._\u091c\u0941\u0932\u0948._\u0911\u0917._\u0938\u092a\u094d\u091f\u0947\u0902._\u0911\u0915\u094d\u091f\u094b._\u0928\u094b\u0935\u094d\u0939\u0947\u0902._\u0921\u093f\u0938\u0947\u0902.".split("_"),monthsParseExact:!0,weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0933\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0933_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u0935\u093e\u091c\u0924\u093e",LTS:"A h:mm:ss \u0935\u093e\u091c\u0924\u093e",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e",LLLL:"dddd, D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0909\u0926\u094d\u092f\u093e] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u093e\u0932] LT",lastWeek:"[\u092e\u093e\u0917\u0940\u0932] dddd, LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u0927\u094d\u092f\u0947",past:"%s\u092a\u0942\u0930\u094d\u0935\u0940",s:Hn,ss:Hn,m:Hn,mm:Hn,h:Hn,hh:Hn,d:Hn,dd:Hn,M:Hn,MM:Hn,y:Hn,yy:Hn},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return Sn[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return vn[e]})},meridiemParse:/\u0930\u093e\u0924\u094d\u0930\u0940|\u0938\u0915\u093e\u0933\u0940|\u0926\u0941\u092a\u093e\u0930\u0940|\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924\u094d\u0930\u0940"===a?e<4?e:e+12:"\u0938\u0915\u093e\u0933\u0940"===a?e:"\u0926\u0941\u092a\u093e\u0930\u0940"===a?10<=e?e:e+12:"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0930\u093e\u0924\u094d\u0930\u0940":e<10?"\u0938\u0915\u093e\u0933\u0940":e<17?"\u0926\u0941\u092a\u093e\u0930\u0940":e<20?"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940":"\u0930\u093e\u0924\u094d\u0930\u0940"},week:{dow:0,doy:6}}),l.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"tengahari"===a?11<=e?e:e+12:"petang"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),l.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"tengahari"===a?11<=e?e:e+12:"petang"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),l.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_\u0120unju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Di\u010bembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_\u0120un_Lul_Aww_Set_Ott_Nov_Di\u010b".split("_"),weekdays:"Il-\u0126add_It-Tnejn_It-Tlieta_L-Erbg\u0127a_Il-\u0126amis_Il-\u0120img\u0127a_Is-Sibt".split("_"),weekdaysShort:"\u0126ad_Tne_Tli_Erb_\u0126am_\u0120im_Sib".split("_"),weekdaysMin:"\u0126a_Tn_Tl_Er_\u0126a_\u0120i_Si".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:"[Illum fil-]LT",nextDay:"[G\u0127ada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-biera\u0127 fil-]LT",lastWeek:"dddd [li g\u0127adda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f\u2019 %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"sieg\u0127a",hh:"%d sieg\u0127at",d:"\u0121urnata",dd:"%d \u0121ranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}});var bn={1:"\u1041",2:"\u1042",3:"\u1043",4:"\u1044",5:"\u1045",6:"\u1046",7:"\u1047",8:"\u1048",9:"\u1049",0:"\u1040"},jn={"\u1041":"1","\u1042":"2","\u1043":"3","\u1044":"4","\u1045":"5","\u1046":"6","\u1047":"7","\u1048":"8","\u1049":"9","\u1040":"0"};l.defineLocale("my",{months:"\u1007\u1014\u103a\u1014\u101d\u102b\u101b\u102e_\u1016\u1031\u1016\u1031\u102c\u103a\u101d\u102b\u101b\u102e_\u1019\u1010\u103a_\u1027\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u1007\u1030\u101c\u102d\u102f\u1004\u103a_\u101e\u103c\u1002\u102f\u1010\u103a_\u1005\u1000\u103a\u1010\u1004\u103a\u1018\u102c_\u1021\u1031\u102c\u1000\u103a\u1010\u102d\u102f\u1018\u102c_\u1014\u102d\u102f\u101d\u1004\u103a\u1018\u102c_\u1012\u102e\u1007\u1004\u103a\u1018\u102c".split("_"),monthsShort:"\u1007\u1014\u103a_\u1016\u1031_\u1019\u1010\u103a_\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u101c\u102d\u102f\u1004\u103a_\u101e\u103c_\u1005\u1000\u103a_\u1021\u1031\u102c\u1000\u103a_\u1014\u102d\u102f_\u1012\u102e".split("_"),weekdays:"\u1010\u1014\u1004\u103a\u1039\u1002\u1014\u103d\u1031_\u1010\u1014\u1004\u103a\u1039\u101c\u102c_\u1021\u1004\u103a\u1039\u1002\u102b_\u1017\u102f\u1012\u1039\u1013\u101f\u1030\u1038_\u1000\u103c\u102c\u101e\u1015\u1010\u1031\u1038_\u101e\u1031\u102c\u1000\u103c\u102c_\u1005\u1014\u1031".split("_"),weekdaysShort:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),weekdaysMin:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".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:"[\u101a\u1014\u1031.] LT [\u1019\u103e\u102c]",nextDay:"[\u1019\u1014\u1000\u103a\u1016\u103c\u1014\u103a] LT [\u1019\u103e\u102c]",nextWeek:"dddd LT [\u1019\u103e\u102c]",lastDay:"[\u1019\u1014\u1031.\u1000] LT [\u1019\u103e\u102c]",lastWeek:"[\u1015\u103c\u102e\u1038\u1001\u1032\u1037\u101e\u1031\u102c] dddd LT [\u1019\u103e\u102c]",sameElse:"L"},relativeTime:{future:"\u101c\u102c\u1019\u100a\u103a\u1037 %s \u1019\u103e\u102c",past:"\u101c\u103d\u1014\u103a\u1001\u1032\u1037\u101e\u1031\u102c %s \u1000",s:"\u1005\u1000\u1039\u1000\u1014\u103a.\u1021\u1014\u100a\u103a\u1038\u1004\u101a\u103a",ss:"%d \u1005\u1000\u1039\u1000\u1014\u1037\u103a",m:"\u1010\u1005\u103a\u1019\u102d\u1014\u1005\u103a",mm:"%d \u1019\u102d\u1014\u1005\u103a",h:"\u1010\u1005\u103a\u1014\u102c\u101b\u102e",hh:"%d \u1014\u102c\u101b\u102e",d:"\u1010\u1005\u103a\u101b\u1000\u103a",dd:"%d \u101b\u1000\u103a",M:"\u1010\u1005\u103a\u101c",MM:"%d \u101c",y:"\u1010\u1005\u103a\u1014\u103e\u1005\u103a",yy:"%d \u1014\u103e\u1005\u103a"},preparse:function(e){return e.replace(/[\u1041\u1042\u1043\u1044\u1045\u1046\u1047\u1048\u1049\u1040]/g,function(e){return jn[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return bn[e]})},week:{dow:1,doy:4}}),l.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8._ma._ti._on._to._fr._l\xf8.".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var xn={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},On={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};l.defineLocale("ne",{months:"\u091c\u0928\u0935\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f\u0932_\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0937\u094d\u091f_\u0938\u0947\u092a\u094d\u091f\u0947\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u092d\u0947\u092e\u094d\u092c\u0930_\u0921\u093f\u0938\u0947\u092e\u094d\u092c\u0930".split("_"),monthsShort:"\u091c\u0928._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f._\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908._\u0905\u0917._\u0938\u0947\u092a\u094d\u091f._\u0905\u0915\u094d\u091f\u094b._\u0928\u094b\u092d\u0947._\u0921\u093f\u0938\u0947.".split("_"),monthsParseExact:!0,weekdays:"\u0906\u0907\u0924\u092c\u093e\u0930_\u0938\u094b\u092e\u092c\u093e\u0930_\u092e\u0919\u094d\u0917\u0932\u092c\u093e\u0930_\u092c\u0941\u0927\u092c\u093e\u0930_\u092c\u093f\u0939\u093f\u092c\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u092c\u093e\u0930_\u0936\u0928\u093f\u092c\u093e\u0930".split("_"),weekdaysShort:"\u0906\u0907\u0924._\u0938\u094b\u092e._\u092e\u0919\u094d\u0917\u0932._\u092c\u0941\u0927._\u092c\u093f\u0939\u093f._\u0936\u0941\u0915\u094d\u0930._\u0936\u0928\u093f.".split("_"),weekdaysMin:"\u0906._\u0938\u094b._\u092e\u0902._\u092c\u0941._\u092c\u093f._\u0936\u0941._\u0936.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A\u0915\u094b h:mm \u092c\u091c\u0947",LTS:"A\u0915\u094b h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947"},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return On[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return xn[e]})},meridiemParse:/\u0930\u093e\u0924\u093f|\u092c\u093f\u0939\u093e\u0928|\u0926\u093f\u0909\u0901\u0938\u094b|\u0938\u093e\u0901\u091d/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924\u093f"===a?e<4?e:e+12:"\u092c\u093f\u0939\u093e\u0928"===a?e:"\u0926\u093f\u0909\u0901\u0938\u094b"===a?10<=e?e:e+12:"\u0938\u093e\u0901\u091d"===a?e+12:void 0},meridiem:function(e,a,t){return e<3?"\u0930\u093e\u0924\u093f":e<12?"\u092c\u093f\u0939\u093e\u0928":e<16?"\u0926\u093f\u0909\u0901\u0938\u094b":e<20?"\u0938\u093e\u0901\u091d":"\u0930\u093e\u0924\u093f"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u092d\u094b\u0932\u093f] LT",nextWeek:"[\u0906\u0909\u0901\u0926\u094b] dddd[,] LT",lastDay:"[\u0939\u093f\u091c\u094b] LT",lastWeek:"[\u0917\u090f\u0915\u094b] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u093e",past:"%s \u0905\u0917\u093e\u0921\u093f",s:"\u0915\u0947\u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0947\u0923\u094d\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u0947\u091f",mm:"%d \u092e\u093f\u0928\u0947\u091f",h:"\u090f\u0915 \u0918\u0923\u094d\u091f\u093e",hh:"%d \u0918\u0923\u094d\u091f\u093e",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u093f\u0928\u093e",MM:"%d \u092e\u0939\u093f\u0928\u093e",y:"\u090f\u0915 \u092c\u0930\u094d\u0937",yy:"%d \u092c\u0930\u094d\u0937"},week:{dow:0,doy:6}});var Pn="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),Wn="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),An=[/^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],En=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;l.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?Wn[e.month()]:Pn[e.month()]:Pn},monthsRegex:En,monthsShortRegex:En,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:An,longMonthsParse:An,shortMonthsParse:An,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:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}});var Fn="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),zn="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),Jn=[/^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],Nn=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;l.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?zn[e.month()]:Fn[e.month()]:Fn},monthsRegex:Nn,monthsShortRegex:Nn,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:Jn,longMonthsParse:Jn,shortMonthsParse:Jn,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:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),l.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_m\xe5ndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_m\xe5n_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_m\xe5_ty_on_to_fr_l\xf8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I g\xe5r klokka] LT",lastWeek:"[F\xf8reg\xe5ande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein m\xe5nad",MM:"%d m\xe5nader",y:"eit \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var Rn={1:"\u0a67",2:"\u0a68",3:"\u0a69",4:"\u0a6a",5:"\u0a6b",6:"\u0a6c",7:"\u0a6d",8:"\u0a6e",9:"\u0a6f",0:"\u0a66"},Cn={"\u0a67":"1","\u0a68":"2","\u0a69":"3","\u0a6a":"4","\u0a6b":"5","\u0a6c":"6","\u0a6d":"7","\u0a6e":"8","\u0a6f":"9","\u0a66":"0"};l.defineLocale("pa-in",{months:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),monthsShort:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),weekdays:"\u0a10\u0a24\u0a35\u0a3e\u0a30_\u0a38\u0a4b\u0a2e\u0a35\u0a3e\u0a30_\u0a2e\u0a70\u0a17\u0a32\u0a35\u0a3e\u0a30_\u0a2c\u0a41\u0a27\u0a35\u0a3e\u0a30_\u0a35\u0a40\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a41\u0a71\u0a15\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a28\u0a40\u0a1a\u0a30\u0a35\u0a3e\u0a30".split("_"),weekdaysShort:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),weekdaysMin:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),longDateFormat:{LT:"A h:mm \u0a35\u0a1c\u0a47",LTS:"A h:mm:ss \u0a35\u0a1c\u0a47",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47",LLLL:"dddd, D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47"},calendar:{sameDay:"[\u0a05\u0a1c] LT",nextDay:"[\u0a15\u0a32] LT",nextWeek:"[\u0a05\u0a17\u0a32\u0a3e] dddd, LT",lastDay:"[\u0a15\u0a32] LT",lastWeek:"[\u0a2a\u0a3f\u0a1b\u0a32\u0a47] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0a35\u0a3f\u0a71\u0a1a",past:"%s \u0a2a\u0a3f\u0a1b\u0a32\u0a47",s:"\u0a15\u0a41\u0a1d \u0a38\u0a15\u0a3f\u0a70\u0a1f",ss:"%d \u0a38\u0a15\u0a3f\u0a70\u0a1f",m:"\u0a07\u0a15 \u0a2e\u0a3f\u0a70\u0a1f",mm:"%d \u0a2e\u0a3f\u0a70\u0a1f",h:"\u0a07\u0a71\u0a15 \u0a18\u0a70\u0a1f\u0a3e",hh:"%d \u0a18\u0a70\u0a1f\u0a47",d:"\u0a07\u0a71\u0a15 \u0a26\u0a3f\u0a28",dd:"%d \u0a26\u0a3f\u0a28",M:"\u0a07\u0a71\u0a15 \u0a2e\u0a39\u0a40\u0a28\u0a3e",MM:"%d \u0a2e\u0a39\u0a40\u0a28\u0a47",y:"\u0a07\u0a71\u0a15 \u0a38\u0a3e\u0a32",yy:"%d \u0a38\u0a3e\u0a32"},preparse:function(e){return e.replace(/[\u0a67\u0a68\u0a69\u0a6a\u0a6b\u0a6c\u0a6d\u0a6e\u0a6f\u0a66]/g,function(e){return Cn[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Rn[e]})},meridiemParse:/\u0a30\u0a3e\u0a24|\u0a38\u0a35\u0a47\u0a30|\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30|\u0a38\u0a3c\u0a3e\u0a2e/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0a30\u0a3e\u0a24"===a?e<4?e:e+12:"\u0a38\u0a35\u0a47\u0a30"===a?e:"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30"===a?10<=e?e:e+12:"\u0a38\u0a3c\u0a3e\u0a2e"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0a30\u0a3e\u0a24":e<10?"\u0a38\u0a35\u0a47\u0a30":e<17?"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30":e<20?"\u0a38\u0a3c\u0a3e\u0a2e":"\u0a30\u0a3e\u0a24"},week:{dow:0,doy:6}});var In="stycze\u0144_luty_marzec_kwiecie\u0144_maj_czerwiec_lipiec_sierpie\u0144_wrzesie\u0144_pa\u017adziernik_listopad_grudzie\u0144".split("_"),Un="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrze\u015bnia_pa\u017adziernika_listopada_grudnia".split("_");function Gn(e){return e%10<5&&1<e%10&&~~(e/10)%10!=1}function Vn(e,a,t){var s=e+" ";switch(t){case"ss":return s+(Gn(e)?"sekundy":"sekund");case"m":return a?"minuta":"minut\u0119";case"mm":return s+(Gn(e)?"minuty":"minut");case"h":return a?"godzina":"godzin\u0119";case"hh":return s+(Gn(e)?"godziny":"godzin");case"MM":return s+(Gn(e)?"miesi\u0105ce":"miesi\u0119cy");case"yy":return s+(Gn(e)?"lata":"lat")}}function Kn(e,a,t){var s=" ";return(20<=e%100||100<=e&&e%100==0)&&(s=" de "),e+s+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"}[t]}function Zn(e,a,t){var s,n;return"m"===t?a?"\u043c\u0438\u043d\u0443\u0442\u0430":"\u043c\u0438\u043d\u0443\u0442\u0443":e+" "+(s=+e,n={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u043c\u0438\u043d\u0443\u0442\u0430_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442":"\u043c\u0438\u043d\u0443\u0442\u0443_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442",hh:"\u0447\u0430\u0441_\u0447\u0430\u0441\u0430_\u0447\u0430\u0441\u043e\u0432",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u044f_\u0434\u043d\u0435\u0439",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u0430_\u043c\u0435\u0441\u044f\u0446\u0435\u0432",yy:"\u0433\u043e\u0434_\u0433\u043e\u0434\u0430_\u043b\u0435\u0442"}[t].split("_"),s%10==1&&s%100!=11?n[0]:2<=s%10&&s%10<=4&&(s%100<10||20<=s%100)?n[1]:n[2])}l.defineLocale("pl",{months:function(e,a){return e?""===a?"("+Un[e.month()]+"|"+In[e.month()]+")":/D MMMM/.test(a)?Un[e.month()]:In[e.month()]:In},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_pa\u017a_lis_gru".split("_"),weekdays:"niedziela_poniedzia\u0142ek_wtorek_\u015broda_czwartek_pi\u0105tek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_\u015br_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_\u015ar_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\u015b o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedziel\u0119 o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W \u015brod\u0119 o] LT";case 6:return"[W sobot\u0119 o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zesz\u0142\u0105 niedziel\u0119 o] LT";case 3:return"[W zesz\u0142\u0105 \u015brod\u0119 o] LT";case 6:return"[W zesz\u0142\u0105 sobot\u0119 o] LT";default:return"[W zesz\u0142y] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:Vn,m:Vn,mm:Vn,h:Vn,hh:Vn,d:"1 dzie\u0144",dd:"%d dni",M:"miesi\u0105c",MM:Vn,y:"rok",yy:Vn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.defineLocale("pt-br",{months:"Janeiro_Fevereiro_Mar\xe7o_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [\xe0s] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [\xe0s] HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba"}),l.defineLocale("pt",{months:"Janeiro_Fevereiro_Mar\xe7o_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),l.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminic\u0103_luni_mar\u021bi_miercuri_joi_vineri_s\xe2mb\u0103t\u0103".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_S\xe2m".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_S\xe2".split("_"),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:"[azi la] LT",nextDay:"[m\xe2ine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s \xeen urm\u0103",s:"c\xe2teva secunde",ss:Kn,m:"un minut",mm:Kn,h:"o or\u0103",hh:Kn,d:"o zi",dd:Kn,M:"o lun\u0103",MM:Kn,y:"un an",yy:Kn},week:{dow:1,doy:7}});var $n=[/^\u044f\u043d\u0432/i,/^\u0444\u0435\u0432/i,/^\u043c\u0430\u0440/i,/^\u0430\u043f\u0440/i,/^\u043c\u0430[\u0439\u044f]/i,/^\u0438\u044e\u043d/i,/^\u0438\u044e\u043b/i,/^\u0430\u0432\u0433/i,/^\u0441\u0435\u043d/i,/^\u043e\u043a\u0442/i,/^\u043d\u043e\u044f/i,/^\u0434\u0435\u043a/i];l.defineLocale("ru",{months:{format:"\u044f\u043d\u0432\u0430\u0440\u044f_\u0444\u0435\u0432\u0440\u0430\u043b\u044f_\u043c\u0430\u0440\u0442\u0430_\u0430\u043f\u0440\u0435\u043b\u044f_\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433\u0443\u0441\u0442\u0430_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f_\u043e\u043a\u0442\u044f\u0431\u0440\u044f_\u043d\u043e\u044f\u0431\u0440\u044f_\u0434\u0435\u043a\u0430\u0431\u0440\u044f".split("_"),standalone:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_")},monthsShort:{format:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_"),standalone:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440\u0442_\u0430\u043f\u0440._\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_")},weekdays:{standalone:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0430_\u0441\u0443\u0431\u0431\u043e\u0442\u0430".split("_"),format:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0443_\u0441\u0443\u0431\u0431\u043e\u0442\u0443".split("_"),isFormat:/\[ ?[\u0412\u0432] ?(?:\u043f\u0440\u043e\u0448\u043b\u0443\u044e|\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e|\u044d\u0442\u0443)? ?\] ?dddd/},weekdaysShort:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),monthsParse:$n,longMonthsParse:$n,shortMonthsParse:$n,monthsRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsShortRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsStrictRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044f\u044c]|\u0444\u0435\u0432\u0440\u0430\u043b[\u044f\u044c]|\u043c\u0430\u0440\u0442\u0430?|\u0430\u043f\u0440\u0435\u043b[\u044f\u044c]|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044f\u044c]|\u0438\u044e\u043b[\u044f\u044c]|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043e\u043a\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043d\u043e\u044f\u0431\u0440[\u044f\u044c]|\u0434\u0435\u043a\u0430\u0431\u0440[\u044f\u044c])/i,monthsShortStrictRegex:/^(\u044f\u043d\u0432\.|\u0444\u0435\u0432\u0440?\.|\u043c\u0430\u0440[\u0442.]|\u0430\u043f\u0440\.|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044c\u044f.]|\u0438\u044e\u043b[\u044c\u044f.]|\u0430\u0432\u0433\.|\u0441\u0435\u043d\u0442?\.|\u043e\u043a\u0442\.|\u043d\u043e\u044f\u0431?\.|\u0434\u0435\u043a\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., H:mm",LLLL:"dddd, D MMMM YYYY \u0433., H:mm"},calendar:{sameDay:"[\u0421\u0435\u0433\u043e\u0434\u043d\u044f, \u0432] LT",nextDay:"[\u0417\u0430\u0432\u0442\u0440\u0430, \u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430, \u0432] LT",nextWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e] dddd, [\u0432] LT"}},lastWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u044b\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u0443\u044e] dddd, [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0447\u0435\u0440\u0435\u0437 %s",past:"%s \u043d\u0430\u0437\u0430\u0434",s:"\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434",ss:Zn,m:Zn,mm:Zn,h:"\u0447\u0430\u0441",hh:Zn,d:"\u0434\u0435\u043d\u044c",dd:Zn,M:"\u043c\u0435\u0441\u044f\u0446",MM:Zn,y:"\u0433\u043e\u0434",yy:Zn},meridiemParse:/\u043d\u043e\u0447\u0438|\u0443\u0442\u0440\u0430|\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430/i,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430)$/.test(e)},meridiem:function(e,a,t){return e<4?"\u043d\u043e\u0447\u0438":e<12?"\u0443\u0442\u0440\u0430":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0435\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e|\u044f)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":return e+"-\u0439";case"D":return e+"-\u0433\u043e";case"w":case"W":return e+"-\u044f";default:return e}},week:{dow:1,doy:4}});var Bn=["\u062c\u0646\u0648\u0631\u064a","\u0641\u064a\u0628\u0631\u0648\u0631\u064a","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u064a\u0644","\u0645\u0626\u064a","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0621\u0650","\u0622\u06af\u0633\u067d","\u0633\u064a\u067e\u067d\u0645\u0628\u0631","\u0622\u06aa\u067d\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u068a\u0633\u0645\u0628\u0631"],qn=["\u0622\u0686\u0631","\u0633\u0648\u0645\u0631","\u0627\u06b1\u0627\u0631\u0648","\u0627\u0631\u0628\u0639","\u062e\u0645\u064a\u0633","\u062c\u0645\u0639","\u0687\u0646\u0687\u0631"];l.defineLocale("sd",{months:Bn,monthsShort:Bn,weekdays:qn,weekdaysShort:qn,weekdaysMin:qn,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(e){return"\u0634\u0627\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0627\u0684] LT",nextDay:"[\u0633\u0680\u0627\u06bb\u064a] LT",nextWeek:"dddd [\u0627\u06b3\u064a\u0646 \u0647\u0641\u062a\u064a \u062a\u064a] LT",lastDay:"[\u06aa\u0627\u0644\u0647\u0647] LT",lastWeek:"[\u06af\u0632\u0631\u064a\u0644 \u0647\u0641\u062a\u064a] dddd [\u062a\u064a] LT",sameElse:"L"},relativeTime:{future:"%s \u067e\u0648\u0621",past:"%s \u0627\u06b3",s:"\u0686\u0646\u062f \u0633\u064a\u06aa\u0646\u068a",ss:"%d \u0633\u064a\u06aa\u0646\u068a",m:"\u0647\u06aa \u0645\u0646\u067d",mm:"%d \u0645\u0646\u067d",h:"\u0647\u06aa \u06aa\u0644\u0627\u06aa",hh:"%d \u06aa\u0644\u0627\u06aa",d:"\u0647\u06aa \u068f\u064a\u0646\u0647\u0646",dd:"%d \u068f\u064a\u0646\u0647\u0646",M:"\u0647\u06aa \u0645\u0647\u064a\u0646\u0648",MM:"%d \u0645\u0647\u064a\u0646\u0627",y:"\u0647\u06aa \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:4}}),l.defineLocale("se",{months:"o\u0111\u0111ajagem\xe1nnu_guovvam\xe1nnu_njuk\u010dam\xe1nnu_cuo\u014bom\xe1nnu_miessem\xe1nnu_geassem\xe1nnu_suoidnem\xe1nnu_borgem\xe1nnu_\u010dak\u010dam\xe1nnu_golggotm\xe1nnu_sk\xe1bmam\xe1nnu_juovlam\xe1nnu".split("_"),monthsShort:"o\u0111\u0111j_guov_njuk_cuo_mies_geas_suoi_borg_\u010dak\u010d_golg_sk\xe1b_juov".split("_"),weekdays:"sotnabeaivi_vuoss\xe1rga_ma\u014b\u014beb\xe1rga_gaskavahkku_duorastat_bearjadat_l\xe1vvardat".split("_"),weekdaysShort:"sotn_vuos_ma\u014b_gask_duor_bear_l\xe1v".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\u017ees",past:"ma\u014bit %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\xe1nnu",MM:"%d m\xe1nut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.defineLocale("si",{months:"\u0da2\u0db1\u0dc0\u0dcf\u0dbb\u0dd2_\u0db4\u0dd9\u0db6\u0dbb\u0dc0\u0dcf\u0dbb\u0dd2_\u0db8\u0dcf\u0dbb\u0dca\u0dad\u0dd4_\u0d85\u0db4\u0dca\u200d\u0dbb\u0dda\u0dbd\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd\u0dc3\u0dca\u0dad\u0dd4_\u0dc3\u0dd0\u0db4\u0dca\u0dad\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0d94\u0d9a\u0dca\u0dad\u0ddd\u0db6\u0dbb\u0dca_\u0db1\u0ddc\u0dc0\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0daf\u0dd9\u0dc3\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca".split("_"),monthsShort:"\u0da2\u0db1_\u0db4\u0dd9\u0db6_\u0db8\u0dcf\u0dbb\u0dca_\u0d85\u0db4\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd_\u0dc3\u0dd0\u0db4\u0dca_\u0d94\u0d9a\u0dca_\u0db1\u0ddc\u0dc0\u0dd0_\u0daf\u0dd9\u0dc3\u0dd0".split("_"),weekdays:"\u0d89\u0dbb\u0dd2\u0daf\u0dcf_\u0dc3\u0db3\u0dd4\u0daf\u0dcf_\u0d85\u0d9f\u0dc4\u0dbb\u0dd4\u0dc0\u0dcf\u0daf\u0dcf_\u0db6\u0daf\u0dcf\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4\u0dc3\u0dca\u0db4\u0dad\u0dd2\u0db1\u0dca\u0daf\u0dcf_\u0dc3\u0dd2\u0d9a\u0dd4\u0dbb\u0dcf\u0daf\u0dcf_\u0dc3\u0dd9\u0db1\u0dc3\u0dd4\u0dbb\u0dcf\u0daf\u0dcf".split("_"),weekdaysShort:"\u0d89\u0dbb\u0dd2_\u0dc3\u0db3\u0dd4_\u0d85\u0d9f_\u0db6\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4_\u0dc3\u0dd2\u0d9a\u0dd4_\u0dc3\u0dd9\u0db1".split("_"),weekdaysMin:"\u0d89_\u0dc3_\u0d85_\u0db6_\u0db6\u0dca\u200d\u0dbb_\u0dc3\u0dd2_\u0dc3\u0dd9".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [\u0dc0\u0dd0\u0db1\u0dd2] dddd, a h:mm:ss"},calendar:{sameDay:"[\u0d85\u0daf] LT[\u0da7]",nextDay:"[\u0dc4\u0dd9\u0da7] LT[\u0da7]",nextWeek:"dddd LT[\u0da7]",lastDay:"[\u0d8a\u0dba\u0dda] LT[\u0da7]",lastWeek:"[\u0db4\u0dc3\u0dd4\u0d9c\u0dd2\u0dba] dddd LT[\u0da7]",sameElse:"L"},relativeTime:{future:"%s\u0d9a\u0dd2\u0db1\u0dca",past:"%s\u0d9a\u0da7 \u0db4\u0dd9\u0dbb",s:"\u0dad\u0dad\u0dca\u0db4\u0dbb \u0d9a\u0dd2\u0dc4\u0dd2\u0db4\u0dba",ss:"\u0dad\u0dad\u0dca\u0db4\u0dbb %d",m:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4\u0dc0",mm:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4 %d",h:"\u0db4\u0dd0\u0dba",hh:"\u0db4\u0dd0\u0dba %d",d:"\u0daf\u0dd2\u0db1\u0dba",dd:"\u0daf\u0dd2\u0db1 %d",M:"\u0db8\u0dcf\u0dc3\u0dba",MM:"\u0db8\u0dcf\u0dc3 %d",y:"\u0dc0\u0dc3\u0dbb",yy:"\u0dc0\u0dc3\u0dbb %d"},dayOfMonthOrdinalParse:/\d{1,2} \u0dc0\u0dd0\u0db1\u0dd2/,ordinal:function(e){return e+" \u0dc0\u0dd0\u0db1\u0dd2"},meridiemParse:/\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4|\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4|\u0db4\u0dd9.\u0dc0|\u0db4.\u0dc0./,isPM:function(e){return"\u0db4.\u0dc0."===e||"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4"===e},meridiem:function(e,a,t){return 11<e?t?"\u0db4.\u0dc0.":"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4":t?"\u0db4\u0dd9.\u0dc0.":"\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4"}});var Qn="janu\xe1r_febru\xe1r_marec_apr\xedl_m\xe1j_j\xfan_j\xfal_august_september_okt\xf3ber_november_december".split("_"),Xn="jan_feb_mar_apr_m\xe1j_j\xfan_j\xfal_aug_sep_okt_nov_dec".split("_");function ed(e){return 1<e&&e<5}function ad(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"p\xe1r sek\xfand":"p\xe1r sekundami";case"ss":return a||s?n+(ed(e)?"sekundy":"sek\xfand"):n+"sekundami";break;case"m":return a?"min\xfata":s?"min\xfatu":"min\xfatou";case"mm":return a||s?n+(ed(e)?"min\xfaty":"min\xfat"):n+"min\xfatami";break;case"h":return a?"hodina":s?"hodinu":"hodinou";case"hh":return a||s?n+(ed(e)?"hodiny":"hod\xedn"):n+"hodinami";break;case"d":return a||s?"de\u0148":"d\u0148om";case"dd":return a||s?n+(ed(e)?"dni":"dn\xed"):n+"d\u0148ami";break;case"M":return a||s?"mesiac":"mesiacom";case"MM":return a||s?n+(ed(e)?"mesiace":"mesiacov"):n+"mesiacmi";break;case"y":return a||s?"rok":"rokom";case"yy":return a||s?n+(ed(e)?"roky":"rokov"):n+"rokmi";break}}function td(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"nekaj sekund":"nekaj sekundami";case"ss":return n+=1===e?a?"sekundo":"sekundi":2===e?a||s?"sekundi":"sekundah":e<5?a||s?"sekunde":"sekundah":"sekund";case"m":return a?"ena minuta":"eno minuto";case"mm":return n+=1===e?a?"minuta":"minuto":2===e?a||s?"minuti":"minutama":e<5?a||s?"minute":"minutami":a||s?"minut":"minutami";case"h":return a?"ena ura":"eno uro";case"hh":return n+=1===e?a?"ura":"uro":2===e?a||s?"uri":"urama":e<5?a||s?"ure":"urami":a||s?"ur":"urami";case"d":return a||s?"en dan":"enim dnem";case"dd":return n+=1===e?a||s?"dan":"dnem":2===e?a||s?"dni":"dnevoma":a||s?"dni":"dnevi";case"M":return a||s?"en mesec":"enim mesecem";case"MM":return n+=1===e?a||s?"mesec":"mesecem":2===e?a||s?"meseca":"mesecema":e<5?a||s?"mesece":"meseci":a||s?"mesecev":"meseci";case"y":return a||s?"eno leto":"enim letom";case"yy":return n+=1===e?a||s?"leto":"letom":2===e?a||s?"leti":"letoma":e<5?a||s?"leta":"leti":a||s?"let":"leti"}}l.defineLocale("sk",{months:Qn,monthsShort:Xn,weekdays:"nede\u013ea_pondelok_utorok_streda_\u0161tvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_\u0161t_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_\u0161t_pi_so".split("_"),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:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nede\u013eu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo \u0161tvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[v\u010dera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minul\xfa nede\u013eu o] LT";case 1:case 2:return"[minul\xfd] dddd [o] LT";case 3:return"[minul\xfa stredu o] LT";case 4:case 5:return"[minul\xfd] dddd [o] LT";case 6:return"[minul\xfa sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:ad,ss:ad,m:ad,mm:ad,h:ad,hh:ad,d:ad,dd:ad,M:ad,MM:ad,y:ad,yy:ad},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.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_\u010detrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._\u010det._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_\u010de_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\u010deraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prej\u0161njo] [nedeljo] [ob] LT";case 3:return"[prej\u0161njo] [sredo] [ob] LT";case 6:return"[prej\u0161njo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prej\u0161nji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"\u010dez %s",past:"pred %s",s:td,ss:td,m:td,mm:td,h:td,hh:td,d:td,dd:td,M:td,MM:td,y:td,yy:td},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),l.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_N\xebntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_N\xebn_Dhj".split("_"),weekdays:"E Diel_E H\xebn\xeb_E Mart\xeb_E M\xebrkur\xeb_E Enjte_E Premte_E Shtun\xeb".split("_"),weekdaysShort:"Die_H\xebn_Mar_M\xebr_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_M\xeb_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(e){return"M"===e.charAt(0)},meridiem:function(e,a,t){return e<12?"PD":"MD"},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:"[Sot n\xeb] LT",nextDay:"[Nes\xebr n\xeb] LT",nextWeek:"dddd [n\xeb] LT",lastDay:"[Dje n\xeb] LT",lastWeek:"dddd [e kaluar n\xeb] LT",sameElse:"L"},relativeTime:{future:"n\xeb %s",past:"%s m\xeb par\xeb",s:"disa sekonda",ss:"%d sekonda",m:"nj\xeb minut\xeb",mm:"%d minuta",h:"nj\xeb or\xeb",hh:"%d or\xeb",d:"nj\xeb dit\xeb",dd:"%d dit\xeb",M:"nj\xeb muaj",MM:"%d muaj",y:"nj\xeb vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var sd={words:{ss:["\u0441\u0435\u043a\u0443\u043d\u0434\u0430","\u0441\u0435\u043a\u0443\u043d\u0434\u0435","\u0441\u0435\u043a\u0443\u043d\u0434\u0438"],m:["\u0458\u0435\u0434\u0430\u043d \u043c\u0438\u043d\u0443\u0442","\u0458\u0435\u0434\u043d\u0435 \u043c\u0438\u043d\u0443\u0442\u0435"],mm:["\u043c\u0438\u043d\u0443\u0442","\u043c\u0438\u043d\u0443\u0442\u0435","\u043c\u0438\u043d\u0443\u0442\u0430"],h:["\u0458\u0435\u0434\u0430\u043d \u0441\u0430\u0442","\u0458\u0435\u0434\u043d\u043e\u0433 \u0441\u0430\u0442\u0430"],hh:["\u0441\u0430\u0442","\u0441\u0430\u0442\u0430","\u0441\u0430\u0442\u0438"],dd:["\u0434\u0430\u043d","\u0434\u0430\u043d\u0430","\u0434\u0430\u043d\u0430"],MM:["\u043c\u0435\u0441\u0435\u0446","\u043c\u0435\u0441\u0435\u0446\u0430","\u043c\u0435\u0441\u0435\u0446\u0438"],yy:["\u0433\u043e\u0434\u0438\u043d\u0430","\u0433\u043e\u0434\u0438\u043d\u0435","\u0433\u043e\u0434\u0438\u043d\u0430"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:2<=e&&e<=4?a[1]:a[2]},translate:function(e,a,t){var s=sd.words[t];return 1===t.length?a?s[0]:s[1]:e+" "+sd.correctGrammaticalCase(e,s)}};l.defineLocale("sr-cyrl",{months:"\u0458\u0430\u043d\u0443\u0430\u0440_\u0444\u0435\u0431\u0440\u0443\u0430\u0440_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440_\u043e\u043a\u0442\u043e\u0431\u0430\u0440_\u043d\u043e\u0432\u0435\u043c\u0431\u0430\u0440_\u0434\u0435\u0446\u0435\u043c\u0431\u0430\u0440".split("_"),monthsShort:"\u0458\u0430\u043d._\u0444\u0435\u0431._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433._\u0441\u0435\u043f._\u043e\u043a\u0442._\u043d\u043e\u0432._\u0434\u0435\u0446.".split("_"),monthsParseExact:!0,weekdays:"\u043d\u0435\u0434\u0435\u0459\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a_\u0443\u0442\u043e\u0440\u0430\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u0430\u043a_\u043f\u0435\u0442\u0430\u043a_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434._\u043f\u043e\u043d._\u0443\u0442\u043e._\u0441\u0440\u0435._\u0447\u0435\u0442._\u043f\u0435\u0442._\u0441\u0443\u0431.".split("_"),weekdaysMin:"\u043d\u0435_\u043f\u043e_\u0443\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441\u0443".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:"[\u0434\u0430\u043d\u0430\u0441 \u0443] LT",nextDay:"[\u0441\u0443\u0442\u0440\u0430 \u0443] LT",nextWeek:function(){switch(this.day()){case 0:return"[\u0443] [\u043d\u0435\u0434\u0435\u0459\u0443] [\u0443] LT";case 3:return"[\u0443] [\u0441\u0440\u0435\u0434\u0443] [\u0443] LT";case 6:return"[\u0443] [\u0441\u0443\u0431\u043e\u0442\u0443] [\u0443] LT";case 1:case 2:case 4:case 5:return"[\u0443] dddd [\u0443] LT"}},lastDay:"[\u0458\u0443\u0447\u0435 \u0443] LT",lastWeek:function(){return["[\u043f\u0440\u043e\u0448\u043b\u0435] [\u043d\u0435\u0434\u0435\u0459\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0443\u0442\u043e\u0440\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0440\u0435\u0434\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0447\u0435\u0442\u0432\u0440\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u0435\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0443\u0431\u043e\u0442\u0435] [\u0443] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"\u043f\u0440\u0435 %s",s:"\u043d\u0435\u043a\u043e\u043b\u0438\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:sd.translate,m:sd.translate,mm:sd.translate,h:sd.translate,hh:sd.translate,d:"\u0434\u0430\u043d",dd:sd.translate,M:"\u043c\u0435\u0441\u0435\u0446",MM:sd.translate,y:"\u0433\u043e\u0434\u0438\u043d\u0443",yy:sd.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var nd={words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:2<=e&&e<=4?a[1]:a[2]},translate:function(e,a,t){var s=nd.words[t];return 1===t.length?a?s[0]:s[1]:e+" "+nd.correctGrammaticalCase(e,s)}};l.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".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:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedelje] [u] LT","[pro\u0161log] [ponedeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:nd.translate,m:nd.translate,mm:nd.translate,h:nd.translate,hh:nd.translate,d:"dan",dd:nd.translate,M:"mesec",MM:nd.translate,y:"godinu",yy:nd.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),l.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,a,t){return e<11?"ekuseni":e<15?"emini":e<19?"entsambama":"ebusuku"},meridiemHour:function(e,a){return 12===e&&(e=0),"ekuseni"===a?e:"emini"===a?11<=e?e:e+12:"entsambama"===a||"ebusuku"===a?0===e?0:e+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}}),l.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf6ndag_m\xe5ndag_tisdag_onsdag_torsdag_fredag_l\xf6rdag".split("_"),weekdaysShort:"s\xf6n_m\xe5n_tis_ons_tor_fre_l\xf6r".split("_"),weekdaysMin:"s\xf6_m\xe5_ti_on_to_fr_l\xf6".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Ig\xe5r] LT",nextWeek:"[P\xe5] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"f\xf6r %s sedan",s:"n\xe5gra sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en m\xe5nad",MM:"%d m\xe5nader",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}(e|a)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"e":1===a?"a":2===a?"a":"e")},week:{dow:1,doy:4}}),l.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".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:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}});var dd={1:"\u0be7",2:"\u0be8",3:"\u0be9",4:"\u0bea",5:"\u0beb",6:"\u0bec",7:"\u0bed",8:"\u0bee",9:"\u0bef",0:"\u0be6"},rd={"\u0be7":"1","\u0be8":"2","\u0be9":"3","\u0bea":"4","\u0beb":"5","\u0bec":"6","\u0bed":"7","\u0bee":"8","\u0bef":"9","\u0be6":"0"};l.defineLocale("ta",{months:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),monthsShort:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),weekdays:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bcd\u0bb1\u0bc1\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0b9f\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0ba9\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8".split("_"),weekdaysShort:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bc1_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0bb3\u0bcd_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0ba9\u0bcd_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf_\u0b9a\u0ba9\u0bbf".split("_"),weekdaysMin:"\u0b9e\u0bbe_\u0ba4\u0bbf_\u0b9a\u0bc6_\u0baa\u0bc1_\u0bb5\u0bbf_\u0bb5\u0bc6_\u0b9a".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:"[\u0b87\u0ba9\u0bcd\u0bb1\u0bc1] LT",nextDay:"[\u0ba8\u0bbe\u0bb3\u0bc8] LT",nextWeek:"dddd, LT",lastDay:"[\u0ba8\u0bc7\u0bb1\u0bcd\u0bb1\u0bc1] LT",lastWeek:"[\u0b95\u0b9f\u0ba8\u0bcd\u0ba4 \u0bb5\u0bbe\u0bb0\u0bae\u0bcd] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0b87\u0bb2\u0bcd",past:"%s \u0bae\u0bc1\u0ba9\u0bcd",s:"\u0b92\u0bb0\u0bc1 \u0b9a\u0bbf\u0bb2 \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",ss:"%d \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",m:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0bae\u0bcd",mm:"%d \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0b99\u0bcd\u0b95\u0bb3\u0bcd",h:"\u0b92\u0bb0\u0bc1 \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",hh:"%d \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",d:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbe\u0bb3\u0bcd",dd:"%d \u0ba8\u0bbe\u0b9f\u0bcd\u0b95\u0bb3\u0bcd",M:"\u0b92\u0bb0\u0bc1 \u0bae\u0bbe\u0ba4\u0bae\u0bcd",MM:"%d \u0bae\u0bbe\u0ba4\u0b99\u0bcd\u0b95\u0bb3\u0bcd",y:"\u0b92\u0bb0\u0bc1 \u0bb5\u0bb0\u0bc1\u0b9f\u0bae\u0bcd",yy:"%d \u0b86\u0ba3\u0bcd\u0b9f\u0bc1\u0b95\u0bb3\u0bcd"},dayOfMonthOrdinalParse:/\d{1,2}\u0bb5\u0ba4\u0bc1/,ordinal:function(e){return e+"\u0bb5\u0ba4\u0bc1"},preparse:function(e){return e.replace(/[\u0be7\u0be8\u0be9\u0bea\u0beb\u0bec\u0bed\u0bee\u0bef\u0be6]/g,function(e){return rd[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return dd[e]})},meridiemParse:/\u0baf\u0bbe\u0bae\u0bae\u0bcd|\u0bb5\u0bc8\u0b95\u0bb1\u0bc8|\u0b95\u0bbe\u0bb2\u0bc8|\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd|\u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1|\u0bae\u0bbe\u0bb2\u0bc8/,meridiem:function(e,a,t){return e<2?" \u0baf\u0bbe\u0bae\u0bae\u0bcd":e<6?" \u0bb5\u0bc8\u0b95\u0bb1\u0bc8":e<10?" \u0b95\u0bbe\u0bb2\u0bc8":e<14?" \u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd":e<18?" \u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1":e<22?" \u0bae\u0bbe\u0bb2\u0bc8":" \u0baf\u0bbe\u0bae\u0bae\u0bcd"},meridiemHour:function(e,a){return 12===e&&(e=0),"\u0baf\u0bbe\u0bae\u0bae\u0bcd"===a?e<2?e:e+12:"\u0bb5\u0bc8\u0b95\u0bb1\u0bc8"===a||"\u0b95\u0bbe\u0bb2\u0bc8"===a?e:"\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd"===a&&10<=e?e:e+12},week:{dow:0,doy:6}}),l.defineLocale("te",{months:"\u0c1c\u0c28\u0c35\u0c30\u0c3f_\u0c2b\u0c3f\u0c2c\u0c4d\u0c30\u0c35\u0c30\u0c3f_\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f\u0c32\u0c4d_\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c41\u0c32\u0c48_\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41_\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d_\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d_\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d_\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d".split("_"),monthsShort:"\u0c1c\u0c28._\u0c2b\u0c3f\u0c2c\u0c4d\u0c30._\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f._\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c41\u0c32\u0c48_\u0c06\u0c17._\u0c38\u0c46\u0c2a\u0c4d._\u0c05\u0c15\u0c4d\u0c1f\u0c4b._\u0c28\u0c35._\u0c21\u0c3f\u0c38\u0c46.".split("_"),monthsParseExact:!0,weekdays:"\u0c06\u0c26\u0c3f\u0c35\u0c3e\u0c30\u0c02_\u0c38\u0c4b\u0c2e\u0c35\u0c3e\u0c30\u0c02_\u0c2e\u0c02\u0c17\u0c33\u0c35\u0c3e\u0c30\u0c02_\u0c2c\u0c41\u0c27\u0c35\u0c3e\u0c30\u0c02_\u0c17\u0c41\u0c30\u0c41\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c41\u0c15\u0c4d\u0c30\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c28\u0c3f\u0c35\u0c3e\u0c30\u0c02".split("_"),weekdaysShort:"\u0c06\u0c26\u0c3f_\u0c38\u0c4b\u0c2e_\u0c2e\u0c02\u0c17\u0c33_\u0c2c\u0c41\u0c27_\u0c17\u0c41\u0c30\u0c41_\u0c36\u0c41\u0c15\u0c4d\u0c30_\u0c36\u0c28\u0c3f".split("_"),weekdaysMin:"\u0c06_\u0c38\u0c4b_\u0c2e\u0c02_\u0c2c\u0c41_\u0c17\u0c41_\u0c36\u0c41_\u0c36".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:"[\u0c28\u0c47\u0c21\u0c41] LT",nextDay:"[\u0c30\u0c47\u0c2a\u0c41] LT",nextWeek:"dddd, LT",lastDay:"[\u0c28\u0c3f\u0c28\u0c4d\u0c28] LT",lastWeek:"[\u0c17\u0c24] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0c32\u0c4b",past:"%s \u0c15\u0c4d\u0c30\u0c3f\u0c24\u0c02",s:"\u0c15\u0c4a\u0c28\u0c4d\u0c28\u0c3f \u0c15\u0c4d\u0c37\u0c23\u0c3e\u0c32\u0c41",ss:"%d \u0c38\u0c46\u0c15\u0c28\u0c4d\u0c32\u0c41",m:"\u0c12\u0c15 \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c02",mm:"%d \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c3e\u0c32\u0c41",h:"\u0c12\u0c15 \u0c17\u0c02\u0c1f",hh:"%d \u0c17\u0c02\u0c1f\u0c32\u0c41",d:"\u0c12\u0c15 \u0c30\u0c4b\u0c1c\u0c41",dd:"%d \u0c30\u0c4b\u0c1c\u0c41\u0c32\u0c41",M:"\u0c12\u0c15 \u0c28\u0c46\u0c32",MM:"%d \u0c28\u0c46\u0c32\u0c32\u0c41",y:"\u0c12\u0c15 \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c02",yy:"%d \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c3e\u0c32\u0c41"},dayOfMonthOrdinalParse:/\d{1,2}\u0c35/,ordinal:"%d\u0c35",meridiemParse:/\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f|\u0c09\u0c26\u0c2f\u0c02|\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02|\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"===a?e<4?e:e+12:"\u0c09\u0c26\u0c2f\u0c02"===a?e:"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02"===a?10<=e?e:e+12:"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f":e<10?"\u0c09\u0c26\u0c2f\u0c02":e<17?"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02":e<20?"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02":"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"},week:{dow:0,doy:6}}),l.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Ju\xf1u_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".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:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",ss:"minutu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}});var _d={0:"-\u0443\u043c",1:"-\u0443\u043c",2:"-\u044e\u043c",3:"-\u044e\u043c",4:"-\u0443\u043c",5:"-\u0443\u043c",6:"-\u0443\u043c",7:"-\u0443\u043c",8:"-\u0443\u043c",9:"-\u0443\u043c",10:"-\u0443\u043c",12:"-\u0443\u043c",13:"-\u0443\u043c",20:"-\u0443\u043c",30:"-\u044e\u043c",40:"-\u0443\u043c",50:"-\u0443\u043c",60:"-\u0443\u043c",70:"-\u0443\u043c",80:"-\u0443\u043c",90:"-\u0443\u043c",100:"-\u0443\u043c"};l.defineLocale("tg",{months:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u044f\u043a\u0448\u0430\u043d\u0431\u0435_\u0434\u0443\u0448\u0430\u043d\u0431\u0435_\u0441\u0435\u0448\u0430\u043d\u0431\u0435_\u0447\u043e\u0440\u0448\u0430\u043d\u0431\u0435_\u043f\u0430\u043d\u04b7\u0448\u0430\u043d\u0431\u0435_\u04b7\u0443\u043c\u044a\u0430_\u0448\u0430\u043d\u0431\u0435".split("_"),weekdaysShort:"\u044f\u0448\u0431_\u0434\u0448\u0431_\u0441\u0448\u0431_\u0447\u0448\u0431_\u043f\u0448\u0431_\u04b7\u0443\u043c_\u0448\u043d\u0431".split("_"),weekdaysMin:"\u044f\u0448_\u0434\u0448_\u0441\u0448_\u0447\u0448_\u043f\u0448_\u04b7\u043c_\u0448\u0431".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:"[\u0418\u043c\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextDay:"[\u041f\u0430\u0433\u043e\u04b3 \u0441\u043e\u0430\u0442\u0438] LT",lastDay:"[\u0414\u0438\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u043e\u044f\u043d\u0434\u0430 \u0441\u043e\u0430\u0442\u0438] LT",lastWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u0433\u0443\u0437\u0430\u0448\u0442\u0430 \u0441\u043e\u0430\u0442\u0438] LT",sameElse:"L"},relativeTime:{future:"\u0431\u0430\u044a\u0434\u0438 %s",past:"%s \u043f\u0435\u0448",s:"\u044f\u043a\u0447\u0430\u043d\u0434 \u0441\u043e\u043d\u0438\u044f",m:"\u044f\u043a \u0434\u0430\u049b\u0438\u049b\u0430",mm:"%d \u0434\u0430\u049b\u0438\u049b\u0430",h:"\u044f\u043a \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u044f\u043a \u0440\u04ef\u0437",dd:"%d \u0440\u04ef\u0437",M:"\u044f\u043a \u043c\u043e\u04b3",MM:"%d \u043c\u043e\u04b3",y:"\u044f\u043a \u0441\u043e\u043b",yy:"%d \u0441\u043e\u043b"},meridiemParse:/\u0448\u0430\u0431|\u0441\u0443\u0431\u04b3|\u0440\u04ef\u0437|\u0431\u0435\u0433\u043e\u04b3/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0448\u0430\u0431"===a?e<4?e:e+12:"\u0441\u0443\u0431\u04b3"===a?e:"\u0440\u04ef\u0437"===a?11<=e?e:e+12:"\u0431\u0435\u0433\u043e\u04b3"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0448\u0430\u0431":e<11?"\u0441\u0443\u0431\u04b3":e<16?"\u0440\u04ef\u0437":e<19?"\u0431\u0435\u0433\u043e\u04b3":"\u0448\u0430\u0431"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0443\u043c|\u044e\u043c)/,ordinal:function(e){return e+(_d[e]||_d[e%10]||_d[100<=e?100:null])},week:{dow:1,doy:7}}),l.defineLocale("th",{months:"\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21_\u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c_\u0e21\u0e35\u0e19\u0e32\u0e04\u0e21_\u0e40\u0e21\u0e29\u0e32\u0e22\u0e19_\u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21_\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19_\u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21_\u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21_\u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19_\u0e15\u0e38\u0e25\u0e32\u0e04\u0e21_\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19_\u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21".split("_"),monthsShort:"\u0e21.\u0e04._\u0e01.\u0e1e._\u0e21\u0e35.\u0e04._\u0e40\u0e21.\u0e22._\u0e1e.\u0e04._\u0e21\u0e34.\u0e22._\u0e01.\u0e04._\u0e2a.\u0e04._\u0e01.\u0e22._\u0e15.\u0e04._\u0e1e.\u0e22._\u0e18.\u0e04.".split("_"),monthsParseExact:!0,weekdays:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysShort:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysMin:"\u0e2d\u0e32._\u0e08._\u0e2d._\u0e1e._\u0e1e\u0e24._\u0e28._\u0e2a.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 H:mm",LLLL:"\u0e27\u0e31\u0e19dddd\u0e17\u0e35\u0e48 D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 H:mm"},meridiemParse:/\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07|\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07/,isPM:function(e){return"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"===e},meridiem:function(e,a,t){return e<12?"\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07":"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"},calendar:{sameDay:"[\u0e27\u0e31\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextDay:"[\u0e1e\u0e23\u0e38\u0e48\u0e07\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextWeek:"dddd[\u0e2b\u0e19\u0e49\u0e32 \u0e40\u0e27\u0e25\u0e32] LT",lastDay:"[\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e27\u0e32\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",lastWeek:"[\u0e27\u0e31\u0e19]dddd[\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27 \u0e40\u0e27\u0e25\u0e32] LT",sameElse:"L"},relativeTime:{future:"\u0e2d\u0e35\u0e01 %s",past:"%s\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27",s:"\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",ss:"%d \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",m:"1 \u0e19\u0e32\u0e17\u0e35",mm:"%d \u0e19\u0e32\u0e17\u0e35",h:"1 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",hh:"%d \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",d:"1 \u0e27\u0e31\u0e19",dd:"%d \u0e27\u0e31\u0e19",M:"1 \u0e40\u0e14\u0e37\u0e2d\u0e19",MM:"%d \u0e40\u0e14\u0e37\u0e2d\u0e19",y:"1 \u0e1b\u0e35",yy:"%d \u0e1b\u0e35"}}),l.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}});var id="pagh_wa\u2019_cha\u2019_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");function od(e,a,t,s){var n=function(e){var a=Math.floor(e%1e3/100),t=Math.floor(e%100/10),s=e%10,n="";0<a&&(n+=id[a]+"vatlh");0<t&&(n+=(""!==n?" ":"")+id[t]+"maH");0<s&&(n+=(""!==n?" ":"")+id[s]);return""===n?"pagh":n}(e);switch(t){case"ss":return n+" lup";case"mm":return n+" tup";case"hh":return n+" rep";case"dd":return n+" jaj";case"MM":return n+" jar";case"yy":return n+" DIS"}}l.defineLocale("tlh",{months:"tera\u2019 jar wa\u2019_tera\u2019 jar cha\u2019_tera\u2019 jar wej_tera\u2019 jar loS_tera\u2019 jar vagh_tera\u2019 jar jav_tera\u2019 jar Soch_tera\u2019 jar chorgh_tera\u2019 jar Hut_tera\u2019 jar wa\u2019maH_tera\u2019 jar wa\u2019maH wa\u2019_tera\u2019 jar wa\u2019maH cha\u2019".split("_"),monthsShort:"jar wa\u2019_jar cha\u2019_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa\u2019maH_jar wa\u2019maH wa\u2019_jar wa\u2019maH cha\u2019".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".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:"[DaHjaj] LT",nextDay:"[wa\u2019leS] LT",nextWeek:"LLL",lastDay:"[wa\u2019Hu\u2019] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:function(e){var a=e;return a=-1!==e.indexOf("jaj")?a.slice(0,-3)+"leS":-1!==e.indexOf("jar")?a.slice(0,-3)+"waQ":-1!==e.indexOf("DIS")?a.slice(0,-3)+"nem":a+" pIq"},past:function(e){var a=e;return a=-1!==e.indexOf("jaj")?a.slice(0,-3)+"Hu\u2019":-1!==e.indexOf("jar")?a.slice(0,-3)+"wen":-1!==e.indexOf("DIS")?a.slice(0,-3)+"ben":a+" ret"},s:"puS lup",ss:od,m:"wa\u2019 tup",mm:od,h:"wa\u2019 rep",hh:od,d:"wa\u2019 jaj",dd:od,M:"wa\u2019 jar",MM:od,y:"wa\u2019 DIS",yy:od},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var md={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'\xfcnc\xfc",4:"'\xfcnc\xfc",100:"'\xfcnc\xfc",6:"'nc\u0131",9:"'uncu",10:"'uncu",30:"'uncu",60:"'\u0131nc\u0131",90:"'\u0131nc\u0131"};function ud(e,a,t,s){var n={s:["viensas secunds","'iensas secunds"],ss:[e+" secunds",e+" secunds"],m:["'n m\xedut","'iens m\xedut"],mm:[e+" m\xeduts",e+" m\xeduts"],h:["'n \xfeora","'iensa \xfeora"],hh:[e+" \xfeoras",e+" \xfeoras"],d:["'n ziua","'iensa ziua"],dd:[e+" ziuas",e+" ziuas"],M:["'n mes","'iens mes"],MM:[e+" mesen",e+" mesen"],y:["'n ar","'iens ar"],yy:[e+" ars",e+" ars"]};return s?n[t][0]:a?n[t][0]:n[t][1]}function ld(e,a,t){var s,n;return"m"===t?a?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443":"h"===t?a?"\u0433\u043e\u0434\u0438\u043d\u0430":"\u0433\u043e\u0434\u0438\u043d\u0443":e+" "+(s=+e,n={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d",hh:a?"\u0433\u043e\u0434\u0438\u043d\u0430_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d":"\u0433\u043e\u0434\u0438\u043d\u0443_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u043d\u0456\u0432",MM:"\u043c\u0456\u0441\u044f\u0446\u044c_\u043c\u0456\u0441\u044f\u0446\u0456_\u043c\u0456\u0441\u044f\u0446\u0456\u0432",yy:"\u0440\u0456\u043a_\u0440\u043e\u043a\u0438_\u0440\u043e\u043a\u0456\u0432"}[t].split("_"),s%10==1&&s%100!=11?n[0]:2<=s%10&&s%10<=4&&(s%100<10||20<=s%100)?n[1]:n[2])}function Md(e){return function(){return e+"\u043e"+(11===this.hours()?"\u0431":"")+"] LT"}}l.defineLocale("tr",{months:"Ocak_\u015eubat_Mart_Nisan_May\u0131s_Haziran_Temmuz_A\u011fustos_Eyl\xfcl_Ekim_Kas\u0131m_Aral\u0131k".split("_"),monthsShort:"Oca_\u015eub_Mar_Nis_May_Haz_Tem_A\u011fu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Sal\u0131_\xc7ar\u015famba_Per\u015fembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_\xc7ar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_\xc7a_Pe_Cu_Ct".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:"[bug\xfcn saat] LT",nextDay:"[yar\u0131n saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[d\xfcn] LT",lastWeek:"[ge\xe7en] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \xf6nce",s:"birka\xe7 saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir ay",MM:"%d ay",y:"bir y\u0131l",yy:"%d y\u0131l"},ordinal:function(e,a){switch(a){case"d":case"D":case"Do":case"DD":return e;default:if(0===e)return e+"'\u0131nc\u0131";var t=e%10;return e+(md[t]||md[e%100-t]||md[100<=e?100:null])}},week:{dow:1,doy:7}}),l.defineLocale("tzl",{months:"Januar_Fevraglh_Mar\xe7_Avr\xefu_Mai_G\xfcn_Julia_Guscht_Setemvar_Listop\xe4ts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_G\xfcn_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"S\xfaladi_L\xfane\xe7i_Maitzi_M\xe1rcuri_Xh\xfaadi_Vi\xe9ner\xe7i_S\xe1turi".split("_"),weekdaysShort:"S\xfal_L\xfan_Mai_M\xe1r_Xh\xfa_Vi\xe9_S\xe1t".split("_"),weekdaysMin:"S\xfa_L\xfa_Ma_M\xe1_Xh_Vi_S\xe1".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(e){return"d'o"===e.toLowerCase()},meridiem:function(e,a,t){return 11<e?t?"d'o":"D'O":t?"d'a":"D'A"},calendar:{sameDay:"[oxhi \xe0] LT",nextDay:"[dem\xe0 \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[ieiri \xe0] LT",lastWeek:"[s\xfcr el] dddd [lasteu \xe0] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:ud,ss:ud,m:ud,mm:ud,h:ud,hh:ud,d:ud,dd:ud,M:ud,MM:ud,y:ud,yy:ud},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.defineLocale("tzm-latn",{months:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".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:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minu\u1e0d",mm:"%d minu\u1e0d",h:"sa\u025ba",hh:"%d tassa\u025bin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}}),l.defineLocale("tzm",{months:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),monthsShort:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),weekdays:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysShort:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysMin:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".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:"[\u2d30\u2d59\u2d37\u2d45 \u2d34] LT",nextDay:"[\u2d30\u2d59\u2d3d\u2d30 \u2d34] LT",nextWeek:"dddd [\u2d34] LT",lastDay:"[\u2d30\u2d5a\u2d30\u2d4f\u2d5c \u2d34] LT",lastWeek:"dddd [\u2d34] LT",sameElse:"L"},relativeTime:{future:"\u2d37\u2d30\u2d37\u2d45 \u2d59 \u2d62\u2d30\u2d4f %s",past:"\u2d62\u2d30\u2d4f %s",s:"\u2d49\u2d4e\u2d49\u2d3d",ss:"%d \u2d49\u2d4e\u2d49\u2d3d",m:"\u2d4e\u2d49\u2d4f\u2d53\u2d3a",mm:"%d \u2d4e\u2d49\u2d4f\u2d53\u2d3a",h:"\u2d59\u2d30\u2d44\u2d30",hh:"%d \u2d5c\u2d30\u2d59\u2d59\u2d30\u2d44\u2d49\u2d4f",d:"\u2d30\u2d59\u2d59",dd:"%d o\u2d59\u2d59\u2d30\u2d4f",M:"\u2d30\u2d62o\u2d53\u2d54",MM:"%d \u2d49\u2d62\u2d62\u2d49\u2d54\u2d4f",y:"\u2d30\u2d59\u2d33\u2d30\u2d59",yy:"%d \u2d49\u2d59\u2d33\u2d30\u2d59\u2d4f"},week:{dow:6,doy:12}}),l.defineLocale("ug-cn",{months:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),monthsShort:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),weekdays:"\u064a\u06d5\u0643\u0634\u06d5\u0646\u0628\u06d5_\u062f\u06c8\u0634\u06d5\u0646\u0628\u06d5_\u0633\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u0686\u0627\u0631\u0634\u06d5\u0646\u0628\u06d5_\u067e\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u062c\u06c8\u0645\u06d5_\u0634\u06d5\u0646\u0628\u06d5".split("_"),weekdaysShort:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),weekdaysMin:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649",LLL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm",LLLL:"dddd\u060c YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm"},meridiemParse:/\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5|\u0633\u06d5\u06be\u06d5\u0631|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646|\u0686\u06c8\u0634|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646|\u0643\u06d5\u0686/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5"===a||"\u0633\u06d5\u06be\u06d5\u0631"===a||"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646"===a?e:"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646"===a||"\u0643\u06d5\u0686"===a?e+12:11<=e?e:e+12},meridiem:function(e,a,t){var s=100*e+a;return s<600?"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5":s<900?"\u0633\u06d5\u06be\u06d5\u0631":s<1130?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646":s<1230?"\u0686\u06c8\u0634":s<1800?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646":"\u0643\u06d5\u0686"},calendar:{sameDay:"[\u0628\u06c8\u06af\u06c8\u0646 \u0633\u0627\u0626\u06d5\u062a] LT",nextDay:"[\u0626\u06d5\u062a\u06d5 \u0633\u0627\u0626\u06d5\u062a] LT",nextWeek:"[\u0643\u06d0\u0644\u06d5\u0631\u0643\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",lastDay:"[\u062a\u06c6\u0646\u06c8\u06af\u06c8\u0646] LT",lastWeek:"[\u0626\u0627\u0644\u062f\u0649\u0646\u0642\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0643\u06d0\u064a\u0649\u0646",past:"%s \u0628\u06c7\u0631\u06c7\u0646",s:"\u0646\u06d5\u0686\u0686\u06d5 \u0633\u06d0\u0643\u0648\u0646\u062a",ss:"%d \u0633\u06d0\u0643\u0648\u0646\u062a",m:"\u0628\u0649\u0631 \u0645\u0649\u0646\u06c7\u062a",mm:"%d \u0645\u0649\u0646\u06c7\u062a",h:"\u0628\u0649\u0631 \u0633\u0627\u0626\u06d5\u062a",hh:"%d \u0633\u0627\u0626\u06d5\u062a",d:"\u0628\u0649\u0631 \u0643\u06c8\u0646",dd:"%d \u0643\u06c8\u0646",M:"\u0628\u0649\u0631 \u0626\u0627\u064a",MM:"%d \u0626\u0627\u064a",y:"\u0628\u0649\u0631 \u064a\u0649\u0644",yy:"%d \u064a\u0649\u0644"},dayOfMonthOrdinalParse:/\d{1,2}(-\u0643\u06c8\u0646\u0649|-\u0626\u0627\u064a|-\u06be\u06d5\u067e\u062a\u06d5)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"-\u0643\u06c8\u0646\u0649";case"w":case"W":return e+"-\u06be\u06d5\u067e\u062a\u06d5";default:return e}},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:7}}),l.defineLocale("uk",{months:{format:"\u0441\u0456\u0447\u043d\u044f_\u043b\u044e\u0442\u043e\u0433\u043e_\u0431\u0435\u0440\u0435\u0437\u043d\u044f_\u043a\u0432\u0456\u0442\u043d\u044f_\u0442\u0440\u0430\u0432\u043d\u044f_\u0447\u0435\u0440\u0432\u043d\u044f_\u043b\u0438\u043f\u043d\u044f_\u0441\u0435\u0440\u043f\u043d\u044f_\u0432\u0435\u0440\u0435\u0441\u043d\u044f_\u0436\u043e\u0432\u0442\u043d\u044f_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u0430_\u0433\u0440\u0443\u0434\u043d\u044f".split("_"),standalone:"\u0441\u0456\u0447\u0435\u043d\u044c_\u043b\u044e\u0442\u0438\u0439_\u0431\u0435\u0440\u0435\u0437\u0435\u043d\u044c_\u043a\u0432\u0456\u0442\u0435\u043d\u044c_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u0435\u0440\u0432\u0435\u043d\u044c_\u043b\u0438\u043f\u0435\u043d\u044c_\u0441\u0435\u0440\u043f\u0435\u043d\u044c_\u0432\u0435\u0440\u0435\u0441\u0435\u043d\u044c_\u0436\u043e\u0432\u0442\u0435\u043d\u044c_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434_\u0433\u0440\u0443\u0434\u0435\u043d\u044c".split("_")},monthsShort:"\u0441\u0456\u0447_\u043b\u044e\u0442_\u0431\u0435\u0440_\u043a\u0432\u0456\u0442_\u0442\u0440\u0430\u0432_\u0447\u0435\u0440\u0432_\u043b\u0438\u043f_\u0441\u0435\u0440\u043f_\u0432\u0435\u0440_\u0436\u043e\u0432\u0442_\u043b\u0438\u0441\u0442_\u0433\u0440\u0443\u0434".split("_"),weekdays:function(e,a){var t={nominative:"\u043d\u0435\u0434\u0456\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044f_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),accusative:"\u043d\u0435\u0434\u0456\u043b\u044e_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044e_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),genitive:"\u043d\u0435\u0434\u0456\u043b\u0456_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043a\u0430_\u0432\u0456\u0432\u0442\u043e\u0440\u043a\u0430_\u0441\u0435\u0440\u0435\u0434\u0438_\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u0456_\u0441\u0443\u0431\u043e\u0442\u0438".split("_")};return!0===e?t.nominative.slice(1,7).concat(t.nominative.slice(0,1)):e?t[/(\[[\u0412\u0432\u0423\u0443]\]) ?dddd/.test(a)?"accusative":/\[?(?:\u043c\u0438\u043d\u0443\u043b\u043e\u0457|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u043e\u0457)? ?\] ?dddd/.test(a)?"genitive":"nominative"][e.day()]:t.nominative},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0440.",LLL:"D MMMM YYYY \u0440., HH:mm",LLLL:"dddd, D MMMM YYYY \u0440., HH:mm"},calendar:{sameDay:Md("[\u0421\u044c\u043e\u0433\u043e\u0434\u043d\u0456 "),nextDay:Md("[\u0417\u0430\u0432\u0442\u0440\u0430 "),lastDay:Md("[\u0412\u0447\u043e\u0440\u0430 "),nextWeek:Md("[\u0423] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return Md("[\u041c\u0438\u043d\u0443\u043b\u043e\u0457] dddd [").call(this);case 1:case 2:case 4:return Md("[\u041c\u0438\u043d\u0443\u043b\u043e\u0433\u043e] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"%s \u0442\u043e\u043c\u0443",s:"\u0434\u0435\u043a\u0456\u043b\u044c\u043a\u0430 \u0441\u0435\u043a\u0443\u043d\u0434",ss:ld,m:ld,mm:ld,h:"\u0433\u043e\u0434\u0438\u043d\u0443",hh:ld,d:"\u0434\u0435\u043d\u044c",dd:ld,M:"\u043c\u0456\u0441\u044f\u0446\u044c",MM:ld,y:"\u0440\u0456\u043a",yy:ld},meridiemParse:/\u043d\u043e\u0447\u0456|\u0440\u0430\u043d\u043a\u0443|\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430/,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430)$/.test(e)},meridiem:function(e,a,t){return e<4?"\u043d\u043e\u0447\u0456":e<12?"\u0440\u0430\u043d\u043a\u0443":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u043e\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":case"w":case"W":return e+"-\u0439";case"D":return e+"-\u0433\u043e";default:return e}},week:{dow:1,doy:7}});var hd=["\u062c\u0646\u0648\u0631\u06cc","\u0641\u0631\u0648\u0631\u06cc","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u06cc\u0644","\u0645\u0626\u06cc","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0626\u06cc","\u0627\u06af\u0633\u062a","\u0633\u062a\u0645\u0628\u0631","\u0627\u06a9\u062a\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u062f\u0633\u0645\u0628\u0631"],Ld=["\u0627\u062a\u0648\u0627\u0631","\u067e\u06cc\u0631","\u0645\u0646\u06af\u0644","\u0628\u062f\u06be","\u062c\u0645\u0639\u0631\u0627\u062a","\u062c\u0645\u0639\u06c1","\u06c1\u0641\u062a\u06c1"];return l.defineLocale("ur",{months:hd,monthsShort:hd,weekdays:Ld,weekdaysShort:Ld,weekdaysMin:Ld,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(e){return"\u0634\u0627\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0622\u062c \u0628\u0648\u0642\u062a] LT",nextDay:"[\u06a9\u0644 \u0628\u0648\u0642\u062a] LT",nextWeek:"dddd [\u0628\u0648\u0642\u062a] LT",lastDay:"[\u06af\u0630\u0634\u062a\u06c1 \u0631\u0648\u0632 \u0628\u0648\u0642\u062a] LT",lastWeek:"[\u06af\u0630\u0634\u062a\u06c1] dddd [\u0628\u0648\u0642\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0628\u0639\u062f",past:"%s \u0642\u0628\u0644",s:"\u0686\u0646\u062f \u0633\u06cc\u06a9\u0646\u0688",ss:"%d \u0633\u06cc\u06a9\u0646\u0688",m:"\u0627\u06cc\u06a9 \u0645\u0646\u0679",mm:"%d \u0645\u0646\u0679",h:"\u0627\u06cc\u06a9 \u06af\u06be\u0646\u0679\u06c1",hh:"%d \u06af\u06be\u0646\u0679\u06d2",d:"\u0627\u06cc\u06a9 \u062f\u0646",dd:"%d \u062f\u0646",M:"\u0627\u06cc\u06a9 \u0645\u0627\u06c1",MM:"%d \u0645\u0627\u06c1",y:"\u0627\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:4}}),l.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}}),l.defineLocale("uz",{months:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u042f\u043a\u0448\u0430\u043d\u0431\u0430_\u0414\u0443\u0448\u0430\u043d\u0431\u0430_\u0421\u0435\u0448\u0430\u043d\u0431\u0430_\u0427\u043e\u0440\u0448\u0430\u043d\u0431\u0430_\u041f\u0430\u0439\u0448\u0430\u043d\u0431\u0430_\u0416\u0443\u043c\u0430_\u0428\u0430\u043d\u0431\u0430".split("_"),weekdaysShort:"\u042f\u043a\u0448_\u0414\u0443\u0448_\u0421\u0435\u0448_\u0427\u043e\u0440_\u041f\u0430\u0439_\u0416\u0443\u043c_\u0428\u0430\u043d".split("_"),weekdaysMin:"\u042f\u043a_\u0414\u0443_\u0421\u0435_\u0427\u043e_\u041f\u0430_\u0416\u0443_\u0428\u0430".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:"[\u0411\u0443\u0433\u0443\u043d \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",nextDay:"[\u042d\u0440\u0442\u0430\u0433\u0430] LT [\u0434\u0430]",nextWeek:"dddd [\u043a\u0443\u043d\u0438 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",lastDay:"[\u041a\u0435\u0447\u0430 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",lastWeek:"[\u0423\u0442\u0433\u0430\u043d] dddd [\u043a\u0443\u043d\u0438 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",sameElse:"L"},relativeTime:{future:"\u042f\u043a\u0438\u043d %s \u0438\u0447\u0438\u0434\u0430",past:"\u0411\u0438\u0440 \u043d\u0435\u0447\u0430 %s \u043e\u043b\u0434\u0438\u043d",s:"\u0444\u0443\u0440\u0441\u0430\u0442",ss:"%d \u0444\u0443\u0440\u0441\u0430\u0442",m:"\u0431\u0438\u0440 \u0434\u0430\u043a\u0438\u043a\u0430",mm:"%d \u0434\u0430\u043a\u0438\u043a\u0430",h:"\u0431\u0438\u0440 \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u0431\u0438\u0440 \u043e\u0439",MM:"%d \u043e\u0439",y:"\u0431\u0438\u0440 \u0439\u0438\u043b",yy:"%d \u0439\u0438\u043b"},week:{dow:1,doy:7}}),l.defineLocale("vi",{months:"th\xe1ng 1_th\xe1ng 2_th\xe1ng 3_th\xe1ng 4_th\xe1ng 5_th\xe1ng 6_th\xe1ng 7_th\xe1ng 8_th\xe1ng 9_th\xe1ng 10_th\xe1ng 11_th\xe1ng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"ch\u1ee7 nh\u1eadt_th\u1ee9 hai_th\u1ee9 ba_th\u1ee9 t\u01b0_th\u1ee9 n\u0103m_th\u1ee9 s\xe1u_th\u1ee9 b\u1ea3y".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,a,t){return e<12?t?"sa":"SA":t?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [n\u0103m] YYYY",LLL:"D MMMM [n\u0103m] YYYY HH:mm",LLLL:"dddd, D MMMM [n\u0103m] 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\xf4m nay l\xfac] LT",nextDay:"[Ng\xe0y mai l\xfac] LT",nextWeek:"dddd [tu\u1ea7n t\u1edbi l\xfac] LT",lastDay:"[H\xf4m qua l\xfac] LT",lastWeek:"dddd [tu\u1ea7n r\u1ed3i l\xfac] LT",sameElse:"L"},relativeTime:{future:"%s t\u1edbi",past:"%s tr\u01b0\u1edbc",s:"v\xe0i gi\xe2y",ss:"%d gi\xe2y",m:"m\u1ed9t ph\xfat",mm:"%d ph\xfat",h:"m\u1ed9t gi\u1edd",hh:"%d gi\u1edd",d:"m\u1ed9t ng\xe0y",dd:"%d ng\xe0y",M:"m\u1ed9t th\xe1ng",MM:"%d th\xe1ng",y:"m\u1ed9t n\u0103m",yy:"%d n\u0103m"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),l.defineLocale("x-pseudo",{months:"J~\xe1\xf1\xfa\xe1~r\xfd_F~\xe9br\xfa~\xe1r\xfd_~M\xe1rc~h_\xc1p~r\xedl_~M\xe1\xfd_~J\xfa\xf1\xe9~_J\xfal~\xfd_\xc1\xfa~g\xfast~_S\xe9p~t\xe9mb~\xe9r_\xd3~ct\xf3b~\xe9r_\xd1~\xf3v\xe9m~b\xe9r_~D\xe9c\xe9~mb\xe9r".split("_"),monthsShort:"J~\xe1\xf1_~F\xe9b_~M\xe1r_~\xc1pr_~M\xe1\xfd_~J\xfa\xf1_~J\xfal_~\xc1\xfag_~S\xe9p_~\xd3ct_~\xd1\xf3v_~D\xe9c".split("_"),monthsParseExact:!0,weekdays:"S~\xfa\xf1d\xe1~\xfd_M\xf3~\xf1d\xe1\xfd~_T\xfa\xe9~sd\xe1\xfd~_W\xe9d~\xf1\xe9sd~\xe1\xfd_T~h\xfars~d\xe1\xfd_~Fr\xedd~\xe1\xfd_S~\xe1t\xfar~d\xe1\xfd".split("_"),weekdaysShort:"S~\xfa\xf1_~M\xf3\xf1_~T\xfa\xe9_~W\xe9d_~Th\xfa_~Fr\xed_~S\xe1t".split("_"),weekdaysMin:"S~\xfa_M\xf3~_T\xfa_~W\xe9_T~h_Fr~_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~\xf3d\xe1~\xfd \xe1t] LT",nextDay:"[T~\xf3m\xf3~rr\xf3~w \xe1t] LT",nextWeek:"dddd [\xe1t] LT",lastDay:"[\xdd~\xe9st~\xe9rd\xe1~\xfd \xe1t] LT",lastWeek:"[L~\xe1st] dddd [\xe1t] LT",sameElse:"L"},relativeTime:{future:"\xed~\xf1 %s",past:"%s \xe1~g\xf3",s:"\xe1 ~f\xe9w ~s\xe9c\xf3~\xf1ds",ss:"%d s~\xe9c\xf3\xf1~ds",m:"\xe1 ~m\xed\xf1~\xfat\xe9",mm:"%d m~\xed\xf1\xfa~t\xe9s",h:"\xe1~\xf1 h\xf3~\xfar",hh:"%d h~\xf3\xfars",d:"\xe1 ~d\xe1\xfd",dd:"%d d~\xe1\xfds",M:"\xe1 ~m\xf3\xf1~th",MM:"%d m~\xf3\xf1t~hs",y:"\xe1 ~\xfd\xe9\xe1r",yy:"%d \xfd~\xe9\xe1rs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}}),l.defineLocale("yo",{months:"S\u1eb9\u0301r\u1eb9\u0301_E\u0300re\u0300le\u0300_\u1eb8r\u1eb9\u0300na\u0300_I\u0300gbe\u0301_E\u0300bibi_O\u0300ku\u0300du_Ag\u1eb9mo_O\u0300gu\u0301n_Owewe_\u1ecc\u0300wa\u0300ra\u0300_Be\u0301lu\u0301_\u1ecc\u0300p\u1eb9\u0300\u0300".split("_"),monthsShort:"S\u1eb9\u0301r_E\u0300rl_\u1eb8rn_I\u0300gb_E\u0300bi_O\u0300ku\u0300_Ag\u1eb9_O\u0300gu\u0301_Owe_\u1ecc\u0300wa\u0300_Be\u0301l_\u1ecc\u0300p\u1eb9\u0300\u0300".split("_"),weekdays:"A\u0300i\u0300ku\u0301_Aje\u0301_I\u0300s\u1eb9\u0301gun_\u1eccj\u1ecd\u0301ru\u0301_\u1eccj\u1ecd\u0301b\u1ecd_\u1eb8ti\u0300_A\u0300ba\u0301m\u1eb9\u0301ta".split("_"),weekdaysShort:"A\u0300i\u0300k_Aje\u0301_I\u0300s\u1eb9\u0301_\u1eccjr_\u1eccjb_\u1eb8ti\u0300_A\u0300ba\u0301".split("_"),weekdaysMin:"A\u0300i\u0300_Aj_I\u0300s_\u1eccr_\u1eccb_\u1eb8t_A\u0300b".split("_"),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:"[O\u0300ni\u0300 ni] LT",nextDay:"[\u1ecc\u0300la ni] LT",nextWeek:"dddd [\u1eccs\u1eb9\u0300 to\u0301n'b\u1ecd] [ni] LT",lastDay:"[A\u0300na ni] LT",lastWeek:"dddd [\u1eccs\u1eb9\u0300 to\u0301l\u1ecd\u0301] [ni] LT",sameElse:"L"},relativeTime:{future:"ni\u0301 %s",past:"%s k\u1ecdja\u0301",s:"i\u0300s\u1eb9ju\u0301 aaya\u0301 die",ss:"aaya\u0301 %d",m:"i\u0300s\u1eb9ju\u0301 kan",mm:"i\u0300s\u1eb9ju\u0301 %d",h:"wa\u0301kati kan",hh:"wa\u0301kati %d",d:"\u1ecdj\u1ecd\u0301 kan",dd:"\u1ecdj\u1ecd\u0301 %d",M:"osu\u0300 kan",MM:"osu\u0300 %d",y:"\u1ecddu\u0301n kan",yy:"\u1ecddu\u0301n %d"},dayOfMonthOrdinalParse:/\u1ecdj\u1ecd\u0301\s\d{1,2}/,ordinal:"\u1ecdj\u1ecd\u0301 %d",week:{dow:1,doy:4}}),l.defineLocale("zh-cn",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u5468\u65e5_\u5468\u4e00_\u5468\u4e8c_\u5468\u4e09_\u5468\u56db_\u5468\u4e94_\u5468\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5Ah\u70b9mm\u5206",LLLL:"YYYY\u5e74M\u6708D\u65e5ddddAh\u70b9mm\u5206",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:11<=e?e:e+12},meridiem:function(e,a,t){var s=100*e+a;return s<600?"\u51cc\u6668":s<900?"\u65e9\u4e0a":s<1130?"\u4e0a\u5348":s<1230?"\u4e2d\u5348":s<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u5468)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u5468";default:return e}},relativeTime:{future:"%s\u5185",past:"%s\u524d",s:"\u51e0\u79d2",ss:"%d \u79d2",m:"1 \u5206\u949f",mm:"%d \u5206\u949f",h:"1 \u5c0f\u65f6",hh:"%d \u5c0f\u65f6",d:"1 \u5929",dd:"%d \u5929",M:"1 \u4e2a\u6708",MM:"%d \u4e2a\u6708",y:"1 \u5e74",yy:"%d \u5e74"},week:{dow:1,doy:4}}),l.defineLocale("zh-hk",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,t){var s=100*e+a;return s<600?"\u51cc\u6668":s<900?"\u65e9\u4e0a":s<1130?"\u4e0a\u5348":s<1230?"\u4e2d\u5348":s<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5167",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),l.defineLocale("zh-tw",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,t){var s=100*e+a;return s<600?"\u51cc\u6668":s<900?"\u65e9\u4e0a":s<1130?"\u4e0a\u5348":s<1230?"\u4e2d\u5348":s<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929] LT",nextDay:"[\u660e\u5929] LT",nextWeek:"[\u4e0b]dddd LT",lastDay:"[\u6628\u5929] LT",lastWeek:"[\u4e0a]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5167",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),l.locale("en"),l}); \ No newline at end of file diff --git a/public/bower_components/moment/min/moment.min.js b/public/bower_components/moment/min/moment.min.js new file mode 100644 index 0000000..5787a40 --- /dev/null +++ b/public/bower_components/moment/min/moment.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.moment=t()}(this,function(){"use strict";var e,i;function c(){return e.apply(null,arguments)}function o(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function u(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function l(e){return void 0===e}function h(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function d(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function f(e,t){var n,s=[];for(n=0;n<e.length;++n)s.push(t(e[n],n));return s}function m(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function _(e,t){for(var n in t)m(t,n)&&(e[n]=t[n]);return m(t,"toString")&&(e.toString=t.toString),m(t,"valueOf")&&(e.valueOf=t.valueOf),e}function y(e,t,n,s){return Tt(e,t,n,s,!0).utc()}function g(e){return null==e._pf&&(e._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),e._pf}function v(e){if(null==e._isValid){var t=g(e),n=i.call(t.parsedDateParts,function(e){return null!=e}),s=!isNaN(e._d.getTime())&&t.overflow<0&&!t.empty&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&n);if(e._strict&&(s=s&&0===t.charsLeftOver&&0===t.unusedTokens.length&&void 0===t.bigHour),null!=Object.isFrozen&&Object.isFrozen(e))return s;e._isValid=s}return e._isValid}function p(e){var t=y(NaN);return null!=e?_(g(t),e):g(t).userInvalidated=!0,t}i=Array.prototype.some?Array.prototype.some:function(e){for(var t=Object(this),n=t.length>>>0,s=0;s<n;s++)if(s in t&&e.call(this,t[s],s,t))return!0;return!1};var r=c.momentProperties=[];function w(e,t){var n,s,i;if(l(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),l(t._i)||(e._i=t._i),l(t._f)||(e._f=t._f),l(t._l)||(e._l=t._l),l(t._strict)||(e._strict=t._strict),l(t._tzm)||(e._tzm=t._tzm),l(t._isUTC)||(e._isUTC=t._isUTC),l(t._offset)||(e._offset=t._offset),l(t._pf)||(e._pf=g(t)),l(t._locale)||(e._locale=t._locale),0<r.length)for(n=0;n<r.length;n++)l(i=t[s=r[n]])||(e[s]=i);return e}var t=!1;function M(e){w(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===t&&(t=!0,c.updateOffset(this),t=!1)}function k(e){return e instanceof M||null!=e&&null!=e._isAMomentObject}function S(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function D(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=S(t)),n}function a(e,t,n){var s,i=Math.min(e.length,t.length),r=Math.abs(e.length-t.length),a=0;for(s=0;s<i;s++)(n&&e[s]!==t[s]||!n&&D(e[s])!==D(t[s]))&&a++;return a+r}function Y(e){!1===c.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function n(i,r){var a=!0;return _(function(){if(null!=c.deprecationHandler&&c.deprecationHandler(null,i),a){for(var e,t=[],n=0;n<arguments.length;n++){if(e="","object"==typeof arguments[n]){for(var s in e+="\n["+n+"] ",arguments[0])e+=s+": "+arguments[0][s]+", ";e=e.slice(0,-2)}else e=arguments[n];t.push(e)}Y(i+"\nArguments: "+Array.prototype.slice.call(t).join("")+"\n"+(new Error).stack),a=!1}return r.apply(this,arguments)},r)}var s,O={};function T(e,t){null!=c.deprecationHandler&&c.deprecationHandler(e,t),O[e]||(Y(t),O[e]=!0)}function b(e){return e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function x(e,t){var n,s=_({},e);for(n in t)m(t,n)&&(u(e[n])&&u(t[n])?(s[n]={},_(s[n],e[n]),_(s[n],t[n])):null!=t[n]?s[n]=t[n]:delete s[n]);for(n in e)m(e,n)&&!m(t,n)&&u(e[n])&&(s[n]=_({},s[n]));return s}function P(e){null!=e&&this.set(e)}c.suppressDeprecationWarnings=!1,c.deprecationHandler=null,s=Object.keys?Object.keys:function(e){var t,n=[];for(t in e)m(e,t)&&n.push(t);return n};var W={};function C(e,t){var n=e.toLowerCase();W[n]=W[n+"s"]=W[t]=e}function H(e){return"string"==typeof e?W[e]||W[e.toLowerCase()]:void 0}function R(e){var t,n,s={};for(n in e)m(e,n)&&(t=H(n))&&(s[t]=e[n]);return s}var U={};function F(e,t){U[e]=t}function L(e,t,n){var s=""+Math.abs(e),i=t-s.length;return(0<=e?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+s}var N=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,G=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,V={},E={};function I(e,t,n,s){var i=s;"string"==typeof s&&(i=function(){return this[s]()}),e&&(E[e]=i),t&&(E[t[0]]=function(){return L(i.apply(this,arguments),t[1],t[2])}),n&&(E[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function A(e,t){return e.isValid()?(t=j(t,e.localeData()),V[t]=V[t]||function(s){var e,i,t,r=s.match(N);for(e=0,i=r.length;e<i;e++)E[r[e]]?r[e]=E[r[e]]:r[e]=(t=r[e]).match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"");return function(e){var t,n="";for(t=0;t<i;t++)n+=b(r[t])?r[t].call(e,s):r[t];return n}}(t),V[t](e)):e.localeData().invalidDate()}function j(e,t){var n=5;function s(e){return t.longDateFormat(e)||e}for(G.lastIndex=0;0<=n&&G.test(e);)e=e.replace(G,s),G.lastIndex=0,n-=1;return e}var Z=/\d/,z=/\d\d/,$=/\d{3}/,q=/\d{4}/,J=/[+-]?\d{6}/,B=/\d\d?/,Q=/\d\d\d\d?/,X=/\d\d\d\d\d\d?/,K=/\d{1,3}/,ee=/\d{1,4}/,te=/[+-]?\d{1,6}/,ne=/\d+/,se=/[+-]?\d+/,ie=/Z|[+-]\d\d:?\d\d/gi,re=/Z|[+-]\d\d(?::?\d\d)?/gi,ae=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,oe={};function ue(e,n,s){oe[e]=b(n)?n:function(e,t){return e&&s?s:n}}function le(e,t){return m(oe,e)?oe[e](t._strict,t._locale):new RegExp(he(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,s,i){return t||n||s||i})))}function he(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var de={};function ce(e,n){var t,s=n;for("string"==typeof e&&(e=[e]),h(n)&&(s=function(e,t){t[n]=D(e)}),t=0;t<e.length;t++)de[e[t]]=s}function fe(e,i){ce(e,function(e,t,n,s){n._w=n._w||{},i(e,n._w,n,s)})}var me=0,_e=1,ye=2,ge=3,ve=4,pe=5,we=6,Me=7,ke=8;function Se(e){return De(e)?366:365}function De(e){return e%4==0&&e%100!=0||e%400==0}I("Y",0,0,function(){var e=this.year();return e<=9999?""+e:"+"+e}),I(0,["YY",2],0,function(){return this.year()%100}),I(0,["YYYY",4],0,"year"),I(0,["YYYYY",5],0,"year"),I(0,["YYYYYY",6,!0],0,"year"),C("year","y"),F("year",1),ue("Y",se),ue("YY",B,z),ue("YYYY",ee,q),ue("YYYYY",te,J),ue("YYYYYY",te,J),ce(["YYYYY","YYYYYY"],me),ce("YYYY",function(e,t){t[me]=2===e.length?c.parseTwoDigitYear(e):D(e)}),ce("YY",function(e,t){t[me]=c.parseTwoDigitYear(e)}),ce("Y",function(e,t){t[me]=parseInt(e,10)}),c.parseTwoDigitYear=function(e){return D(e)+(68<D(e)?1900:2e3)};var Ye,Oe=Te("FullYear",!0);function Te(t,n){return function(e){return null!=e?(xe(this,t,e),c.updateOffset(this,n),this):be(this,t)}}function be(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function xe(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&De(e.year())&&1===e.month()&&29===e.date()?e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),Pe(n,e.month())):e._d["set"+(e._isUTC?"UTC":"")+t](n))}function Pe(e,t){if(isNaN(e)||isNaN(t))return NaN;var n,s=(t%(n=12)+n)%n;return e+=(t-s)/12,1===s?De(e)?29:28:31-s%7%2}Ye=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t<this.length;++t)if(this[t]===e)return t;return-1},I("M",["MM",2],"Mo",function(){return this.month()+1}),I("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),I("MMMM",0,0,function(e){return this.localeData().months(this,e)}),C("month","M"),F("month",8),ue("M",B),ue("MM",B,z),ue("MMM",function(e,t){return t.monthsShortRegex(e)}),ue("MMMM",function(e,t){return t.monthsRegex(e)}),ce(["M","MM"],function(e,t){t[_e]=D(e)-1}),ce(["MMM","MMMM"],function(e,t,n,s){var i=n._locale.monthsParse(e,s,n._strict);null!=i?t[_e]=i:g(n).invalidMonth=e});var We=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Ce="January_February_March_April_May_June_July_August_September_October_November_December".split("_");var He="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_");function Re(e,t){var n;if(!e.isValid())return e;if("string"==typeof t)if(/^\d+$/.test(t))t=D(t);else if(!h(t=e.localeData().monthsParse(t)))return e;return n=Math.min(e.date(),Pe(e.year(),t)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](t,n),e}function Ue(e){return null!=e?(Re(this,e),c.updateOffset(this,!0),this):be(this,"Month")}var Fe=ae;var Le=ae;function Ne(){function e(e,t){return t.length-e.length}var t,n,s=[],i=[],r=[];for(t=0;t<12;t++)n=y([2e3,t]),s.push(this.monthsShort(n,"")),i.push(this.months(n,"")),r.push(this.months(n,"")),r.push(this.monthsShort(n,""));for(s.sort(e),i.sort(e),r.sort(e),t=0;t<12;t++)s[t]=he(s[t]),i[t]=he(i[t]);for(t=0;t<24;t++)r[t]=he(r[t]);this._monthsRegex=new RegExp("^("+r.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+s.join("|")+")","i")}function Ge(e){var t;if(e<100&&0<=e){var n=Array.prototype.slice.call(arguments);n[0]=e+400,t=new Date(Date.UTC.apply(null,n)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)}else t=new Date(Date.UTC.apply(null,arguments));return t}function Ve(e,t,n){var s=7+t-n;return-((7+Ge(e,0,s).getUTCDay()-t)%7)+s-1}function Ee(e,t,n,s,i){var r,a,o=1+7*(t-1)+(7+n-s)%7+Ve(e,s,i);return a=o<=0?Se(r=e-1)+o:o>Se(e)?(r=e+1,o-Se(e)):(r=e,o),{year:r,dayOfYear:a}}function Ie(e,t,n){var s,i,r=Ve(e.year(),t,n),a=Math.floor((e.dayOfYear()-r-1)/7)+1;return a<1?s=a+Ae(i=e.year()-1,t,n):a>Ae(e.year(),t,n)?(s=a-Ae(e.year(),t,n),i=e.year()+1):(i=e.year(),s=a),{week:s,year:i}}function Ae(e,t,n){var s=Ve(e,t,n),i=Ve(e+1,t,n);return(Se(e)-s+i)/7}I("w",["ww",2],"wo","week"),I("W",["WW",2],"Wo","isoWeek"),C("week","w"),C("isoWeek","W"),F("week",5),F("isoWeek",5),ue("w",B),ue("ww",B,z),ue("W",B),ue("WW",B,z),fe(["w","ww","W","WW"],function(e,t,n,s){t[s.substr(0,1)]=D(e)});function je(e,t){return e.slice(t,7).concat(e.slice(0,t))}I("d",0,"do","day"),I("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),I("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),I("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),I("e",0,0,"weekday"),I("E",0,0,"isoWeekday"),C("day","d"),C("weekday","e"),C("isoWeekday","E"),F("day",11),F("weekday",11),F("isoWeekday",11),ue("d",B),ue("e",B),ue("E",B),ue("dd",function(e,t){return t.weekdaysMinRegex(e)}),ue("ddd",function(e,t){return t.weekdaysShortRegex(e)}),ue("dddd",function(e,t){return t.weekdaysRegex(e)}),fe(["dd","ddd","dddd"],function(e,t,n,s){var i=n._locale.weekdaysParse(e,s,n._strict);null!=i?t.d=i:g(n).invalidWeekday=e}),fe(["d","e","E"],function(e,t,n,s){t[s]=D(e)});var Ze="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_");var ze="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_");var $e="Su_Mo_Tu_We_Th_Fr_Sa".split("_");var qe=ae;var Je=ae;var Be=ae;function Qe(){function e(e,t){return t.length-e.length}var t,n,s,i,r,a=[],o=[],u=[],l=[];for(t=0;t<7;t++)n=y([2e3,1]).day(t),s=this.weekdaysMin(n,""),i=this.weekdaysShort(n,""),r=this.weekdays(n,""),a.push(s),o.push(i),u.push(r),l.push(s),l.push(i),l.push(r);for(a.sort(e),o.sort(e),u.sort(e),l.sort(e),t=0;t<7;t++)o[t]=he(o[t]),u[t]=he(u[t]),l[t]=he(l[t]);this._weekdaysRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+a.join("|")+")","i")}function Xe(){return this.hours()%12||12}function Ke(e,t){I(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function et(e,t){return t._meridiemParse}I("H",["HH",2],0,"hour"),I("h",["hh",2],0,Xe),I("k",["kk",2],0,function(){return this.hours()||24}),I("hmm",0,0,function(){return""+Xe.apply(this)+L(this.minutes(),2)}),I("hmmss",0,0,function(){return""+Xe.apply(this)+L(this.minutes(),2)+L(this.seconds(),2)}),I("Hmm",0,0,function(){return""+this.hours()+L(this.minutes(),2)}),I("Hmmss",0,0,function(){return""+this.hours()+L(this.minutes(),2)+L(this.seconds(),2)}),Ke("a",!0),Ke("A",!1),C("hour","h"),F("hour",13),ue("a",et),ue("A",et),ue("H",B),ue("h",B),ue("k",B),ue("HH",B,z),ue("hh",B,z),ue("kk",B,z),ue("hmm",Q),ue("hmmss",X),ue("Hmm",Q),ue("Hmmss",X),ce(["H","HH"],ge),ce(["k","kk"],function(e,t,n){var s=D(e);t[ge]=24===s?0:s}),ce(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),ce(["h","hh"],function(e,t,n){t[ge]=D(e),g(n).bigHour=!0}),ce("hmm",function(e,t,n){var s=e.length-2;t[ge]=D(e.substr(0,s)),t[ve]=D(e.substr(s)),g(n).bigHour=!0}),ce("hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[ge]=D(e.substr(0,s)),t[ve]=D(e.substr(s,2)),t[pe]=D(e.substr(i)),g(n).bigHour=!0}),ce("Hmm",function(e,t,n){var s=e.length-2;t[ge]=D(e.substr(0,s)),t[ve]=D(e.substr(s))}),ce("Hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[ge]=D(e.substr(0,s)),t[ve]=D(e.substr(s,2)),t[pe]=D(e.substr(i))});var tt,nt=Te("Hours",!0),st={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Ce,monthsShort:He,week:{dow:0,doy:6},weekdays:Ze,weekdaysMin:$e,weekdaysShort:ze,meridiemParse:/[ap]\.?m?\.?/i},it={},rt={};function at(e){return e?e.toLowerCase().replace("_","-"):e}function ot(e){var t=null;if(!it[e]&&"undefined"!=typeof module&&module&&module.exports)try{t=tt._abbr,require("./locale/"+e),ut(t)}catch(e){}return it[e]}function ut(e,t){var n;return e&&((n=l(t)?ht(e):lt(e,t))?tt=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),tt._abbr}function lt(e,t){if(null===t)return delete it[e],null;var n,s=st;if(t.abbr=e,null!=it[e])T("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),s=it[e]._config;else if(null!=t.parentLocale)if(null!=it[t.parentLocale])s=it[t.parentLocale]._config;else{if(null==(n=ot(t.parentLocale)))return rt[t.parentLocale]||(rt[t.parentLocale]=[]),rt[t.parentLocale].push({name:e,config:t}),null;s=n._config}return it[e]=new P(x(s,t)),rt[e]&&rt[e].forEach(function(e){lt(e.name,e.config)}),ut(e),it[e]}function ht(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return tt;if(!o(e)){if(t=ot(e))return t;e=[e]}return function(e){for(var t,n,s,i,r=0;r<e.length;){for(t=(i=at(e[r]).split("-")).length,n=(n=at(e[r+1]))?n.split("-"):null;0<t;){if(s=ot(i.slice(0,t).join("-")))return s;if(n&&n.length>=t&&a(i,n,!0)>=t-1)break;t--}r++}return tt}(e)}function dt(e){var t,n=e._a;return n&&-2===g(e).overflow&&(t=n[_e]<0||11<n[_e]?_e:n[ye]<1||n[ye]>Pe(n[me],n[_e])?ye:n[ge]<0||24<n[ge]||24===n[ge]&&(0!==n[ve]||0!==n[pe]||0!==n[we])?ge:n[ve]<0||59<n[ve]?ve:n[pe]<0||59<n[pe]?pe:n[we]<0||999<n[we]?we:-1,g(e)._overflowDayOfYear&&(t<me||ye<t)&&(t=ye),g(e)._overflowWeeks&&-1===t&&(t=Me),g(e)._overflowWeekday&&-1===t&&(t=ke),g(e).overflow=t),e}function ct(e,t,n){return null!=e?e:null!=t?t:n}function ft(e){var t,n,s,i,r,a=[];if(!e._d){var o,u;for(o=e,u=new Date(c.now()),s=o._useUTC?[u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate()]:[u.getFullYear(),u.getMonth(),u.getDate()],e._w&&null==e._a[ye]&&null==e._a[_e]&&function(e){var t,n,s,i,r,a,o,u;if(null!=(t=e._w).GG||null!=t.W||null!=t.E)r=1,a=4,n=ct(t.GG,e._a[me],Ie(bt(),1,4).year),s=ct(t.W,1),((i=ct(t.E,1))<1||7<i)&&(u=!0);else{r=e._locale._week.dow,a=e._locale._week.doy;var l=Ie(bt(),r,a);n=ct(t.gg,e._a[me],l.year),s=ct(t.w,l.week),null!=t.d?((i=t.d)<0||6<i)&&(u=!0):null!=t.e?(i=t.e+r,(t.e<0||6<t.e)&&(u=!0)):i=r}s<1||s>Ae(n,r,a)?g(e)._overflowWeeks=!0:null!=u?g(e)._overflowWeekday=!0:(o=Ee(n,s,i,r,a),e._a[me]=o.year,e._dayOfYear=o.dayOfYear)}(e),null!=e._dayOfYear&&(r=ct(e._a[me],s[me]),(e._dayOfYear>Se(r)||0===e._dayOfYear)&&(g(e)._overflowDayOfYear=!0),n=Ge(r,0,e._dayOfYear),e._a[_e]=n.getUTCMonth(),e._a[ye]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=a[t]=s[t];for(;t<7;t++)e._a[t]=a[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[ge]&&0===e._a[ve]&&0===e._a[pe]&&0===e._a[we]&&(e._nextDay=!0,e._a[ge]=0),e._d=(e._useUTC?Ge:function(e,t,n,s,i,r,a){var o;return e<100&&0<=e?(o=new Date(e+400,t,n,s,i,r,a),isFinite(o.getFullYear())&&o.setFullYear(e)):o=new Date(e,t,n,s,i,r,a),o}).apply(null,a),i=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[ge]=24),e._w&&void 0!==e._w.d&&e._w.d!==i&&(g(e).weekdayMismatch=!0)}}var mt=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,_t=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,yt=/Z|[+-]\d\d(?::?\d\d)?/,gt=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],vt=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],pt=/^\/?Date\((\-?\d+)/i;function wt(e){var t,n,s,i,r,a,o=e._i,u=mt.exec(o)||_t.exec(o);if(u){for(g(e).iso=!0,t=0,n=gt.length;t<n;t++)if(gt[t][1].exec(u[1])){i=gt[t][0],s=!1!==gt[t][2];break}if(null==i)return void(e._isValid=!1);if(u[3]){for(t=0,n=vt.length;t<n;t++)if(vt[t][1].exec(u[3])){r=(u[2]||" ")+vt[t][0];break}if(null==r)return void(e._isValid=!1)}if(!s&&null!=r)return void(e._isValid=!1);if(u[4]){if(!yt.exec(u[4]))return void(e._isValid=!1);a="Z"}e._f=i+(r||"")+(a||""),Yt(e)}else e._isValid=!1}var Mt=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;function kt(e,t,n,s,i,r){var a=[function(e){var t=parseInt(e,10);{if(t<=49)return 2e3+t;if(t<=999)return 1900+t}return t}(e),He.indexOf(t),parseInt(n,10),parseInt(s,10),parseInt(i,10)];return r&&a.push(parseInt(r,10)),a}var St={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Dt(e){var t,n,s,i=Mt.exec(e._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(i){var r=kt(i[4],i[3],i[2],i[5],i[6],i[7]);if(t=i[1],n=r,s=e,t&&ze.indexOf(t)!==new Date(n[0],n[1],n[2]).getDay()&&(g(s).weekdayMismatch=!0,!(s._isValid=!1)))return;e._a=r,e._tzm=function(e,t,n){if(e)return St[e];if(t)return 0;var s=parseInt(n,10),i=s%100;return(s-i)/100*60+i}(i[8],i[9],i[10]),e._d=Ge.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),g(e).rfc2822=!0}else e._isValid=!1}function Yt(e){if(e._f!==c.ISO_8601)if(e._f!==c.RFC_2822){e._a=[],g(e).empty=!0;var t,n,s,i,r,a,o,u,l=""+e._i,h=l.length,d=0;for(s=j(e._f,e._locale).match(N)||[],t=0;t<s.length;t++)i=s[t],(n=(l.match(le(i,e))||[])[0])&&(0<(r=l.substr(0,l.indexOf(n))).length&&g(e).unusedInput.push(r),l=l.slice(l.indexOf(n)+n.length),d+=n.length),E[i]?(n?g(e).empty=!1:g(e).unusedTokens.push(i),a=i,u=e,null!=(o=n)&&m(de,a)&&de[a](o,u._a,u,a)):e._strict&&!n&&g(e).unusedTokens.push(i);g(e).charsLeftOver=h-d,0<l.length&&g(e).unusedInput.push(l),e._a[ge]<=12&&!0===g(e).bigHour&&0<e._a[ge]&&(g(e).bigHour=void 0),g(e).parsedDateParts=e._a.slice(0),g(e).meridiem=e._meridiem,e._a[ge]=function(e,t,n){var s;if(null==n)return t;return null!=e.meridiemHour?e.meridiemHour(t,n):(null!=e.isPM&&((s=e.isPM(n))&&t<12&&(t+=12),s||12!==t||(t=0)),t)}(e._locale,e._a[ge],e._meridiem),ft(e),dt(e)}else Dt(e);else wt(e)}function Ot(e){var t,n,s,i,r=e._i,a=e._f;return e._locale=e._locale||ht(e._l),null===r||void 0===a&&""===r?p({nullInput:!0}):("string"==typeof r&&(e._i=r=e._locale.preparse(r)),k(r)?new M(dt(r)):(d(r)?e._d=r:o(a)?function(e){var t,n,s,i,r;if(0===e._f.length)return g(e).invalidFormat=!0,e._d=new Date(NaN);for(i=0;i<e._f.length;i++)r=0,t=w({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._f=e._f[i],Yt(t),v(t)&&(r+=g(t).charsLeftOver,r+=10*g(t).unusedTokens.length,g(t).score=r,(null==s||r<s)&&(s=r,n=t));_(e,n||t)}(e):a?Yt(e):l(n=(t=e)._i)?t._d=new Date(c.now()):d(n)?t._d=new Date(n.valueOf()):"string"==typeof n?(s=t,null===(i=pt.exec(s._i))?(wt(s),!1===s._isValid&&(delete s._isValid,Dt(s),!1===s._isValid&&(delete s._isValid,c.createFromInputFallback(s)))):s._d=new Date(+i[1])):o(n)?(t._a=f(n.slice(0),function(e){return parseInt(e,10)}),ft(t)):u(n)?function(e){if(!e._d){var t=R(e._i);e._a=f([t.year,t.month,t.day||t.date,t.hour,t.minute,t.second,t.millisecond],function(e){return e&&parseInt(e,10)}),ft(e)}}(t):h(n)?t._d=new Date(n):c.createFromInputFallback(t),v(e)||(e._d=null),e))}function Tt(e,t,n,s,i){var r,a={};return!0!==n&&!1!==n||(s=n,n=void 0),(u(e)&&function(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var t;for(t in e)if(e.hasOwnProperty(t))return!1;return!0}(e)||o(e)&&0===e.length)&&(e=void 0),a._isAMomentObject=!0,a._useUTC=a._isUTC=i,a._l=n,a._i=e,a._f=t,a._strict=s,(r=new M(dt(Ot(a))))._nextDay&&(r.add(1,"d"),r._nextDay=void 0),r}function bt(e,t,n,s){return Tt(e,t,n,s,!1)}c.createFromInputFallback=n("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),c.ISO_8601=function(){},c.RFC_2822=function(){};var xt=n("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=bt.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:p()}),Pt=n("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=bt.apply(null,arguments);return this.isValid()&&e.isValid()?this<e?this:e:p()});function Wt(e,t){var n,s;if(1===t.length&&o(t[0])&&(t=t[0]),!t.length)return bt();for(n=t[0],s=1;s<t.length;++s)t[s].isValid()&&!t[s][e](n)||(n=t[s]);return n}var Ct=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Ht(e){var t=R(e),n=t.year||0,s=t.quarter||0,i=t.month||0,r=t.week||t.isoWeek||0,a=t.day||0,o=t.hour||0,u=t.minute||0,l=t.second||0,h=t.millisecond||0;this._isValid=function(e){for(var t in e)if(-1===Ye.call(Ct,t)||null!=e[t]&&isNaN(e[t]))return!1;for(var n=!1,s=0;s<Ct.length;++s)if(e[Ct[s]]){if(n)return!1;parseFloat(e[Ct[s]])!==D(e[Ct[s]])&&(n=!0)}return!0}(t),this._milliseconds=+h+1e3*l+6e4*u+1e3*o*60*60,this._days=+a+7*r,this._months=+i+3*s+12*n,this._data={},this._locale=ht(),this._bubble()}function Rt(e){return e instanceof Ht}function Ut(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function Ft(e,n){I(e,0,0,function(){var e=this.utcOffset(),t="+";return e<0&&(e=-e,t="-"),t+L(~~(e/60),2)+n+L(~~e%60,2)})}Ft("Z",":"),Ft("ZZ",""),ue("Z",re),ue("ZZ",re),ce(["Z","ZZ"],function(e,t,n){n._useUTC=!0,n._tzm=Nt(re,e)});var Lt=/([\+\-]|\d\d)/gi;function Nt(e,t){var n=(t||"").match(e);if(null===n)return null;var s=((n[n.length-1]||[])+"").match(Lt)||["-",0,0],i=60*s[1]+D(s[2]);return 0===i?0:"+"===s[0]?i:-i}function Gt(e,t){var n,s;return t._isUTC?(n=t.clone(),s=(k(e)||d(e)?e.valueOf():bt(e).valueOf())-n.valueOf(),n._d.setTime(n._d.valueOf()+s),c.updateOffset(n,!1),n):bt(e).local()}function Vt(e){return 15*-Math.round(e._d.getTimezoneOffset()/15)}function Et(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}c.updateOffset=function(){};var It=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,At=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function jt(e,t){var n,s,i,r=e,a=null;return Rt(e)?r={ms:e._milliseconds,d:e._days,M:e._months}:h(e)?(r={},t?r[t]=e:r.milliseconds=e):(a=It.exec(e))?(n="-"===a[1]?-1:1,r={y:0,d:D(a[ye])*n,h:D(a[ge])*n,m:D(a[ve])*n,s:D(a[pe])*n,ms:D(Ut(1e3*a[we]))*n}):(a=At.exec(e))?(n="-"===a[1]?-1:1,r={y:Zt(a[2],n),M:Zt(a[3],n),w:Zt(a[4],n),d:Zt(a[5],n),h:Zt(a[6],n),m:Zt(a[7],n),s:Zt(a[8],n)}):null==r?r={}:"object"==typeof r&&("from"in r||"to"in r)&&(i=function(e,t){var n;if(!e.isValid()||!t.isValid())return{milliseconds:0,months:0};t=Gt(t,e),e.isBefore(t)?n=zt(e,t):((n=zt(t,e)).milliseconds=-n.milliseconds,n.months=-n.months);return n}(bt(r.from),bt(r.to)),(r={}).ms=i.milliseconds,r.M=i.months),s=new Ht(r),Rt(e)&&m(e,"_locale")&&(s._locale=e._locale),s}function Zt(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function zt(e,t){var n={};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,"M"),n}function $t(s,i){return function(e,t){var n;return null===t||isNaN(+t)||(T(i,"moment()."+i+"(period, number) is deprecated. Please use moment()."+i+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),n=e,e=t,t=n),qt(this,jt(e="string"==typeof e?+e:e,t),s),this}}function qt(e,t,n,s){var i=t._milliseconds,r=Ut(t._days),a=Ut(t._months);e.isValid()&&(s=null==s||s,a&&Re(e,be(e,"Month")+a*n),r&&xe(e,"Date",be(e,"Date")+r*n),i&&e._d.setTime(e._d.valueOf()+i*n),s&&c.updateOffset(e,r||a))}jt.fn=Ht.prototype,jt.invalid=function(){return jt(NaN)};var Jt=$t(1,"add"),Bt=$t(-1,"subtract");function Qt(e,t){var n=12*(t.year()-e.year())+(t.month()-e.month()),s=e.clone().add(n,"months");return-(n+(t-s<0?(t-s)/(s-e.clone().add(n-1,"months")):(t-s)/(e.clone().add(n+1,"months")-s)))||0}function Xt(e){var t;return void 0===e?this._locale._abbr:(null!=(t=ht(e))&&(this._locale=t),this)}c.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",c.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Kt=n("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});function en(){return this._locale}var tn=126227808e5;function nn(e,t){return(e%t+t)%t}function sn(e,t,n){return e<100&&0<=e?new Date(e+400,t,n)-tn:new Date(e,t,n).valueOf()}function rn(e,t,n){return e<100&&0<=e?Date.UTC(e+400,t,n)-tn:Date.UTC(e,t,n)}function an(e,t){I(0,[e,e.length],0,t)}function on(e,t,n,s,i){var r;return null==e?Ie(this,s,i).year:((r=Ae(e,s,i))<t&&(t=r),function(e,t,n,s,i){var r=Ee(e,t,n,s,i),a=Ge(r.year,0,r.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}.call(this,e,t,n,s,i))}I(0,["gg",2],0,function(){return this.weekYear()%100}),I(0,["GG",2],0,function(){return this.isoWeekYear()%100}),an("gggg","weekYear"),an("ggggg","weekYear"),an("GGGG","isoWeekYear"),an("GGGGG","isoWeekYear"),C("weekYear","gg"),C("isoWeekYear","GG"),F("weekYear",1),F("isoWeekYear",1),ue("G",se),ue("g",se),ue("GG",B,z),ue("gg",B,z),ue("GGGG",ee,q),ue("gggg",ee,q),ue("GGGGG",te,J),ue("ggggg",te,J),fe(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,s){t[s.substr(0,2)]=D(e)}),fe(["gg","GG"],function(e,t,n,s){t[s]=c.parseTwoDigitYear(e)}),I("Q",0,"Qo","quarter"),C("quarter","Q"),F("quarter",7),ue("Q",Z),ce("Q",function(e,t){t[_e]=3*(D(e)-1)}),I("D",["DD",2],"Do","date"),C("date","D"),F("date",9),ue("D",B),ue("DD",B,z),ue("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),ce(["D","DD"],ye),ce("Do",function(e,t){t[ye]=D(e.match(B)[0])});var un=Te("Date",!0);I("DDD",["DDDD",3],"DDDo","dayOfYear"),C("dayOfYear","DDD"),F("dayOfYear",4),ue("DDD",K),ue("DDDD",$),ce(["DDD","DDDD"],function(e,t,n){n._dayOfYear=D(e)}),I("m",["mm",2],0,"minute"),C("minute","m"),F("minute",14),ue("m",B),ue("mm",B,z),ce(["m","mm"],ve);var ln=Te("Minutes",!1);I("s",["ss",2],0,"second"),C("second","s"),F("second",15),ue("s",B),ue("ss",B,z),ce(["s","ss"],pe);var hn,dn=Te("Seconds",!1);for(I("S",0,0,function(){return~~(this.millisecond()/100)}),I(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),I(0,["SSS",3],0,"millisecond"),I(0,["SSSS",4],0,function(){return 10*this.millisecond()}),I(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),I(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),I(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),I(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),I(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),C("millisecond","ms"),F("millisecond",16),ue("S",K,Z),ue("SS",K,z),ue("SSS",K,$),hn="SSSS";hn.length<=9;hn+="S")ue(hn,ne);function cn(e,t){t[we]=D(1e3*("0."+e))}for(hn="S";hn.length<=9;hn+="S")ce(hn,cn);var fn=Te("Milliseconds",!1);I("z",0,0,"zoneAbbr"),I("zz",0,0,"zoneName");var mn=M.prototype;function _n(e){return e}mn.add=Jt,mn.calendar=function(e,t){var n=e||bt(),s=Gt(n,this).startOf("day"),i=c.calendarFormat(this,s)||"sameElse",r=t&&(b(t[i])?t[i].call(this,n):t[i]);return this.format(r||this.localeData().calendar(i,this,bt(n)))},mn.clone=function(){return new M(this)},mn.diff=function(e,t,n){var s,i,r;if(!this.isValid())return NaN;if(!(s=Gt(e,this)).isValid())return NaN;switch(i=6e4*(s.utcOffset()-this.utcOffset()),t=H(t)){case"year":r=Qt(this,s)/12;break;case"month":r=Qt(this,s);break;case"quarter":r=Qt(this,s)/3;break;case"second":r=(this-s)/1e3;break;case"minute":r=(this-s)/6e4;break;case"hour":r=(this-s)/36e5;break;case"day":r=(this-s-i)/864e5;break;case"week":r=(this-s-i)/6048e5;break;default:r=this-s}return n?r:S(r)},mn.endOf=function(e){var t;if(void 0===(e=H(e))||"millisecond"===e||!this.isValid())return this;var n=this._isUTC?rn:sn;switch(e){case"year":t=n(this.year()+1,0,1)-1;break;case"quarter":t=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=n(this.year(),this.month()+1,1)-1;break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=36e5-nn(t+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":t=this._d.valueOf(),t+=6e4-nn(t,6e4)-1;break;case"second":t=this._d.valueOf(),t+=1e3-nn(t,1e3)-1;break}return this._d.setTime(t),c.updateOffset(this,!0),this},mn.format=function(e){e||(e=this.isUtc()?c.defaultFormatUtc:c.defaultFormat);var t=A(this,e);return this.localeData().postformat(t)},mn.from=function(e,t){return this.isValid()&&(k(e)&&e.isValid()||bt(e).isValid())?jt({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},mn.fromNow=function(e){return this.from(bt(),e)},mn.to=function(e,t){return this.isValid()&&(k(e)&&e.isValid()||bt(e).isValid())?jt({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},mn.toNow=function(e){return this.to(bt(),e)},mn.get=function(e){return b(this[e=H(e)])?this[e]():this},mn.invalidAt=function(){return g(this).overflow},mn.isAfter=function(e,t){var n=k(e)?e:bt(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=H(t)||"millisecond")?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(t).valueOf())},mn.isBefore=function(e,t){var n=k(e)?e:bt(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=H(t)||"millisecond")?this.valueOf()<n.valueOf():this.clone().endOf(t).valueOf()<n.valueOf())},mn.isBetween=function(e,t,n,s){var i=k(e)?e:bt(e),r=k(t)?t:bt(t);return!!(this.isValid()&&i.isValid()&&r.isValid())&&("("===(s=s||"()")[0]?this.isAfter(i,n):!this.isBefore(i,n))&&(")"===s[1]?this.isBefore(r,n):!this.isAfter(r,n))},mn.isSame=function(e,t){var n,s=k(e)?e:bt(e);return!(!this.isValid()||!s.isValid())&&("millisecond"===(t=H(t)||"millisecond")?this.valueOf()===s.valueOf():(n=s.valueOf(),this.clone().startOf(t).valueOf()<=n&&n<=this.clone().endOf(t).valueOf()))},mn.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)},mn.isSameOrBefore=function(e,t){return this.isSame(e,t)||this.isBefore(e,t)},mn.isValid=function(){return v(this)},mn.lang=Kt,mn.locale=Xt,mn.localeData=en,mn.max=Pt,mn.min=xt,mn.parsingFlags=function(){return _({},g(this))},mn.set=function(e,t){if("object"==typeof e)for(var n=function(e){var t=[];for(var n in e)t.push({unit:n,priority:U[n]});return t.sort(function(e,t){return e.priority-t.priority}),t}(e=R(e)),s=0;s<n.length;s++)this[n[s].unit](e[n[s].unit]);else if(b(this[e=H(e)]))return this[e](t);return this},mn.startOf=function(e){var t;if(void 0===(e=H(e))||"millisecond"===e||!this.isValid())return this;var n=this._isUTC?rn:sn;switch(e){case"year":t=n(this.year(),0,1);break;case"quarter":t=n(this.year(),this.month()-this.month()%3,1);break;case"month":t=n(this.year(),this.month(),1);break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":t=n(this.year(),this.month(),this.date());break;case"hour":t=this._d.valueOf(),t-=nn(t+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":t=this._d.valueOf(),t-=nn(t,6e4);break;case"second":t=this._d.valueOf(),t-=nn(t,1e3);break}return this._d.setTime(t),c.updateOffset(this,!0),this},mn.subtract=Bt,mn.toArray=function(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]},mn.toObject=function(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}},mn.toDate=function(){return new Date(this.valueOf())},mn.toISOString=function(e){if(!this.isValid())return null;var t=!0!==e,n=t?this.clone().utc():this;return n.year()<0||9999<n.year()?A(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):b(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",A(n,"Z")):A(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},mn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="";this.isLocal()||(e=0===this.utcOffset()?"moment.utc":"moment.parseZone",t="Z");var n="["+e+'("]',s=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",i=t+'[")]';return this.format(n+s+"-MM-DD[T]HH:mm:ss.SSS"+i)},mn.toJSON=function(){return this.isValid()?this.toISOString():null},mn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},mn.unix=function(){return Math.floor(this.valueOf()/1e3)},mn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},mn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},mn.year=Oe,mn.isLeapYear=function(){return De(this.year())},mn.weekYear=function(e){return on.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},mn.isoWeekYear=function(e){return on.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},mn.quarter=mn.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},mn.month=Ue,mn.daysInMonth=function(){return Pe(this.year(),this.month())},mn.week=mn.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},mn.isoWeek=mn.isoWeeks=function(e){var t=Ie(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},mn.weeksInYear=function(){var e=this.localeData()._week;return Ae(this.year(),e.dow,e.doy)},mn.isoWeeksInYear=function(){return Ae(this.year(),1,4)},mn.date=un,mn.day=mn.days=function(e){if(!this.isValid())return null!=e?this:NaN;var t,n,s=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(t=e,n=this.localeData(),e="string"!=typeof t?t:isNaN(t)?"number"==typeof(t=n.weekdaysParse(t))?t:null:parseInt(t,10),this.add(e-s,"d")):s},mn.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")},mn.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null==e)return this.day()||7;var t,n,s=(t=e,n=this.localeData(),"string"==typeof t?n.weekdaysParse(t)%7||7:isNaN(t)?null:t);return this.day(this.day()%7?s:s-7)},mn.dayOfYear=function(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},mn.hour=mn.hours=nt,mn.minute=mn.minutes=ln,mn.second=mn.seconds=dn,mn.millisecond=mn.milliseconds=fn,mn.utcOffset=function(e,t,n){var s,i=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null==e)return this._isUTC?i:Vt(this);if("string"==typeof e){if(null===(e=Nt(re,e)))return this}else Math.abs(e)<16&&!n&&(e*=60);return!this._isUTC&&t&&(s=Vt(this)),this._offset=e,this._isUTC=!0,null!=s&&this.add(s,"m"),i!==e&&(!t||this._changeInProgress?qt(this,jt(e-i,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,c.updateOffset(this,!0),this._changeInProgress=null)),this},mn.utc=function(e){return this.utcOffset(0,e)},mn.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Vt(this),"m")),this},mn.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var e=Nt(ie,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this},mn.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?bt(e).utcOffset():0,(this.utcOffset()-e)%60==0)},mn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},mn.isLocal=function(){return!!this.isValid()&&!this._isUTC},mn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},mn.isUtc=Et,mn.isUTC=Et,mn.zoneAbbr=function(){return this._isUTC?"UTC":""},mn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},mn.dates=n("dates accessor is deprecated. Use date instead.",un),mn.months=n("months accessor is deprecated. Use month instead",Ue),mn.years=n("years accessor is deprecated. Use year instead",Oe),mn.zone=n("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),mn.isDSTShifted=n("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!l(this._isDSTShifted))return this._isDSTShifted;var e={};if(w(e,this),(e=Ot(e))._a){var t=e._isUTC?y(e._a):bt(e._a);this._isDSTShifted=this.isValid()&&0<a(e._a,t.toArray())}else this._isDSTShifted=!1;return this._isDSTShifted});var yn=P.prototype;function gn(e,t,n,s){var i=ht(),r=y().set(s,t);return i[n](r,e)}function vn(e,t,n){if(h(e)&&(t=e,e=void 0),e=e||"",null!=t)return gn(e,t,n,"month");var s,i=[];for(s=0;s<12;s++)i[s]=gn(e,s,n,"month");return i}function pn(e,t,n,s){t=("boolean"==typeof e?h(t)&&(n=t,t=void 0):(t=e,e=!1,h(n=t)&&(n=t,t=void 0)),t||"");var i,r=ht(),a=e?r._week.dow:0;if(null!=n)return gn(t,(n+a)%7,s,"day");var o=[];for(i=0;i<7;i++)o[i]=gn(t,(i+a)%7,s,"day");return o}yn.calendar=function(e,t,n){var s=this._calendar[e]||this._calendar.sameElse;return b(s)?s.call(t,n):s},yn.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])},yn.invalidDate=function(){return this._invalidDate},yn.ordinal=function(e){return this._ordinal.replace("%d",e)},yn.preparse=_n,yn.postformat=_n,yn.relativeTime=function(e,t,n,s){var i=this._relativeTime[n];return b(i)?i(e,t,n,s):i.replace(/%d/i,e)},yn.pastFuture=function(e,t){var n=this._relativeTime[0<e?"future":"past"];return b(n)?n(t):n.replace(/%s/i,t)},yn.set=function(e){var t,n;for(n in e)b(t=e[n])?this[n]=t:this["_"+n]=t;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},yn.months=function(e,t){return e?o(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||We).test(t)?"format":"standalone"][e.month()]:o(this._months)?this._months:this._months.standalone},yn.monthsShort=function(e,t){return e?o(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[We.test(t)?"format":"standalone"][e.month()]:o(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},yn.monthsParse=function(e,t,n){var s,i,r;if(this._monthsParseExact)return function(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],s=0;s<12;++s)r=y([2e3,s]),this._shortMonthsParse[s]=this.monthsShort(r,"").toLocaleLowerCase(),this._longMonthsParse[s]=this.months(r,"").toLocaleLowerCase();return n?"MMM"===t?-1!==(i=Ye.call(this._shortMonthsParse,a))?i:null:-1!==(i=Ye.call(this._longMonthsParse,a))?i:null:"MMM"===t?-1!==(i=Ye.call(this._shortMonthsParse,a))?i:-1!==(i=Ye.call(this._longMonthsParse,a))?i:null:-1!==(i=Ye.call(this._longMonthsParse,a))?i:-1!==(i=Ye.call(this._shortMonthsParse,a))?i:null}.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(i=y([2e3,s]),n&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[s]||(r="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[s]=new RegExp(r.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[s].test(e))return s;if(n&&"MMM"===t&&this._shortMonthsParse[s].test(e))return s;if(!n&&this._monthsParse[s].test(e))return s}},yn.monthsRegex=function(e){return this._monthsParseExact?(m(this,"_monthsRegex")||Ne.call(this),e?this._monthsStrictRegex:this._monthsRegex):(m(this,"_monthsRegex")||(this._monthsRegex=Le),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},yn.monthsShortRegex=function(e){return this._monthsParseExact?(m(this,"_monthsRegex")||Ne.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(m(this,"_monthsShortRegex")||(this._monthsShortRegex=Fe),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},yn.week=function(e){return Ie(e,this._week.dow,this._week.doy).week},yn.firstDayOfYear=function(){return this._week.doy},yn.firstDayOfWeek=function(){return this._week.dow},yn.weekdays=function(e,t){var n=o(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?"format":"standalone"];return!0===e?je(n,this._week.dow):e?n[e.day()]:n},yn.weekdaysMin=function(e){return!0===e?je(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},yn.weekdaysShort=function(e){return!0===e?je(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},yn.weekdaysParse=function(e,t,n){var s,i,r;if(this._weekdaysParseExact)return function(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],s=0;s<7;++s)r=y([2e3,1]).day(s),this._minWeekdaysParse[s]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[s]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[s]=this.weekdays(r,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(i=Ye.call(this._weekdaysParse,a))?i:null:"ddd"===t?-1!==(i=Ye.call(this._shortWeekdaysParse,a))?i:null:-1!==(i=Ye.call(this._minWeekdaysParse,a))?i:null:"dddd"===t?-1!==(i=Ye.call(this._weekdaysParse,a))?i:-1!==(i=Ye.call(this._shortWeekdaysParse,a))?i:-1!==(i=Ye.call(this._minWeekdaysParse,a))?i:null:"ddd"===t?-1!==(i=Ye.call(this._shortWeekdaysParse,a))?i:-1!==(i=Ye.call(this._weekdaysParse,a))?i:-1!==(i=Ye.call(this._minWeekdaysParse,a))?i:null:-1!==(i=Ye.call(this._minWeekdaysParse,a))?i:-1!==(i=Ye.call(this._weekdaysParse,a))?i:-1!==(i=Ye.call(this._shortWeekdaysParse,a))?i:null}.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),s=0;s<7;s++){if(i=y([2e3,1]).day(s),n&&!this._fullWeekdaysParse[s]&&(this._fullWeekdaysParse[s]=new RegExp("^"+this.weekdays(i,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[s]=new RegExp("^"+this.weekdaysShort(i,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[s]=new RegExp("^"+this.weekdaysMin(i,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[s]||(r="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[s]=new RegExp(r.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[s].test(e))return s;if(n&&"ddd"===t&&this._shortWeekdaysParse[s].test(e))return s;if(n&&"dd"===t&&this._minWeekdaysParse[s].test(e))return s;if(!n&&this._weekdaysParse[s].test(e))return s}},yn.weekdaysRegex=function(e){return this._weekdaysParseExact?(m(this,"_weekdaysRegex")||Qe.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(m(this,"_weekdaysRegex")||(this._weekdaysRegex=qe),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},yn.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(m(this,"_weekdaysRegex")||Qe.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(m(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Je),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},yn.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(m(this,"_weekdaysRegex")||Qe.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(m(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Be),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},yn.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},yn.meridiem=function(e,t,n){return 11<e?n?"pm":"PM":n?"am":"AM"},ut("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===D(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}}),c.lang=n("moment.lang is deprecated. Use moment.locale instead.",ut),c.langData=n("moment.langData is deprecated. Use moment.localeData instead.",ht);var wn=Math.abs;function Mn(e,t,n,s){var i=jt(t,n);return e._milliseconds+=s*i._milliseconds,e._days+=s*i._days,e._months+=s*i._months,e._bubble()}function kn(e){return e<0?Math.floor(e):Math.ceil(e)}function Sn(e){return 4800*e/146097}function Dn(e){return 146097*e/4800}function Yn(e){return function(){return this.as(e)}}var On=Yn("ms"),Tn=Yn("s"),bn=Yn("m"),xn=Yn("h"),Pn=Yn("d"),Wn=Yn("w"),Cn=Yn("M"),Hn=Yn("Q"),Rn=Yn("y");function Un(e){return function(){return this.isValid()?this._data[e]:NaN}}var Fn=Un("milliseconds"),Ln=Un("seconds"),Nn=Un("minutes"),Gn=Un("hours"),Vn=Un("days"),En=Un("months"),In=Un("years");var An=Math.round,jn={ss:44,s:45,m:45,h:22,d:26,M:11};var Zn=Math.abs;function zn(e){return(0<e)-(e<0)||+e}function $n(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n=Zn(this._milliseconds)/1e3,s=Zn(this._days),i=Zn(this._months);t=S((e=S(n/60))/60),n%=60,e%=60;var r=S(i/12),a=i%=12,o=s,u=t,l=e,h=n?n.toFixed(3).replace(/\.?0+$/,""):"",d=this.asSeconds();if(!d)return"P0D";var c=d<0?"-":"",f=zn(this._months)!==zn(d)?"-":"",m=zn(this._days)!==zn(d)?"-":"",_=zn(this._milliseconds)!==zn(d)?"-":"";return c+"P"+(r?f+r+"Y":"")+(a?f+a+"M":"")+(o?m+o+"D":"")+(u||l||h?"T":"")+(u?_+u+"H":"")+(l?_+l+"M":"")+(h?_+h+"S":"")}var qn=Ht.prototype;return qn.isValid=function(){return this._isValid},qn.abs=function(){var e=this._data;return this._milliseconds=wn(this._milliseconds),this._days=wn(this._days),this._months=wn(this._months),e.milliseconds=wn(e.milliseconds),e.seconds=wn(e.seconds),e.minutes=wn(e.minutes),e.hours=wn(e.hours),e.months=wn(e.months),e.years=wn(e.years),this},qn.add=function(e,t){return Mn(this,e,t,1)},qn.subtract=function(e,t){return Mn(this,e,t,-1)},qn.as=function(e){if(!this.isValid())return NaN;var t,n,s=this._milliseconds;if("month"===(e=H(e))||"quarter"===e||"year"===e)switch(t=this._days+s/864e5,n=this._months+Sn(t),e){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(t=this._days+Math.round(Dn(this._months)),e){case"week":return t/7+s/6048e5;case"day":return t+s/864e5;case"hour":return 24*t+s/36e5;case"minute":return 1440*t+s/6e4;case"second":return 86400*t+s/1e3;case"millisecond":return Math.floor(864e5*t)+s;default:throw new Error("Unknown unit "+e)}},qn.asMilliseconds=On,qn.asSeconds=Tn,qn.asMinutes=bn,qn.asHours=xn,qn.asDays=Pn,qn.asWeeks=Wn,qn.asMonths=Cn,qn.asQuarters=Hn,qn.asYears=Rn,qn.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*D(this._months/12):NaN},qn._bubble=function(){var e,t,n,s,i,r=this._milliseconds,a=this._days,o=this._months,u=this._data;return 0<=r&&0<=a&&0<=o||r<=0&&a<=0&&o<=0||(r+=864e5*kn(Dn(o)+a),o=a=0),u.milliseconds=r%1e3,e=S(r/1e3),u.seconds=e%60,t=S(e/60),u.minutes=t%60,n=S(t/60),u.hours=n%24,o+=i=S(Sn(a+=S(n/24))),a-=kn(Dn(i)),s=S(o/12),o%=12,u.days=a,u.months=o,u.years=s,this},qn.clone=function(){return jt(this)},qn.get=function(e){return e=H(e),this.isValid()?this[e+"s"]():NaN},qn.milliseconds=Fn,qn.seconds=Ln,qn.minutes=Nn,qn.hours=Gn,qn.days=Vn,qn.weeks=function(){return S(this.days()/7)},qn.months=En,qn.years=In,qn.humanize=function(e){if(!this.isValid())return this.localeData().invalidDate();var t,n,s,i,r,a,o,u,l,h,d,c=this.localeData(),f=(n=!e,s=c,i=jt(t=this).abs(),r=An(i.as("s")),a=An(i.as("m")),o=An(i.as("h")),u=An(i.as("d")),l=An(i.as("M")),h=An(i.as("y")),(d=r<=jn.ss&&["s",r]||r<jn.s&&["ss",r]||a<=1&&["m"]||a<jn.m&&["mm",a]||o<=1&&["h"]||o<jn.h&&["hh",o]||u<=1&&["d"]||u<jn.d&&["dd",u]||l<=1&&["M"]||l<jn.M&&["MM",l]||h<=1&&["y"]||["yy",h])[2]=n,d[3]=0<+t,d[4]=s,function(e,t,n,s,i){return i.relativeTime(t||1,!!n,e,s)}.apply(null,d));return e&&(f=c.pastFuture(+this,f)),c.postformat(f)},qn.toISOString=$n,qn.toString=$n,qn.toJSON=$n,qn.locale=Xt,qn.localeData=en,qn.toIsoString=n("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",$n),qn.lang=Kt,I("X",0,0,"unix"),I("x",0,0,"valueOf"),ue("x",se),ue("X",/[+-]?\d+(\.\d{1,3})?/),ce("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))}),ce("x",function(e,t,n){n._d=new Date(D(e))}),c.version="2.24.0",e=bt,c.fn=mn,c.min=function(){return Wt("isBefore",[].slice.call(arguments,0))},c.max=function(){return Wt("isAfter",[].slice.call(arguments,0))},c.now=function(){return Date.now?Date.now():+new Date},c.utc=y,c.unix=function(e){return bt(1e3*e)},c.months=function(e,t){return vn(e,t,"months")},c.isDate=d,c.locale=ut,c.invalid=p,c.duration=jt,c.isMoment=k,c.weekdays=function(e,t,n){return pn(e,t,n,"weekdays")},c.parseZone=function(){return bt.apply(null,arguments).parseZone()},c.localeData=ht,c.isDuration=Rt,c.monthsShort=function(e,t){return vn(e,t,"monthsShort")},c.weekdaysMin=function(e,t,n){return pn(e,t,n,"weekdaysMin")},c.defineLocale=lt,c.updateLocale=function(e,t){if(null!=t){var n,s,i=st;null!=(s=ot(e))&&(i=s._config),(n=new P(t=x(i,t))).parentLocale=it[e],it[e]=n,ut(e)}else null!=it[e]&&(null!=it[e].parentLocale?it[e]=it[e].parentLocale:null!=it[e]&&delete it[e]);return it[e]},c.locales=function(){return s(it)},c.weekdaysShort=function(e,t,n){return pn(e,t,n,"weekdaysShort")},c.normalizeUnits=H,c.relativeTimeRounding=function(e){return void 0===e?An:"function"==typeof e&&(An=e,!0)},c.relativeTimeThreshold=function(e,t){return void 0!==jn[e]&&(void 0===t?jn[e]:(jn[e]=t,"s"===e&&(jn.ss=t-1),!0))},c.calendarFormat=function(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},c.prototype=mn,c.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},c}); \ No newline at end of file diff --git a/public/bower_components/moment/moment.d.ts b/public/bower_components/moment/moment.d.ts new file mode 100644 index 0000000..ec72fbc --- /dev/null +++ b/public/bower_components/moment/moment.d.ts @@ -0,0 +1,736 @@ +declare function moment(inp?: moment.MomentInput, format?: moment.MomentFormatSpecification, strict?: boolean): moment.Moment; +declare function moment(inp?: moment.MomentInput, format?: moment.MomentFormatSpecification, language?: string, strict?: boolean): moment.Moment; + +declare namespace moment { + type RelativeTimeKey = 's' | 'ss' | 'm' | 'mm' | 'h' | 'hh' | 'd' | 'dd' | 'M' | 'MM' | 'y' | 'yy'; + type CalendarKey = 'sameDay' | 'nextDay' | 'lastDay' | 'nextWeek' | 'lastWeek' | 'sameElse' | string; + type LongDateFormatKey = 'LTS' | 'LT' | 'L' | 'LL' | 'LLL' | 'LLLL' | 'lts' | 'lt' | 'l' | 'll' | 'lll' | 'llll'; + + interface Locale { + calendar(key?: CalendarKey, m?: Moment, now?: Moment): string; + + longDateFormat(key: LongDateFormatKey): string; + invalidDate(): string; + ordinal(n: number): string; + + preparse(inp: string): string; + postformat(inp: string): string; + relativeTime(n: number, withoutSuffix: boolean, + key: RelativeTimeKey, isFuture: boolean): string; + pastFuture(diff: number, absRelTime: string): string; + set(config: Object): void; + + months(): string[]; + months(m: Moment, format?: string): string; + monthsShort(): string[]; + monthsShort(m: Moment, format?: string): string; + monthsParse(monthName: string, format: string, strict: boolean): number; + monthsRegex(strict: boolean): RegExp; + monthsShortRegex(strict: boolean): RegExp; + + week(m: Moment): number; + firstDayOfYear(): number; + firstDayOfWeek(): number; + + weekdays(): string[]; + weekdays(m: Moment, format?: string): string; + weekdaysMin(): string[]; + weekdaysMin(m: Moment): string; + weekdaysShort(): string[]; + weekdaysShort(m: Moment): string; + weekdaysParse(weekdayName: string, format: string, strict: boolean): number; + weekdaysRegex(strict: boolean): RegExp; + weekdaysShortRegex(strict: boolean): RegExp; + weekdaysMinRegex(strict: boolean): RegExp; + + isPM(input: string): boolean; + meridiem(hour: number, minute: number, isLower: boolean): string; + } + + interface StandaloneFormatSpec { + format: string[]; + standalone: string[]; + isFormat?: RegExp; + } + + interface WeekSpec { + dow: number; + doy: number; + } + + type CalendarSpecVal = string | ((m?: MomentInput, now?: Moment) => string); + interface CalendarSpec { + sameDay?: CalendarSpecVal; + nextDay?: CalendarSpecVal; + lastDay?: CalendarSpecVal; + nextWeek?: CalendarSpecVal; + lastWeek?: CalendarSpecVal; + sameElse?: CalendarSpecVal; + + // any additional properties might be used with moment.calendarFormat + [x: string]: CalendarSpecVal | void; // undefined + } + + type RelativeTimeSpecVal = ( + string | + ((n: number, withoutSuffix: boolean, + key: RelativeTimeKey, isFuture: boolean) => string) + ); + type RelativeTimeFuturePastVal = string | ((relTime: string) => string); + + interface RelativeTimeSpec { + future?: RelativeTimeFuturePastVal; + past?: RelativeTimeFuturePastVal; + s?: RelativeTimeSpecVal; + ss?: RelativeTimeSpecVal; + m?: RelativeTimeSpecVal; + mm?: RelativeTimeSpecVal; + h?: RelativeTimeSpecVal; + hh?: RelativeTimeSpecVal; + d?: RelativeTimeSpecVal; + dd?: RelativeTimeSpecVal; + M?: RelativeTimeSpecVal; + MM?: RelativeTimeSpecVal; + y?: RelativeTimeSpecVal; + yy?: RelativeTimeSpecVal; + } + + interface LongDateFormatSpec { + LTS: string; + LT: string; + L: string; + LL: string; + LLL: string; + LLLL: string; + + // lets forget for a sec that any upper/lower permutation will also work + lts?: string; + lt?: string; + l?: string; + ll?: string; + lll?: string; + llll?: string; + } + + type MonthWeekdayFn = (momentToFormat: Moment, format?: string) => string; + type WeekdaySimpleFn = (momentToFormat: Moment) => string; + + interface LocaleSpecification { + months?: string[] | StandaloneFormatSpec | MonthWeekdayFn; + monthsShort?: string[] | StandaloneFormatSpec | MonthWeekdayFn; + + weekdays?: string[] | StandaloneFormatSpec | MonthWeekdayFn; + weekdaysShort?: string[] | StandaloneFormatSpec | WeekdaySimpleFn; + weekdaysMin?: string[] | StandaloneFormatSpec | WeekdaySimpleFn; + + meridiemParse?: RegExp; + meridiem?: (hour: number, minute:number, isLower: boolean) => string; + + isPM?: (input: string) => boolean; + + longDateFormat?: LongDateFormatSpec; + calendar?: CalendarSpec; + relativeTime?: RelativeTimeSpec; + invalidDate?: string; + ordinal?: (n: number) => string; + ordinalParse?: RegExp; + + week?: WeekSpec; + + // Allow anything: in general any property that is passed as locale spec is + // put in the locale object so it can be used by locale functions + [x: string]: any; + } + + interface MomentObjectOutput { + years: number; + /* One digit */ + months: number; + /* Day of the month */ + date: number; + hours: number; + minutes: number; + seconds: number; + milliseconds: number; + } + + interface Duration { + clone(): Duration; + + humanize(withSuffix?: boolean): string; + + abs(): Duration; + + as(units: unitOfTime.Base): number; + get(units: unitOfTime.Base): number; + + milliseconds(): number; + asMilliseconds(): number; + + seconds(): number; + asSeconds(): number; + + minutes(): number; + asMinutes(): number; + + hours(): number; + asHours(): number; + + days(): number; + asDays(): number; + + weeks(): number; + asWeeks(): number; + + months(): number; + asMonths(): number; + + years(): number; + asYears(): number; + + add(inp?: DurationInputArg1, unit?: DurationInputArg2): Duration; + subtract(inp?: DurationInputArg1, unit?: DurationInputArg2): Duration; + + locale(): string; + locale(locale: LocaleSpecifier): Duration; + localeData(): Locale; + + toISOString(): string; + toJSON(): string; + + isValid(): boolean; + + /** + * @deprecated since version 2.8.0 + */ + lang(locale: LocaleSpecifier): Moment; + /** + * @deprecated since version 2.8.0 + */ + lang(): Locale; + /** + * @deprecated + */ + toIsoString(): string; + } + + interface MomentRelativeTime { + future: any; + past: any; + s: any; + ss: any; + m: any; + mm: any; + h: any; + hh: any; + d: any; + dd: any; + M: any; + MM: any; + y: any; + yy: any; + } + + interface MomentLongDateFormat { + L: string; + LL: string; + LLL: string; + LLLL: string; + LT: string; + LTS: string; + + l?: string; + ll?: string; + lll?: string; + llll?: string; + lt?: string; + lts?: string; + } + + interface MomentParsingFlags { + empty: boolean; + unusedTokens: string[]; + unusedInput: string[]; + overflow: number; + charsLeftOver: number; + nullInput: boolean; + invalidMonth: string | void; // null + invalidFormat: boolean; + userInvalidated: boolean; + iso: boolean; + parsedDateParts: any[]; + meridiem: string | void; // null + } + + interface MomentParsingFlagsOpt { + empty?: boolean; + unusedTokens?: string[]; + unusedInput?: string[]; + overflow?: number; + charsLeftOver?: number; + nullInput?: boolean; + invalidMonth?: string; + invalidFormat?: boolean; + userInvalidated?: boolean; + iso?: boolean; + parsedDateParts?: any[]; + meridiem?: string; + } + + interface MomentBuiltinFormat { + __momentBuiltinFormatBrand: any; + } + + type MomentFormatSpecification = string | MomentBuiltinFormat | (string | MomentBuiltinFormat)[]; + + namespace unitOfTime { + type Base = ( + "year" | "years" | "y" | + "month" | "months" | "M" | + "week" | "weeks" | "w" | + "day" | "days" | "d" | + "hour" | "hours" | "h" | + "minute" | "minutes" | "m" | + "second" | "seconds" | "s" | + "millisecond" | "milliseconds" | "ms" + ); + + type _quarter = "quarter" | "quarters" | "Q"; + type _isoWeek = "isoWeek" | "isoWeeks" | "W"; + type _date = "date" | "dates" | "D"; + type DurationConstructor = Base | _quarter; + + type DurationAs = Base; + + type StartOf = Base | _quarter | _isoWeek | _date | void; // null + + type Diff = Base | _quarter; + + type MomentConstructor = Base | _date; + + type All = Base | _quarter | _isoWeek | _date | + "weekYear" | "weekYears" | "gg" | + "isoWeekYear" | "isoWeekYears" | "GG" | + "dayOfYear" | "dayOfYears" | "DDD" | + "weekday" | "weekdays" | "e" | + "isoWeekday" | "isoWeekdays" | "E"; + } + + interface MomentInputObject { + years?: number; + year?: number; + y?: number; + + months?: number; + month?: number; + M?: number; + + days?: number; + day?: number; + d?: number; + + dates?: number; + date?: number; + D?: number; + + hours?: number; + hour?: number; + h?: number; + + minutes?: number; + minute?: number; + m?: number; + + seconds?: number; + second?: number; + s?: number; + + milliseconds?: number; + millisecond?: number; + ms?: number; + } + + interface DurationInputObject extends MomentInputObject { + quarters?: number; + quarter?: number; + Q?: number; + + weeks?: number; + week?: number; + w?: number; + } + + interface MomentSetObject extends MomentInputObject { + weekYears?: number; + weekYear?: number; + gg?: number; + + isoWeekYears?: number; + isoWeekYear?: number; + GG?: number; + + quarters?: number; + quarter?: number; + Q?: number; + + weeks?: number; + week?: number; + w?: number; + + isoWeeks?: number; + isoWeek?: number; + W?: number; + + dayOfYears?: number; + dayOfYear?: number; + DDD?: number; + + weekdays?: number; + weekday?: number; + e?: number; + + isoWeekdays?: number; + isoWeekday?: number; + E?: number; + } + + interface FromTo { + from: MomentInput; + to: MomentInput; + } + + type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined + type DurationInputArg1 = Duration | number | string | FromTo | DurationInputObject | void; // null | undefined + type DurationInputArg2 = unitOfTime.DurationConstructor; + type LocaleSpecifier = string | Moment | Duration | string[] | boolean; + + interface MomentCreationData { + input: MomentInput; + format?: MomentFormatSpecification; + locale: Locale; + isUTC: boolean; + strict?: boolean; + } + + interface Moment extends Object { + format(format?: string): string; + + startOf(unitOfTime: unitOfTime.StartOf): Moment; + endOf(unitOfTime: unitOfTime.StartOf): Moment; + + add(amount?: DurationInputArg1, unit?: DurationInputArg2): Moment; + /** + * @deprecated reverse syntax + */ + add(unit: unitOfTime.DurationConstructor, amount: number|string): Moment; + + subtract(amount?: DurationInputArg1, unit?: DurationInputArg2): Moment; + /** + * @deprecated reverse syntax + */ + subtract(unit: unitOfTime.DurationConstructor, amount: number|string): Moment; + + calendar(time?: MomentInput, formats?: CalendarSpec): string; + + clone(): Moment; + + /** + * @return Unix timestamp in milliseconds + */ + valueOf(): number; + + // current date/time in local mode + local(keepLocalTime?: boolean): Moment; + isLocal(): boolean; + + // current date/time in UTC mode + utc(keepLocalTime?: boolean): Moment; + isUTC(): boolean; + /** + * @deprecated use isUTC + */ + isUtc(): boolean; + + parseZone(): Moment; + isValid(): boolean; + invalidAt(): number; + + hasAlignedHourOffset(other?: MomentInput): boolean; + + creationData(): MomentCreationData; + parsingFlags(): MomentParsingFlags; + + year(y: number): Moment; + year(): number; + /** + * @deprecated use year(y) + */ + years(y: number): Moment; + /** + * @deprecated use year() + */ + years(): number; + quarter(): number; + quarter(q: number): Moment; + quarters(): number; + quarters(q: number): Moment; + month(M: number|string): Moment; + month(): number; + /** + * @deprecated use month(M) + */ + months(M: number|string): Moment; + /** + * @deprecated use month() + */ + months(): number; + day(d: number|string): Moment; + day(): number; + days(d: number|string): Moment; + days(): number; + date(d: number): Moment; + date(): number; + /** + * @deprecated use date(d) + */ + dates(d: number): Moment; + /** + * @deprecated use date() + */ + dates(): number; + hour(h: number): Moment; + hour(): number; + hours(h: number): Moment; + hours(): number; + minute(m: number): Moment; + minute(): number; + minutes(m: number): Moment; + minutes(): number; + second(s: number): Moment; + second(): number; + seconds(s: number): Moment; + seconds(): number; + millisecond(ms: number): Moment; + millisecond(): number; + milliseconds(ms: number): Moment; + milliseconds(): number; + weekday(): number; + weekday(d: number): Moment; + isoWeekday(): number; + isoWeekday(d: number|string): Moment; + weekYear(): number; + weekYear(d: number): Moment; + isoWeekYear(): number; + isoWeekYear(d: number): Moment; + week(): number; + week(d: number): Moment; + weeks(): number; + weeks(d: number): Moment; + isoWeek(): number; + isoWeek(d: number): Moment; + isoWeeks(): number; + isoWeeks(d: number): Moment; + weeksInYear(): number; + isoWeeksInYear(): number; + dayOfYear(): number; + dayOfYear(d: number): Moment; + + from(inp: MomentInput, suffix?: boolean): string; + to(inp: MomentInput, suffix?: boolean): string; + fromNow(withoutSuffix?: boolean): string; + toNow(withoutPrefix?: boolean): string; + + diff(b: MomentInput, unitOfTime?: unitOfTime.Diff, precise?: boolean): number; + + toArray(): number[]; + toDate(): Date; + toISOString(keepOffset?: boolean): string; + inspect(): string; + toJSON(): string; + unix(): number; + + isLeapYear(): boolean; + /** + * @deprecated in favor of utcOffset + */ + zone(): number; + zone(b: number|string): Moment; + utcOffset(): number; + utcOffset(b: number|string, keepLocalTime?: boolean): Moment; + isUtcOffset(): boolean; + daysInMonth(): number; + isDST(): boolean; + + zoneAbbr(): string; + zoneName(): string; + + isBefore(inp?: MomentInput, granularity?: unitOfTime.StartOf): boolean; + isAfter(inp?: MomentInput, granularity?: unitOfTime.StartOf): boolean; + isSame(inp?: MomentInput, granularity?: unitOfTime.StartOf): boolean; + isSameOrAfter(inp?: MomentInput, granularity?: unitOfTime.StartOf): boolean; + isSameOrBefore(inp?: MomentInput, granularity?: unitOfTime.StartOf): boolean; + isBetween(a: MomentInput, b: MomentInput, granularity?: unitOfTime.StartOf, inclusivity?: "()" | "[)" | "(]" | "[]"): boolean; + + /** + * @deprecated as of 2.8.0, use locale + */ + lang(language: LocaleSpecifier): Moment; + /** + * @deprecated as of 2.8.0, use locale + */ + lang(): Locale; + + locale(): string; + locale(locale: LocaleSpecifier): Moment; + + localeData(): Locale; + + /** + * @deprecated no reliable implementation + */ + isDSTShifted(): boolean; + + // NOTE(constructor): Same as moment constructor + /** + * @deprecated as of 2.7.0, use moment.min/max + */ + max(inp?: MomentInput, format?: MomentFormatSpecification, strict?: boolean): Moment; + /** + * @deprecated as of 2.7.0, use moment.min/max + */ + max(inp?: MomentInput, format?: MomentFormatSpecification, language?: string, strict?: boolean): Moment; + + // NOTE(constructor): Same as moment constructor + /** + * @deprecated as of 2.7.0, use moment.min/max + */ + min(inp?: MomentInput, format?: MomentFormatSpecification, strict?: boolean): Moment; + /** + * @deprecated as of 2.7.0, use moment.min/max + */ + min(inp?: MomentInput, format?: MomentFormatSpecification, language?: string, strict?: boolean): Moment; + + get(unit: unitOfTime.All): number; + set(unit: unitOfTime.All, value: number): Moment; + set(objectLiteral: MomentSetObject): Moment; + + toObject(): MomentObjectOutput; + } + + export var version: string; + export var fn: Moment; + + // NOTE(constructor): Same as moment constructor + export function utc(inp?: MomentInput, format?: MomentFormatSpecification, strict?: boolean): Moment; + export function utc(inp?: MomentInput, format?: MomentFormatSpecification, language?: string, strict?: boolean): Moment; + + export function unix(timestamp: number): Moment; + + export function invalid(flags?: MomentParsingFlagsOpt): Moment; + export function isMoment(m: any): m is Moment; + export function isDate(m: any): m is Date; + export function isDuration(d: any): d is Duration; + + /** + * @deprecated in 2.8.0 + */ + export function lang(language?: string): string; + /** + * @deprecated in 2.8.0 + */ + export function lang(language?: string, definition?: Locale): string; + + export function locale(language?: string): string; + export function locale(language?: string[]): string; + export function locale(language?: string, definition?: LocaleSpecification | void): string; // null | undefined + + export function localeData(key?: string | string[]): Locale; + + export function duration(inp?: DurationInputArg1, unit?: DurationInputArg2): Duration; + + // NOTE(constructor): Same as moment constructor + export function parseZone(inp?: MomentInput, format?: MomentFormatSpecification, strict?: boolean): Moment; + export function parseZone(inp?: MomentInput, format?: MomentFormatSpecification, language?: string, strict?: boolean): Moment; + + export function months(): string[]; + export function months(index: number): string; + export function months(format: string): string[]; + export function months(format: string, index: number): string; + export function monthsShort(): string[]; + export function monthsShort(index: number): string; + export function monthsShort(format: string): string[]; + export function monthsShort(format: string, index: number): string; + + export function weekdays(): string[]; + export function weekdays(index: number): string; + export function weekdays(format: string): string[]; + export function weekdays(format: string, index: number): string; + export function weekdays(localeSorted: boolean): string[]; + export function weekdays(localeSorted: boolean, index: number): string; + export function weekdays(localeSorted: boolean, format: string): string[]; + export function weekdays(localeSorted: boolean, format: string, index: number): string; + export function weekdaysShort(): string[]; + export function weekdaysShort(index: number): string; + export function weekdaysShort(format: string): string[]; + export function weekdaysShort(format: string, index: number): string; + export function weekdaysShort(localeSorted: boolean): string[]; + export function weekdaysShort(localeSorted: boolean, index: number): string; + export function weekdaysShort(localeSorted: boolean, format: string): string[]; + export function weekdaysShort(localeSorted: boolean, format: string, index: number): string; + export function weekdaysMin(): string[]; + export function weekdaysMin(index: number): string; + export function weekdaysMin(format: string): string[]; + export function weekdaysMin(format: string, index: number): string; + export function weekdaysMin(localeSorted: boolean): string[]; + export function weekdaysMin(localeSorted: boolean, index: number): string; + export function weekdaysMin(localeSorted: boolean, format: string): string[]; + export function weekdaysMin(localeSorted: boolean, format: string, index: number): string; + + export function min(moments: Moment[]): Moment; + export function min(...moments: Moment[]): Moment; + export function max(moments: Moment[]): Moment; + export function max(...moments: Moment[]): Moment; + + /** + * Returns unix time in milliseconds. Overwrite for profit. + */ + export function now(): number; + + export function defineLocale(language: string, localeSpec: LocaleSpecification | void): Locale; // null + export function updateLocale(language: string, localeSpec: LocaleSpecification | void): Locale; // null + + export function locales(): string[]; + + export function normalizeUnits(unit: unitOfTime.All): string; + export function relativeTimeThreshold(threshold: string): number | boolean; + export function relativeTimeThreshold(threshold: string, limit: number): boolean; + export function relativeTimeRounding(fn: (num: number) => number): boolean; + export function relativeTimeRounding(): (num: number) => number; + export function calendarFormat(m: Moment, now: Moment): string; + + export function parseTwoDigitYear(input: string): number; + + /** + * Constant used to enable explicit ISO_8601 format parsing. + */ + export var ISO_8601: MomentBuiltinFormat; + export var RFC_2822: MomentBuiltinFormat; + + export var defaultFormat: string; + export var defaultFormatUtc: string; + + export var HTML5_FMT: { + DATETIME_LOCAL: string, + DATETIME_LOCAL_SECONDS: string, + DATETIME_LOCAL_MS: string, + DATE: string, + TIME: string, + TIME_SECONDS: string, + TIME_MS: string, + WEEK: string, + MONTH: string + }; + +} + +export = moment; diff --git a/public/bower_components/moment/moment.js b/public/bower_components/moment/moment.js new file mode 100644 index 0000000..1b12971 --- /dev/null +++ b/public/bower_components/moment/moment.js @@ -0,0 +1,4602 @@ +//! moment.js + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + global.moment = factory() +}(this, (function () { 'use strict'; + + var hookCallback; + + function hooks () { + return hookCallback.apply(null, arguments); + } + + // This is done to register the method called with moment() + // without creating circular dependencies. + function setHookCallback (callback) { + hookCallback = callback; + } + + function isArray(input) { + return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]'; + } + + function isObject(input) { + // IE8 will treat undefined and null as object if it wasn't for + // input != null + return input != null && Object.prototype.toString.call(input) === '[object Object]'; + } + + function isObjectEmpty(obj) { + if (Object.getOwnPropertyNames) { + return (Object.getOwnPropertyNames(obj).length === 0); + } else { + var k; + for (k in obj) { + if (obj.hasOwnProperty(k)) { + return false; + } + } + return true; + } + } + + function isUndefined(input) { + return input === void 0; + } + + function isNumber(input) { + return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]'; + } + + function isDate(input) { + return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]'; + } + + function map(arr, fn) { + var res = [], i; + for (i = 0; i < arr.length; ++i) { + res.push(fn(arr[i], i)); + } + return res; + } + + function hasOwnProp(a, b) { + return Object.prototype.hasOwnProperty.call(a, b); + } + + function extend(a, b) { + for (var i in b) { + if (hasOwnProp(b, i)) { + a[i] = b[i]; + } + } + + if (hasOwnProp(b, 'toString')) { + a.toString = b.toString; + } + + if (hasOwnProp(b, 'valueOf')) { + a.valueOf = b.valueOf; + } + + return a; + } + + function createUTC (input, format, locale, strict) { + return createLocalOrUTC(input, format, locale, strict, true).utc(); + } + + function defaultParsingFlags() { + // We need to deep clone this object. + return { + empty : false, + unusedTokens : [], + unusedInput : [], + overflow : -2, + charsLeftOver : 0, + nullInput : false, + invalidMonth : null, + invalidFormat : false, + userInvalidated : false, + iso : false, + parsedDateParts : [], + meridiem : null, + rfc2822 : false, + weekdayMismatch : false + }; + } + + function getParsingFlags(m) { + if (m._pf == null) { + m._pf = defaultParsingFlags(); + } + return m._pf; + } + + var some; + if (Array.prototype.some) { + some = Array.prototype.some; + } else { + some = function (fun) { + var t = Object(this); + var len = t.length >>> 0; + + for (var i = 0; i < len; i++) { + if (i in t && fun.call(this, t[i], i, t)) { + return true; + } + } + + return false; + }; + } + + function isValid(m) { + if (m._isValid == null) { + var flags = getParsingFlags(m); + var parsedParts = some.call(flags.parsedDateParts, function (i) { + return i != null; + }); + var isNowValid = !isNaN(m._d.getTime()) && + flags.overflow < 0 && + !flags.empty && + !flags.invalidMonth && + !flags.invalidWeekday && + !flags.weekdayMismatch && + !flags.nullInput && + !flags.invalidFormat && + !flags.userInvalidated && + (!flags.meridiem || (flags.meridiem && parsedParts)); + + if (m._strict) { + isNowValid = isNowValid && + flags.charsLeftOver === 0 && + flags.unusedTokens.length === 0 && + flags.bigHour === undefined; + } + + if (Object.isFrozen == null || !Object.isFrozen(m)) { + m._isValid = isNowValid; + } + else { + return isNowValid; + } + } + return m._isValid; + } + + function createInvalid (flags) { + var m = createUTC(NaN); + if (flags != null) { + extend(getParsingFlags(m), flags); + } + else { + getParsingFlags(m).userInvalidated = true; + } + + return m; + } + + // Plugins that add properties should also add the key here (null value), + // so we can properly clone ourselves. + var momentProperties = hooks.momentProperties = []; + + function copyConfig(to, from) { + var i, prop, val; + + if (!isUndefined(from._isAMomentObject)) { + to._isAMomentObject = from._isAMomentObject; + } + if (!isUndefined(from._i)) { + to._i = from._i; + } + if (!isUndefined(from._f)) { + to._f = from._f; + } + if (!isUndefined(from._l)) { + to._l = from._l; + } + if (!isUndefined(from._strict)) { + to._strict = from._strict; + } + if (!isUndefined(from._tzm)) { + to._tzm = from._tzm; + } + if (!isUndefined(from._isUTC)) { + to._isUTC = from._isUTC; + } + if (!isUndefined(from._offset)) { + to._offset = from._offset; + } + if (!isUndefined(from._pf)) { + to._pf = getParsingFlags(from); + } + if (!isUndefined(from._locale)) { + to._locale = from._locale; + } + + if (momentProperties.length > 0) { + for (i = 0; i < momentProperties.length; i++) { + prop = momentProperties[i]; + val = from[prop]; + if (!isUndefined(val)) { + to[prop] = val; + } + } + } + + return to; + } + + var updateInProgress = false; + + // Moment prototype object + function Moment(config) { + copyConfig(this, config); + this._d = new Date(config._d != null ? config._d.getTime() : NaN); + if (!this.isValid()) { + this._d = new Date(NaN); + } + // Prevent infinite loop in case updateOffset creates new moment + // objects. + if (updateInProgress === false) { + updateInProgress = true; + hooks.updateOffset(this); + updateInProgress = false; + } + } + + function isMoment (obj) { + return obj instanceof Moment || (obj != null && obj._isAMomentObject != null); + } + + function absFloor (number) { + if (number < 0) { + // -0 -> 0 + return Math.ceil(number) || 0; + } else { + return Math.floor(number); + } + } + + function toInt(argumentForCoercion) { + var coercedNumber = +argumentForCoercion, + value = 0; + + if (coercedNumber !== 0 && isFinite(coercedNumber)) { + value = absFloor(coercedNumber); + } + + return value; + } + + // compare two arrays, return the number of differences + function compareArrays(array1, array2, dontConvert) { + var len = Math.min(array1.length, array2.length), + lengthDiff = Math.abs(array1.length - array2.length), + diffs = 0, + i; + for (i = 0; i < len; i++) { + if ((dontConvert && array1[i] !== array2[i]) || + (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) { + diffs++; + } + } + return diffs + lengthDiff; + } + + function warn(msg) { + if (hooks.suppressDeprecationWarnings === false && + (typeof console !== 'undefined') && console.warn) { + console.warn('Deprecation warning: ' + msg); + } + } + + function deprecate(msg, fn) { + var firstTime = true; + + return extend(function () { + if (hooks.deprecationHandler != null) { + hooks.deprecationHandler(null, msg); + } + if (firstTime) { + var args = []; + var arg; + for (var i = 0; i < arguments.length; i++) { + arg = ''; + if (typeof arguments[i] === 'object') { + arg += '\n[' + i + '] '; + for (var key in arguments[0]) { + arg += key + ': ' + arguments[0][key] + ', '; + } + arg = arg.slice(0, -2); // Remove trailing comma and space + } else { + arg = arguments[i]; + } + args.push(arg); + } + warn(msg + '\nArguments: ' + Array.prototype.slice.call(args).join('') + '\n' + (new Error()).stack); + firstTime = false; + } + return fn.apply(this, arguments); + }, fn); + } + + var deprecations = {}; + + function deprecateSimple(name, msg) { + if (hooks.deprecationHandler != null) { + hooks.deprecationHandler(name, msg); + } + if (!deprecations[name]) { + warn(msg); + deprecations[name] = true; + } + } + + hooks.suppressDeprecationWarnings = false; + hooks.deprecationHandler = null; + + function isFunction(input) { + return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]'; + } + + function set (config) { + var prop, i; + for (i in config) { + prop = config[i]; + if (isFunction(prop)) { + this[i] = prop; + } else { + this['_' + i] = prop; + } + } + this._config = config; + // Lenient ordinal parsing accepts just a number in addition to + // number + (possibly) stuff coming from _dayOfMonthOrdinalParse. + // TODO: Remove "ordinalParse" fallback in next major release. + this._dayOfMonthOrdinalParseLenient = new RegExp( + (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + + '|' + (/\d{1,2}/).source); + } + + function mergeConfigs(parentConfig, childConfig) { + var res = extend({}, parentConfig), prop; + for (prop in childConfig) { + if (hasOwnProp(childConfig, prop)) { + if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) { + res[prop] = {}; + extend(res[prop], parentConfig[prop]); + extend(res[prop], childConfig[prop]); + } else if (childConfig[prop] != null) { + res[prop] = childConfig[prop]; + } else { + delete res[prop]; + } + } + } + for (prop in parentConfig) { + if (hasOwnProp(parentConfig, prop) && + !hasOwnProp(childConfig, prop) && + isObject(parentConfig[prop])) { + // make sure changes to properties don't modify parent config + res[prop] = extend({}, res[prop]); + } + } + return res; + } + + function Locale(config) { + if (config != null) { + this.set(config); + } + } + + var keys; + + if (Object.keys) { + keys = Object.keys; + } else { + keys = function (obj) { + var i, res = []; + for (i in obj) { + if (hasOwnProp(obj, i)) { + res.push(i); + } + } + return res; + }; + } + + var defaultCalendar = { + sameDay : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }; + + function calendar (key, mom, now) { + var output = this._calendar[key] || this._calendar['sameElse']; + return isFunction(output) ? output.call(mom, now) : output; + } + + var defaultLongDateFormat = { + LTS : 'h:mm:ss A', + LT : 'h:mm A', + L : 'MM/DD/YYYY', + LL : 'MMMM D, YYYY', + LLL : 'MMMM D, YYYY h:mm A', + LLLL : 'dddd, MMMM D, YYYY h:mm A' + }; + + function longDateFormat (key) { + var format = this._longDateFormat[key], + formatUpper = this._longDateFormat[key.toUpperCase()]; + + if (format || !formatUpper) { + return format; + } + + this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) { + return val.slice(1); + }); + + return this._longDateFormat[key]; + } + + var defaultInvalidDate = 'Invalid date'; + + function invalidDate () { + return this._invalidDate; + } + + var defaultOrdinal = '%d'; + var defaultDayOfMonthOrdinalParse = /\d{1,2}/; + + function ordinal (number) { + return this._ordinal.replace('%d', number); + } + + var defaultRelativeTime = { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }; + + function relativeTime (number, withoutSuffix, string, isFuture) { + var output = this._relativeTime[string]; + return (isFunction(output)) ? + output(number, withoutSuffix, string, isFuture) : + output.replace(/%d/i, number); + } + + function pastFuture (diff, output) { + var format = this._relativeTime[diff > 0 ? 'future' : 'past']; + return isFunction(format) ? format(output) : format.replace(/%s/i, output); + } + + var aliases = {}; + + function addUnitAlias (unit, shorthand) { + var lowerCase = unit.toLowerCase(); + aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit; + } + + function normalizeUnits(units) { + return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined; + } + + function normalizeObjectUnits(inputObject) { + var normalizedInput = {}, + normalizedProp, + prop; + + for (prop in inputObject) { + if (hasOwnProp(inputObject, prop)) { + normalizedProp = normalizeUnits(prop); + if (normalizedProp) { + normalizedInput[normalizedProp] = inputObject[prop]; + } + } + } + + return normalizedInput; + } + + var priorities = {}; + + function addUnitPriority(unit, priority) { + priorities[unit] = priority; + } + + function getPrioritizedUnits(unitsObj) { + var units = []; + for (var u in unitsObj) { + units.push({unit: u, priority: priorities[u]}); + } + units.sort(function (a, b) { + return a.priority - b.priority; + }); + return units; + } + + function zeroFill(number, targetLength, forceSign) { + var absNumber = '' + Math.abs(number), + zerosToFill = targetLength - absNumber.length, + sign = number >= 0; + return (sign ? (forceSign ? '+' : '') : '-') + + Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber; + } + + var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g; + + var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g; + + var formatFunctions = {}; + + var formatTokenFunctions = {}; + + // token: 'M' + // padded: ['MM', 2] + // ordinal: 'Mo' + // callback: function () { this.month() + 1 } + function addFormatToken (token, padded, ordinal, callback) { + var func = callback; + if (typeof callback === 'string') { + func = function () { + return this[callback](); + }; + } + if (token) { + formatTokenFunctions[token] = func; + } + if (padded) { + formatTokenFunctions[padded[0]] = function () { + return zeroFill(func.apply(this, arguments), padded[1], padded[2]); + }; + } + if (ordinal) { + formatTokenFunctions[ordinal] = function () { + return this.localeData().ordinal(func.apply(this, arguments), token); + }; + } + } + + function removeFormattingTokens(input) { + if (input.match(/\[[\s\S]/)) { + return input.replace(/^\[|\]$/g, ''); + } + return input.replace(/\\/g, ''); + } + + function makeFormatFunction(format) { + var array = format.match(formattingTokens), i, length; + + for (i = 0, length = array.length; i < length; i++) { + if (formatTokenFunctions[array[i]]) { + array[i] = formatTokenFunctions[array[i]]; + } else { + array[i] = removeFormattingTokens(array[i]); + } + } + + return function (mom) { + var output = '', i; + for (i = 0; i < length; i++) { + output += isFunction(array[i]) ? array[i].call(mom, format) : array[i]; + } + return output; + }; + } + + // format date using native date object + function formatMoment(m, format) { + if (!m.isValid()) { + return m.localeData().invalidDate(); + } + + format = expandFormat(format, m.localeData()); + formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format); + + return formatFunctions[format](m); + } + + function expandFormat(format, locale) { + var i = 5; + + function replaceLongDateFormatTokens(input) { + return locale.longDateFormat(input) || input; + } + + localFormattingTokens.lastIndex = 0; + while (i >= 0 && localFormattingTokens.test(format)) { + format = format.replace(localFormattingTokens, replaceLongDateFormatTokens); + localFormattingTokens.lastIndex = 0; + i -= 1; + } + + return format; + } + + var match1 = /\d/; // 0 - 9 + var match2 = /\d\d/; // 00 - 99 + var match3 = /\d{3}/; // 000 - 999 + var match4 = /\d{4}/; // 0000 - 9999 + var match6 = /[+-]?\d{6}/; // -999999 - 999999 + var match1to2 = /\d\d?/; // 0 - 99 + var match3to4 = /\d\d\d\d?/; // 999 - 9999 + var match5to6 = /\d\d\d\d\d\d?/; // 99999 - 999999 + var match1to3 = /\d{1,3}/; // 0 - 999 + var match1to4 = /\d{1,4}/; // 0 - 9999 + var match1to6 = /[+-]?\d{1,6}/; // -999999 - 999999 + + var matchUnsigned = /\d+/; // 0 - inf + var matchSigned = /[+-]?\d+/; // -inf - inf + + var matchOffset = /Z|[+-]\d\d:?\d\d/gi; // +00:00 -00:00 +0000 -0000 or Z + var matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z + + var matchTimestamp = /[+-]?\d+(\.\d{1,3})?/; // 123456789 123456789.123 + + // any word (or two) characters or numbers including two/three word month in arabic. + // includes scottish gaelic two word and hyphenated months + var matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i; + + var regexes = {}; + + function addRegexToken (token, regex, strictRegex) { + regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) { + return (isStrict && strictRegex) ? strictRegex : regex; + }; + } + + function getParseRegexForToken (token, config) { + if (!hasOwnProp(regexes, token)) { + return new RegExp(unescapeFormat(token)); + } + + return regexes[token](config._strict, config._locale); + } + + // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript + function unescapeFormat(s) { + return regexEscape(s.replace('\\', '').replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) { + return p1 || p2 || p3 || p4; + })); + } + + function regexEscape(s) { + return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); + } + + var tokens = {}; + + function addParseToken (token, callback) { + var i, func = callback; + if (typeof token === 'string') { + token = [token]; + } + if (isNumber(callback)) { + func = function (input, array) { + array[callback] = toInt(input); + }; + } + for (i = 0; i < token.length; i++) { + tokens[token[i]] = func; + } + } + + function addWeekParseToken (token, callback) { + addParseToken(token, function (input, array, config, token) { + config._w = config._w || {}; + callback(input, config._w, config, token); + }); + } + + function addTimeToArrayFromToken(token, input, config) { + if (input != null && hasOwnProp(tokens, token)) { + tokens[token](input, config._a, config, token); + } + } + + var YEAR = 0; + var MONTH = 1; + var DATE = 2; + var HOUR = 3; + var MINUTE = 4; + var SECOND = 5; + var MILLISECOND = 6; + var WEEK = 7; + var WEEKDAY = 8; + + // FORMATTING + + addFormatToken('Y', 0, 0, function () { + var y = this.year(); + return y <= 9999 ? '' + y : '+' + y; + }); + + addFormatToken(0, ['YY', 2], 0, function () { + return this.year() % 100; + }); + + addFormatToken(0, ['YYYY', 4], 0, 'year'); + addFormatToken(0, ['YYYYY', 5], 0, 'year'); + addFormatToken(0, ['YYYYYY', 6, true], 0, 'year'); + + // ALIASES + + addUnitAlias('year', 'y'); + + // PRIORITIES + + addUnitPriority('year', 1); + + // PARSING + + addRegexToken('Y', matchSigned); + addRegexToken('YY', match1to2, match2); + addRegexToken('YYYY', match1to4, match4); + addRegexToken('YYYYY', match1to6, match6); + addRegexToken('YYYYYY', match1to6, match6); + + addParseToken(['YYYYY', 'YYYYYY'], YEAR); + addParseToken('YYYY', function (input, array) { + array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input); + }); + addParseToken('YY', function (input, array) { + array[YEAR] = hooks.parseTwoDigitYear(input); + }); + addParseToken('Y', function (input, array) { + array[YEAR] = parseInt(input, 10); + }); + + // HELPERS + + function daysInYear(year) { + return isLeapYear(year) ? 366 : 365; + } + + function isLeapYear(year) { + return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; + } + + // HOOKS + + hooks.parseTwoDigitYear = function (input) { + return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); + }; + + // MOMENTS + + var getSetYear = makeGetSet('FullYear', true); + + function getIsLeapYear () { + return isLeapYear(this.year()); + } + + function makeGetSet (unit, keepTime) { + return function (value) { + if (value != null) { + set$1(this, unit, value); + hooks.updateOffset(this, keepTime); + return this; + } else { + return get(this, unit); + } + }; + } + + function get (mom, unit) { + return mom.isValid() ? + mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN; + } + + function set$1 (mom, unit, value) { + if (mom.isValid() && !isNaN(value)) { + if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) { + mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month())); + } + else { + mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); + } + } + } + + // MOMENTS + + function stringGet (units) { + units = normalizeUnits(units); + if (isFunction(this[units])) { + return this[units](); + } + return this; + } + + + function stringSet (units, value) { + if (typeof units === 'object') { + units = normalizeObjectUnits(units); + var prioritized = getPrioritizedUnits(units); + for (var i = 0; i < prioritized.length; i++) { + this[prioritized[i].unit](units[prioritized[i].unit]); + } + } else { + units = normalizeUnits(units); + if (isFunction(this[units])) { + return this[units](value); + } + } + return this; + } + + function mod(n, x) { + return ((n % x) + x) % x; + } + + var indexOf; + + if (Array.prototype.indexOf) { + indexOf = Array.prototype.indexOf; + } else { + indexOf = function (o) { + // I know + var i; + for (i = 0; i < this.length; ++i) { + if (this[i] === o) { + return i; + } + } + return -1; + }; + } + + function daysInMonth(year, month) { + if (isNaN(year) || isNaN(month)) { + return NaN; + } + var modMonth = mod(month, 12); + year += (month - modMonth) / 12; + return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2); + } + + // FORMATTING + + addFormatToken('M', ['MM', 2], 'Mo', function () { + return this.month() + 1; + }); + + addFormatToken('MMM', 0, 0, function (format) { + return this.localeData().monthsShort(this, format); + }); + + addFormatToken('MMMM', 0, 0, function (format) { + return this.localeData().months(this, format); + }); + + // ALIASES + + addUnitAlias('month', 'M'); + + // PRIORITY + + addUnitPriority('month', 8); + + // PARSING + + addRegexToken('M', match1to2); + addRegexToken('MM', match1to2, match2); + addRegexToken('MMM', function (isStrict, locale) { + return locale.monthsShortRegex(isStrict); + }); + addRegexToken('MMMM', function (isStrict, locale) { + return locale.monthsRegex(isStrict); + }); + + addParseToken(['M', 'MM'], function (input, array) { + array[MONTH] = toInt(input) - 1; + }); + + addParseToken(['MMM', 'MMMM'], function (input, array, config, token) { + var month = config._locale.monthsParse(input, token, config._strict); + // if we didn't find a month name, mark the date as invalid. + if (month != null) { + array[MONTH] = month; + } else { + getParsingFlags(config).invalidMonth = input; + } + }); + + // LOCALES + + var MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/; + var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'); + function localeMonths (m, format) { + if (!m) { + return isArray(this._months) ? this._months : + this._months['standalone']; + } + return isArray(this._months) ? this._months[m.month()] : + this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()]; + } + + var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'); + function localeMonthsShort (m, format) { + if (!m) { + return isArray(this._monthsShort) ? this._monthsShort : + this._monthsShort['standalone']; + } + return isArray(this._monthsShort) ? this._monthsShort[m.month()] : + this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()]; + } + + function handleStrictParse(monthName, format, strict) { + var i, ii, mom, llc = monthName.toLocaleLowerCase(); + if (!this._monthsParse) { + // this is not used + this._monthsParse = []; + this._longMonthsParse = []; + this._shortMonthsParse = []; + for (i = 0; i < 12; ++i) { + mom = createUTC([2000, i]); + this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase(); + this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase(); + } + } + + if (strict) { + if (format === 'MMM') { + ii = indexOf.call(this._shortMonthsParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._longMonthsParse, llc); + return ii !== -1 ? ii : null; + } + } else { + if (format === 'MMM') { + ii = indexOf.call(this._shortMonthsParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._longMonthsParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._longMonthsParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortMonthsParse, llc); + return ii !== -1 ? ii : null; + } + } + } + + function localeMonthsParse (monthName, format, strict) { + var i, mom, regex; + + if (this._monthsParseExact) { + return handleStrictParse.call(this, monthName, format, strict); + } + + if (!this._monthsParse) { + this._monthsParse = []; + this._longMonthsParse = []; + this._shortMonthsParse = []; + } + + // TODO: add sorting + // Sorting makes sure if one month (or abbr) is a prefix of another + // see sorting in computeMonthsParse + for (i = 0; i < 12; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, i]); + if (strict && !this._longMonthsParse[i]) { + this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i'); + this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i'); + } + if (!strict && !this._monthsParse[i]) { + regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, ''); + this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i'); + } + // test the regex + if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) { + return i; + } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) { + return i; + } else if (!strict && this._monthsParse[i].test(monthName)) { + return i; + } + } + } + + // MOMENTS + + function setMonth (mom, value) { + var dayOfMonth; + + if (!mom.isValid()) { + // No op + return mom; + } + + if (typeof value === 'string') { + if (/^\d+$/.test(value)) { + value = toInt(value); + } else { + value = mom.localeData().monthsParse(value); + // TODO: Another silent failure? + if (!isNumber(value)) { + return mom; + } + } + } + + dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value)); + mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth); + return mom; + } + + function getSetMonth (value) { + if (value != null) { + setMonth(this, value); + hooks.updateOffset(this, true); + return this; + } else { + return get(this, 'Month'); + } + } + + function getDaysInMonth () { + return daysInMonth(this.year(), this.month()); + } + + var defaultMonthsShortRegex = matchWord; + function monthsShortRegex (isStrict) { + if (this._monthsParseExact) { + if (!hasOwnProp(this, '_monthsRegex')) { + computeMonthsParse.call(this); + } + if (isStrict) { + return this._monthsShortStrictRegex; + } else { + return this._monthsShortRegex; + } + } else { + if (!hasOwnProp(this, '_monthsShortRegex')) { + this._monthsShortRegex = defaultMonthsShortRegex; + } + return this._monthsShortStrictRegex && isStrict ? + this._monthsShortStrictRegex : this._monthsShortRegex; + } + } + + var defaultMonthsRegex = matchWord; + function monthsRegex (isStrict) { + if (this._monthsParseExact) { + if (!hasOwnProp(this, '_monthsRegex')) { + computeMonthsParse.call(this); + } + if (isStrict) { + return this._monthsStrictRegex; + } else { + return this._monthsRegex; + } + } else { + if (!hasOwnProp(this, '_monthsRegex')) { + this._monthsRegex = defaultMonthsRegex; + } + return this._monthsStrictRegex && isStrict ? + this._monthsStrictRegex : this._monthsRegex; + } + } + + function computeMonthsParse () { + function cmpLenRev(a, b) { + return b.length - a.length; + } + + var shortPieces = [], longPieces = [], mixedPieces = [], + i, mom; + for (i = 0; i < 12; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, i]); + shortPieces.push(this.monthsShort(mom, '')); + longPieces.push(this.months(mom, '')); + mixedPieces.push(this.months(mom, '')); + mixedPieces.push(this.monthsShort(mom, '')); + } + // Sorting makes sure if one month (or abbr) is a prefix of another it + // will match the longer piece. + shortPieces.sort(cmpLenRev); + longPieces.sort(cmpLenRev); + mixedPieces.sort(cmpLenRev); + for (i = 0; i < 12; i++) { + shortPieces[i] = regexEscape(shortPieces[i]); + longPieces[i] = regexEscape(longPieces[i]); + } + for (i = 0; i < 24; i++) { + mixedPieces[i] = regexEscape(mixedPieces[i]); + } + + this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); + this._monthsShortRegex = this._monthsRegex; + this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i'); + this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i'); + } + + function createDate (y, m, d, h, M, s, ms) { + // can't just apply() to create a date: + // https://stackoverflow.com/q/181348 + var date; + // the date constructor remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + date = new Date(y + 400, m, d, h, M, s, ms); + if (isFinite(date.getFullYear())) { + date.setFullYear(y); + } + } else { + date = new Date(y, m, d, h, M, s, ms); + } + + return date; + } + + function createUTCDate (y) { + var date; + // the Date.UTC function remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + var args = Array.prototype.slice.call(arguments); + // preserve leap years using a full 400 year cycle, then reset + args[0] = y + 400; + date = new Date(Date.UTC.apply(null, args)); + if (isFinite(date.getUTCFullYear())) { + date.setUTCFullYear(y); + } + } else { + date = new Date(Date.UTC.apply(null, arguments)); + } + + return date; + } + + // start-of-first-week - start-of-year + function firstWeekOffset(year, dow, doy) { + var // first-week day -- which january is always in the first week (4 for iso, 1 for other) + fwd = 7 + dow - doy, + // first-week day local weekday -- which local weekday is fwd + fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7; + + return -fwdlw + fwd - 1; + } + + // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday + function dayOfYearFromWeeks(year, week, weekday, dow, doy) { + var localWeekday = (7 + weekday - dow) % 7, + weekOffset = firstWeekOffset(year, dow, doy), + dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset, + resYear, resDayOfYear; + + if (dayOfYear <= 0) { + resYear = year - 1; + resDayOfYear = daysInYear(resYear) + dayOfYear; + } else if (dayOfYear > daysInYear(year)) { + resYear = year + 1; + resDayOfYear = dayOfYear - daysInYear(year); + } else { + resYear = year; + resDayOfYear = dayOfYear; + } + + return { + year: resYear, + dayOfYear: resDayOfYear + }; + } + + function weekOfYear(mom, dow, doy) { + var weekOffset = firstWeekOffset(mom.year(), dow, doy), + week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1, + resWeek, resYear; + + if (week < 1) { + resYear = mom.year() - 1; + resWeek = week + weeksInYear(resYear, dow, doy); + } else if (week > weeksInYear(mom.year(), dow, doy)) { + resWeek = week - weeksInYear(mom.year(), dow, doy); + resYear = mom.year() + 1; + } else { + resYear = mom.year(); + resWeek = week; + } + + return { + week: resWeek, + year: resYear + }; + } + + function weeksInYear(year, dow, doy) { + var weekOffset = firstWeekOffset(year, dow, doy), + weekOffsetNext = firstWeekOffset(year + 1, dow, doy); + return (daysInYear(year) - weekOffset + weekOffsetNext) / 7; + } + + // FORMATTING + + addFormatToken('w', ['ww', 2], 'wo', 'week'); + addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek'); + + // ALIASES + + addUnitAlias('week', 'w'); + addUnitAlias('isoWeek', 'W'); + + // PRIORITIES + + addUnitPriority('week', 5); + addUnitPriority('isoWeek', 5); + + // PARSING + + addRegexToken('w', match1to2); + addRegexToken('ww', match1to2, match2); + addRegexToken('W', match1to2); + addRegexToken('WW', match1to2, match2); + + addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) { + week[token.substr(0, 1)] = toInt(input); + }); + + // HELPERS + + // LOCALES + + function localeWeek (mom) { + return weekOfYear(mom, this._week.dow, this._week.doy).week; + } + + var defaultLocaleWeek = { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + }; + + function localeFirstDayOfWeek () { + return this._week.dow; + } + + function localeFirstDayOfYear () { + return this._week.doy; + } + + // MOMENTS + + function getSetWeek (input) { + var week = this.localeData().week(this); + return input == null ? week : this.add((input - week) * 7, 'd'); + } + + function getSetISOWeek (input) { + var week = weekOfYear(this, 1, 4).week; + return input == null ? week : this.add((input - week) * 7, 'd'); + } + + // FORMATTING + + addFormatToken('d', 0, 'do', 'day'); + + addFormatToken('dd', 0, 0, function (format) { + return this.localeData().weekdaysMin(this, format); + }); + + addFormatToken('ddd', 0, 0, function (format) { + return this.localeData().weekdaysShort(this, format); + }); + + addFormatToken('dddd', 0, 0, function (format) { + return this.localeData().weekdays(this, format); + }); + + addFormatToken('e', 0, 0, 'weekday'); + addFormatToken('E', 0, 0, 'isoWeekday'); + + // ALIASES + + addUnitAlias('day', 'd'); + addUnitAlias('weekday', 'e'); + addUnitAlias('isoWeekday', 'E'); + + // PRIORITY + addUnitPriority('day', 11); + addUnitPriority('weekday', 11); + addUnitPriority('isoWeekday', 11); + + // PARSING + + addRegexToken('d', match1to2); + addRegexToken('e', match1to2); + addRegexToken('E', match1to2); + addRegexToken('dd', function (isStrict, locale) { + return locale.weekdaysMinRegex(isStrict); + }); + addRegexToken('ddd', function (isStrict, locale) { + return locale.weekdaysShortRegex(isStrict); + }); + addRegexToken('dddd', function (isStrict, locale) { + return locale.weekdaysRegex(isStrict); + }); + + addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) { + var weekday = config._locale.weekdaysParse(input, token, config._strict); + // if we didn't get a weekday name, mark the date as invalid + if (weekday != null) { + week.d = weekday; + } else { + getParsingFlags(config).invalidWeekday = input; + } + }); + + addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) { + week[token] = toInt(input); + }); + + // HELPERS + + function parseWeekday(input, locale) { + if (typeof input !== 'string') { + return input; + } + + if (!isNaN(input)) { + return parseInt(input, 10); + } + + input = locale.weekdaysParse(input); + if (typeof input === 'number') { + return input; + } + + return null; + } + + function parseIsoWeekday(input, locale) { + if (typeof input === 'string') { + return locale.weekdaysParse(input) % 7 || 7; + } + return isNaN(input) ? null : input; + } + + // LOCALES + function shiftWeekdays (ws, n) { + return ws.slice(n, 7).concat(ws.slice(0, n)); + } + + var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'); + function localeWeekdays (m, format) { + var weekdays = isArray(this._weekdays) ? this._weekdays : + this._weekdays[(m && m !== true && this._weekdays.isFormat.test(format)) ? 'format' : 'standalone']; + return (m === true) ? shiftWeekdays(weekdays, this._week.dow) + : (m) ? weekdays[m.day()] : weekdays; + } + + var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'); + function localeWeekdaysShort (m) { + return (m === true) ? shiftWeekdays(this._weekdaysShort, this._week.dow) + : (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort; + } + + var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'); + function localeWeekdaysMin (m) { + return (m === true) ? shiftWeekdays(this._weekdaysMin, this._week.dow) + : (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin; + } + + function handleStrictParse$1(weekdayName, format, strict) { + var i, ii, mom, llc = weekdayName.toLocaleLowerCase(); + if (!this._weekdaysParse) { + this._weekdaysParse = []; + this._shortWeekdaysParse = []; + this._minWeekdaysParse = []; + + for (i = 0; i < 7; ++i) { + mom = createUTC([2000, 1]).day(i); + this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase(); + this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase(); + this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase(); + } + } + + if (strict) { + if (format === 'dddd') { + ii = indexOf.call(this._weekdaysParse, llc); + return ii !== -1 ? ii : null; + } else if (format === 'ddd') { + ii = indexOf.call(this._shortWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } + } else { + if (format === 'dddd') { + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else if (format === 'ddd') { + ii = indexOf.call(this._shortWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._minWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } + } + } + + function localeWeekdaysParse (weekdayName, format, strict) { + var i, mom, regex; + + if (this._weekdaysParseExact) { + return handleStrictParse$1.call(this, weekdayName, format, strict); + } + + if (!this._weekdaysParse) { + this._weekdaysParse = []; + this._minWeekdaysParse = []; + this._shortWeekdaysParse = []; + this._fullWeekdaysParse = []; + } + + for (i = 0; i < 7; i++) { + // make the regex if we don't have it already + + mom = createUTC([2000, 1]).day(i); + if (strict && !this._fullWeekdaysParse[i]) { + this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', 'i'); + this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', 'i'); + this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', 'i'); + } + if (!this._weekdaysParse[i]) { + regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, ''); + this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i'); + } + // test the regex + if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) { + return i; + } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) { + return i; + } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) { + return i; + } else if (!strict && this._weekdaysParse[i].test(weekdayName)) { + return i; + } + } + } + + // MOMENTS + + function getSetDayOfWeek (input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); + if (input != null) { + input = parseWeekday(input, this.localeData()); + return this.add(input - day, 'd'); + } else { + return day; + } + } + + function getSetLocaleDayOfWeek (input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; + return input == null ? weekday : this.add(input - weekday, 'd'); + } + + function getSetISODayOfWeek (input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + + // behaves the same as moment#day except + // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6) + // as a setter, sunday should belong to the previous week. + + if (input != null) { + var weekday = parseIsoWeekday(input, this.localeData()); + return this.day(this.day() % 7 ? weekday : weekday - 7); + } else { + return this.day() || 7; + } + } + + var defaultWeekdaysRegex = matchWord; + function weekdaysRegex (isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysStrictRegex; + } else { + return this._weekdaysRegex; + } + } else { + if (!hasOwnProp(this, '_weekdaysRegex')) { + this._weekdaysRegex = defaultWeekdaysRegex; + } + return this._weekdaysStrictRegex && isStrict ? + this._weekdaysStrictRegex : this._weekdaysRegex; + } + } + + var defaultWeekdaysShortRegex = matchWord; + function weekdaysShortRegex (isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysShortStrictRegex; + } else { + return this._weekdaysShortRegex; + } + } else { + if (!hasOwnProp(this, '_weekdaysShortRegex')) { + this._weekdaysShortRegex = defaultWeekdaysShortRegex; + } + return this._weekdaysShortStrictRegex && isStrict ? + this._weekdaysShortStrictRegex : this._weekdaysShortRegex; + } + } + + var defaultWeekdaysMinRegex = matchWord; + function weekdaysMinRegex (isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysMinStrictRegex; + } else { + return this._weekdaysMinRegex; + } + } else { + if (!hasOwnProp(this, '_weekdaysMinRegex')) { + this._weekdaysMinRegex = defaultWeekdaysMinRegex; + } + return this._weekdaysMinStrictRegex && isStrict ? + this._weekdaysMinStrictRegex : this._weekdaysMinRegex; + } + } + + + function computeWeekdaysParse () { + function cmpLenRev(a, b) { + return b.length - a.length; + } + + var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [], + i, mom, minp, shortp, longp; + for (i = 0; i < 7; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, 1]).day(i); + minp = this.weekdaysMin(mom, ''); + shortp = this.weekdaysShort(mom, ''); + longp = this.weekdays(mom, ''); + minPieces.push(minp); + shortPieces.push(shortp); + longPieces.push(longp); + mixedPieces.push(minp); + mixedPieces.push(shortp); + mixedPieces.push(longp); + } + // Sorting makes sure if one weekday (or abbr) is a prefix of another it + // will match the longer piece. + minPieces.sort(cmpLenRev); + shortPieces.sort(cmpLenRev); + longPieces.sort(cmpLenRev); + mixedPieces.sort(cmpLenRev); + for (i = 0; i < 7; i++) { + shortPieces[i] = regexEscape(shortPieces[i]); + longPieces[i] = regexEscape(longPieces[i]); + mixedPieces[i] = regexEscape(mixedPieces[i]); + } + + this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); + this._weekdaysShortRegex = this._weekdaysRegex; + this._weekdaysMinRegex = this._weekdaysRegex; + + this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i'); + this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i'); + this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i'); + } + + // FORMATTING + + function hFormat() { + return this.hours() % 12 || 12; + } + + function kFormat() { + return this.hours() || 24; + } + + addFormatToken('H', ['HH', 2], 0, 'hour'); + addFormatToken('h', ['hh', 2], 0, hFormat); + addFormatToken('k', ['kk', 2], 0, kFormat); + + addFormatToken('hmm', 0, 0, function () { + return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2); + }); + + addFormatToken('hmmss', 0, 0, function () { + return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) + + zeroFill(this.seconds(), 2); + }); + + addFormatToken('Hmm', 0, 0, function () { + return '' + this.hours() + zeroFill(this.minutes(), 2); + }); + + addFormatToken('Hmmss', 0, 0, function () { + return '' + this.hours() + zeroFill(this.minutes(), 2) + + zeroFill(this.seconds(), 2); + }); + + function meridiem (token, lowercase) { + addFormatToken(token, 0, 0, function () { + return this.localeData().meridiem(this.hours(), this.minutes(), lowercase); + }); + } + + meridiem('a', true); + meridiem('A', false); + + // ALIASES + + addUnitAlias('hour', 'h'); + + // PRIORITY + addUnitPriority('hour', 13); + + // PARSING + + function matchMeridiem (isStrict, locale) { + return locale._meridiemParse; + } + + addRegexToken('a', matchMeridiem); + addRegexToken('A', matchMeridiem); + addRegexToken('H', match1to2); + addRegexToken('h', match1to2); + addRegexToken('k', match1to2); + addRegexToken('HH', match1to2, match2); + addRegexToken('hh', match1to2, match2); + addRegexToken('kk', match1to2, match2); + + addRegexToken('hmm', match3to4); + addRegexToken('hmmss', match5to6); + addRegexToken('Hmm', match3to4); + addRegexToken('Hmmss', match5to6); + + addParseToken(['H', 'HH'], HOUR); + addParseToken(['k', 'kk'], function (input, array, config) { + var kInput = toInt(input); + array[HOUR] = kInput === 24 ? 0 : kInput; + }); + addParseToken(['a', 'A'], function (input, array, config) { + config._isPm = config._locale.isPM(input); + config._meridiem = input; + }); + addParseToken(['h', 'hh'], function (input, array, config) { + array[HOUR] = toInt(input); + getParsingFlags(config).bigHour = true; + }); + addParseToken('hmm', function (input, array, config) { + var pos = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos)); + array[MINUTE] = toInt(input.substr(pos)); + getParsingFlags(config).bigHour = true; + }); + addParseToken('hmmss', function (input, array, config) { + var pos1 = input.length - 4; + var pos2 = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos1)); + array[MINUTE] = toInt(input.substr(pos1, 2)); + array[SECOND] = toInt(input.substr(pos2)); + getParsingFlags(config).bigHour = true; + }); + addParseToken('Hmm', function (input, array, config) { + var pos = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos)); + array[MINUTE] = toInt(input.substr(pos)); + }); + addParseToken('Hmmss', function (input, array, config) { + var pos1 = input.length - 4; + var pos2 = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos1)); + array[MINUTE] = toInt(input.substr(pos1, 2)); + array[SECOND] = toInt(input.substr(pos2)); + }); + + // LOCALES + + function localeIsPM (input) { + // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays + // Using charAt should be more compatible. + return ((input + '').toLowerCase().charAt(0) === 'p'); + } + + var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i; + function localeMeridiem (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'pm' : 'PM'; + } else { + return isLower ? 'am' : 'AM'; + } + } + + + // MOMENTS + + // Setting the hour should keep the time, because the user explicitly + // specified which hour they want. So trying to maintain the same hour (in + // a new timezone) makes sense. Adding/subtracting hours does not follow + // this rule. + var getSetHour = makeGetSet('Hours', true); + + var baseConfig = { + calendar: defaultCalendar, + longDateFormat: defaultLongDateFormat, + invalidDate: defaultInvalidDate, + ordinal: defaultOrdinal, + dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse, + relativeTime: defaultRelativeTime, + + months: defaultLocaleMonths, + monthsShort: defaultLocaleMonthsShort, + + week: defaultLocaleWeek, + + weekdays: defaultLocaleWeekdays, + weekdaysMin: defaultLocaleWeekdaysMin, + weekdaysShort: defaultLocaleWeekdaysShort, + + meridiemParse: defaultLocaleMeridiemParse + }; + + // internal storage for locale config files + var locales = {}; + var localeFamilies = {}; + var globalLocale; + + function normalizeLocale(key) { + return key ? key.toLowerCase().replace('_', '-') : key; + } + + // pick the locale from the array + // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each + // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root + function chooseLocale(names) { + var i = 0, j, next, locale, split; + + while (i < names.length) { + split = normalizeLocale(names[i]).split('-'); + j = split.length; + next = normalizeLocale(names[i + 1]); + next = next ? next.split('-') : null; + while (j > 0) { + locale = loadLocale(split.slice(0, j).join('-')); + if (locale) { + return locale; + } + if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) { + //the next array item is better than a shallower substring of this one + break; + } + j--; + } + i++; + } + return globalLocale; + } + + function loadLocale(name) { + var oldLocale = null; + // TODO: Find a better way to register and load all the locales in Node + if (!locales[name] && (typeof module !== 'undefined') && + module && module.exports) { + try { + oldLocale = globalLocale._abbr; + var aliasedRequire = require; + aliasedRequire('./locale/' + name); + getSetGlobalLocale(oldLocale); + } catch (e) {} + } + return locales[name]; + } + + // This function will load locale and then set the global locale. If + // no arguments are passed in, it will simply return the current global + // locale key. + function getSetGlobalLocale (key, values) { + var data; + if (key) { + if (isUndefined(values)) { + data = getLocale(key); + } + else { + data = defineLocale(key, values); + } + + if (data) { + // moment.duration._locale = moment._locale = data; + globalLocale = data; + } + else { + if ((typeof console !== 'undefined') && console.warn) { + //warn user if arguments are passed but the locale could not be set + console.warn('Locale ' + key + ' not found. Did you forget to load it?'); + } + } + } + + return globalLocale._abbr; + } + + function defineLocale (name, config) { + if (config !== null) { + var locale, parentConfig = baseConfig; + config.abbr = name; + if (locales[name] != null) { + deprecateSimple('defineLocaleOverride', + 'use moment.updateLocale(localeName, config) to change ' + + 'an existing locale. moment.defineLocale(localeName, ' + + 'config) should only be used for creating a new locale ' + + 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'); + parentConfig = locales[name]._config; + } else if (config.parentLocale != null) { + if (locales[config.parentLocale] != null) { + parentConfig = locales[config.parentLocale]._config; + } else { + locale = loadLocale(config.parentLocale); + if (locale != null) { + parentConfig = locale._config; + } else { + if (!localeFamilies[config.parentLocale]) { + localeFamilies[config.parentLocale] = []; + } + localeFamilies[config.parentLocale].push({ + name: name, + config: config + }); + return null; + } + } + } + locales[name] = new Locale(mergeConfigs(parentConfig, config)); + + if (localeFamilies[name]) { + localeFamilies[name].forEach(function (x) { + defineLocale(x.name, x.config); + }); + } + + // backwards compat for now: also set the locale + // make sure we set the locale AFTER all child locales have been + // created, so we won't end up with the child locale set. + getSetGlobalLocale(name); + + + return locales[name]; + } else { + // useful for testing + delete locales[name]; + return null; + } + } + + function updateLocale(name, config) { + if (config != null) { + var locale, tmpLocale, parentConfig = baseConfig; + // MERGE + tmpLocale = loadLocale(name); + if (tmpLocale != null) { + parentConfig = tmpLocale._config; + } + config = mergeConfigs(parentConfig, config); + locale = new Locale(config); + locale.parentLocale = locales[name]; + locales[name] = locale; + + // backwards compat for now: also set the locale + getSetGlobalLocale(name); + } else { + // pass null for config to unupdate, useful for tests + if (locales[name] != null) { + if (locales[name].parentLocale != null) { + locales[name] = locales[name].parentLocale; + } else if (locales[name] != null) { + delete locales[name]; + } + } + } + return locales[name]; + } + + // returns locale data + function getLocale (key) { + var locale; + + if (key && key._locale && key._locale._abbr) { + key = key._locale._abbr; + } + + if (!key) { + return globalLocale; + } + + if (!isArray(key)) { + //short-circuit everything else + locale = loadLocale(key); + if (locale) { + return locale; + } + key = [key]; + } + + return chooseLocale(key); + } + + function listLocales() { + return keys(locales); + } + + function checkOverflow (m) { + var overflow; + var a = m._a; + + if (a && getParsingFlags(m).overflow === -2) { + overflow = + a[MONTH] < 0 || a[MONTH] > 11 ? MONTH : + a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE : + a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR : + a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE : + a[SECOND] < 0 || a[SECOND] > 59 ? SECOND : + a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND : + -1; + + if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) { + overflow = DATE; + } + if (getParsingFlags(m)._overflowWeeks && overflow === -1) { + overflow = WEEK; + } + if (getParsingFlags(m)._overflowWeekday && overflow === -1) { + overflow = WEEKDAY; + } + + getParsingFlags(m).overflow = overflow; + } + + return m; + } + + // Pick the first defined of two or three arguments. + function defaults(a, b, c) { + if (a != null) { + return a; + } + if (b != null) { + return b; + } + return c; + } + + function currentDateArray(config) { + // hooks is actually the exported moment object + var nowValue = new Date(hooks.now()); + if (config._useUTC) { + return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()]; + } + return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()]; + } + + // convert an array to a date. + // the array should mirror the parameters below + // note: all values past the year are optional and will default to the lowest possible value. + // [year, month, day , hour, minute, second, millisecond] + function configFromArray (config) { + var i, date, input = [], currentDate, expectedWeekday, yearToUse; + + if (config._d) { + return; + } + + currentDate = currentDateArray(config); + + //compute day of the year from weeks and weekdays + if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { + dayOfYearFromWeekInfo(config); + } + + //if the day of the year is set, figure out what it is + if (config._dayOfYear != null) { + yearToUse = defaults(config._a[YEAR], currentDate[YEAR]); + + if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) { + getParsingFlags(config)._overflowDayOfYear = true; + } + + date = createUTCDate(yearToUse, 0, config._dayOfYear); + config._a[MONTH] = date.getUTCMonth(); + config._a[DATE] = date.getUTCDate(); + } + + // Default to current date. + // * if no year, month, day of month are given, default to today + // * if day of month is given, default month and year + // * if month is given, default only year + // * if year is given, don't default anything + for (i = 0; i < 3 && config._a[i] == null; ++i) { + config._a[i] = input[i] = currentDate[i]; + } + + // Zero out whatever was not defaulted, including time + for (; i < 7; i++) { + config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i]; + } + + // Check for 24:00:00.000 + if (config._a[HOUR] === 24 && + config._a[MINUTE] === 0 && + config._a[SECOND] === 0 && + config._a[MILLISECOND] === 0) { + config._nextDay = true; + config._a[HOUR] = 0; + } + + config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input); + expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay(); + + // Apply timezone offset from input. The actual utcOffset can be changed + // with parseZone. + if (config._tzm != null) { + config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); + } + + if (config._nextDay) { + config._a[HOUR] = 24; + } + + // check for mismatching day of week + if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) { + getParsingFlags(config).weekdayMismatch = true; + } + } + + function dayOfYearFromWeekInfo(config) { + var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow; + + w = config._w; + if (w.GG != null || w.W != null || w.E != null) { + dow = 1; + doy = 4; + + // TODO: We need to take the current isoWeekYear, but that depends on + // how we interpret now (local, utc, fixed offset). So create + // a now version of current config (take local/utc/offset flags, and + // create now). + weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year); + week = defaults(w.W, 1); + weekday = defaults(w.E, 1); + if (weekday < 1 || weekday > 7) { + weekdayOverflow = true; + } + } else { + dow = config._locale._week.dow; + doy = config._locale._week.doy; + + var curWeek = weekOfYear(createLocal(), dow, doy); + + weekYear = defaults(w.gg, config._a[YEAR], curWeek.year); + + // Default to current week. + week = defaults(w.w, curWeek.week); + + if (w.d != null) { + // weekday -- low day numbers are considered next week + weekday = w.d; + if (weekday < 0 || weekday > 6) { + weekdayOverflow = true; + } + } else if (w.e != null) { + // local weekday -- counting starts from beginning of week + weekday = w.e + dow; + if (w.e < 0 || w.e > 6) { + weekdayOverflow = true; + } + } else { + // default to beginning of week + weekday = dow; + } + } + if (week < 1 || week > weeksInYear(weekYear, dow, doy)) { + getParsingFlags(config)._overflowWeeks = true; + } else if (weekdayOverflow != null) { + getParsingFlags(config)._overflowWeekday = true; + } else { + temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy); + config._a[YEAR] = temp.year; + config._dayOfYear = temp.dayOfYear; + } + } + + // iso 8601 regex + // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00) + var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/; + var basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/; + + var tzRegex = /Z|[+-]\d\d(?::?\d\d)?/; + + var isoDates = [ + ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/], + ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/], + ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/], + ['GGGG-[W]WW', /\d{4}-W\d\d/, false], + ['YYYY-DDD', /\d{4}-\d{3}/], + ['YYYY-MM', /\d{4}-\d\d/, false], + ['YYYYYYMMDD', /[+-]\d{10}/], + ['YYYYMMDD', /\d{8}/], + // YYYYMM is NOT allowed by the standard + ['GGGG[W]WWE', /\d{4}W\d{3}/], + ['GGGG[W]WW', /\d{4}W\d{2}/, false], + ['YYYYDDD', /\d{7}/] + ]; + + // iso time formats and regexes + var isoTimes = [ + ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/], + ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/], + ['HH:mm:ss', /\d\d:\d\d:\d\d/], + ['HH:mm', /\d\d:\d\d/], + ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/], + ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/], + ['HHmmss', /\d\d\d\d\d\d/], + ['HHmm', /\d\d\d\d/], + ['HH', /\d\d/] + ]; + + var aspNetJsonRegex = /^\/?Date\((\-?\d+)/i; + + // date from iso format + function configFromISO(config) { + var i, l, + string = config._i, + match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string), + allowTime, dateFormat, timeFormat, tzFormat; + + if (match) { + getParsingFlags(config).iso = true; + + for (i = 0, l = isoDates.length; i < l; i++) { + if (isoDates[i][1].exec(match[1])) { + dateFormat = isoDates[i][0]; + allowTime = isoDates[i][2] !== false; + break; + } + } + if (dateFormat == null) { + config._isValid = false; + return; + } + if (match[3]) { + for (i = 0, l = isoTimes.length; i < l; i++) { + if (isoTimes[i][1].exec(match[3])) { + // match[2] should be 'T' or space + timeFormat = (match[2] || ' ') + isoTimes[i][0]; + break; + } + } + if (timeFormat == null) { + config._isValid = false; + return; + } + } + if (!allowTime && timeFormat != null) { + config._isValid = false; + return; + } + if (match[4]) { + if (tzRegex.exec(match[4])) { + tzFormat = 'Z'; + } else { + config._isValid = false; + return; + } + } + config._f = dateFormat + (timeFormat || '') + (tzFormat || ''); + configFromStringAndFormat(config); + } else { + config._isValid = false; + } + } + + // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3 + var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/; + + function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) { + var result = [ + untruncateYear(yearStr), + defaultLocaleMonthsShort.indexOf(monthStr), + parseInt(dayStr, 10), + parseInt(hourStr, 10), + parseInt(minuteStr, 10) + ]; + + if (secondStr) { + result.push(parseInt(secondStr, 10)); + } + + return result; + } + + function untruncateYear(yearStr) { + var year = parseInt(yearStr, 10); + if (year <= 49) { + return 2000 + year; + } else if (year <= 999) { + return 1900 + year; + } + return year; + } + + function preprocessRFC2822(s) { + // Remove comments and folding whitespace and replace multiple-spaces with a single space + return s.replace(/\([^)]*\)|[\n\t]/g, ' ').replace(/(\s\s+)/g, ' ').replace(/^\s\s*/, '').replace(/\s\s*$/, ''); + } + + function checkWeekday(weekdayStr, parsedInput, config) { + if (weekdayStr) { + // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check. + var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr), + weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay(); + if (weekdayProvided !== weekdayActual) { + getParsingFlags(config).weekdayMismatch = true; + config._isValid = false; + return false; + } + } + return true; + } + + var obsOffsets = { + UT: 0, + GMT: 0, + EDT: -4 * 60, + EST: -5 * 60, + CDT: -5 * 60, + CST: -6 * 60, + MDT: -6 * 60, + MST: -7 * 60, + PDT: -7 * 60, + PST: -8 * 60 + }; + + function calculateOffset(obsOffset, militaryOffset, numOffset) { + if (obsOffset) { + return obsOffsets[obsOffset]; + } else if (militaryOffset) { + // the only allowed military tz is Z + return 0; + } else { + var hm = parseInt(numOffset, 10); + var m = hm % 100, h = (hm - m) / 100; + return h * 60 + m; + } + } + + // date and time from ref 2822 format + function configFromRFC2822(config) { + var match = rfc2822.exec(preprocessRFC2822(config._i)); + if (match) { + var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]); + if (!checkWeekday(match[1], parsedArray, config)) { + return; + } + + config._a = parsedArray; + config._tzm = calculateOffset(match[8], match[9], match[10]); + + config._d = createUTCDate.apply(null, config._a); + config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); + + getParsingFlags(config).rfc2822 = true; + } else { + config._isValid = false; + } + } + + // date from iso format or fallback + function configFromString(config) { + var matched = aspNetJsonRegex.exec(config._i); + + if (matched !== null) { + config._d = new Date(+matched[1]); + return; + } + + configFromISO(config); + if (config._isValid === false) { + delete config._isValid; + } else { + return; + } + + configFromRFC2822(config); + if (config._isValid === false) { + delete config._isValid; + } else { + return; + } + + // Final attempt, use Input Fallback + hooks.createFromInputFallback(config); + } + + hooks.createFromInputFallback = deprecate( + 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' + + 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' + + 'discouraged and will be removed in an upcoming major release. Please refer to ' + + 'http://momentjs.com/guides/#/warnings/js-date/ for more info.', + function (config) { + config._d = new Date(config._i + (config._useUTC ? ' UTC' : '')); + } + ); + + // constant that refers to the ISO standard + hooks.ISO_8601 = function () {}; + + // constant that refers to the RFC 2822 form + hooks.RFC_2822 = function () {}; + + // date from string and format string + function configFromStringAndFormat(config) { + // TODO: Move this to another part of the creation flow to prevent circular deps + if (config._f === hooks.ISO_8601) { + configFromISO(config); + return; + } + if (config._f === hooks.RFC_2822) { + configFromRFC2822(config); + return; + } + config._a = []; + getParsingFlags(config).empty = true; + + // This array is used to make a Date, either with `new Date` or `Date.UTC` + var string = '' + config._i, + i, parsedInput, tokens, token, skipped, + stringLength = string.length, + totalParsedInputLength = 0; + + tokens = expandFormat(config._f, config._locale).match(formattingTokens) || []; + + for (i = 0; i < tokens.length; i++) { + token = tokens[i]; + parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0]; + // console.log('token', token, 'parsedInput', parsedInput, + // 'regex', getParseRegexForToken(token, config)); + if (parsedInput) { + skipped = string.substr(0, string.indexOf(parsedInput)); + if (skipped.length > 0) { + getParsingFlags(config).unusedInput.push(skipped); + } + string = string.slice(string.indexOf(parsedInput) + parsedInput.length); + totalParsedInputLength += parsedInput.length; + } + // don't parse if it's not a known token + if (formatTokenFunctions[token]) { + if (parsedInput) { + getParsingFlags(config).empty = false; + } + else { + getParsingFlags(config).unusedTokens.push(token); + } + addTimeToArrayFromToken(token, parsedInput, config); + } + else if (config._strict && !parsedInput) { + getParsingFlags(config).unusedTokens.push(token); + } + } + + // add remaining unparsed input length to the string + getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength; + if (string.length > 0) { + getParsingFlags(config).unusedInput.push(string); + } + + // clear _12h flag if hour is <= 12 + if (config._a[HOUR] <= 12 && + getParsingFlags(config).bigHour === true && + config._a[HOUR] > 0) { + getParsingFlags(config).bigHour = undefined; + } + + getParsingFlags(config).parsedDateParts = config._a.slice(0); + getParsingFlags(config).meridiem = config._meridiem; + // handle meridiem + config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem); + + configFromArray(config); + checkOverflow(config); + } + + + function meridiemFixWrap (locale, hour, meridiem) { + var isPm; + + if (meridiem == null) { + // nothing to do + return hour; + } + if (locale.meridiemHour != null) { + return locale.meridiemHour(hour, meridiem); + } else if (locale.isPM != null) { + // Fallback + isPm = locale.isPM(meridiem); + if (isPm && hour < 12) { + hour += 12; + } + if (!isPm && hour === 12) { + hour = 0; + } + return hour; + } else { + // this is not supposed to happen + return hour; + } + } + + // date from string and array of format strings + function configFromStringAndArray(config) { + var tempConfig, + bestMoment, + + scoreToBeat, + i, + currentScore; + + if (config._f.length === 0) { + getParsingFlags(config).invalidFormat = true; + config._d = new Date(NaN); + return; + } + + for (i = 0; i < config._f.length; i++) { + currentScore = 0; + tempConfig = copyConfig({}, config); + if (config._useUTC != null) { + tempConfig._useUTC = config._useUTC; + } + tempConfig._f = config._f[i]; + configFromStringAndFormat(tempConfig); + + if (!isValid(tempConfig)) { + continue; + } + + // if there is any input that was not parsed add a penalty for that format + currentScore += getParsingFlags(tempConfig).charsLeftOver; + + //or tokens + currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10; + + getParsingFlags(tempConfig).score = currentScore; + + if (scoreToBeat == null || currentScore < scoreToBeat) { + scoreToBeat = currentScore; + bestMoment = tempConfig; + } + } + + extend(config, bestMoment || tempConfig); + } + + function configFromObject(config) { + if (config._d) { + return; + } + + var i = normalizeObjectUnits(config._i); + config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) { + return obj && parseInt(obj, 10); + }); + + configFromArray(config); + } + + function createFromConfig (config) { + var res = new Moment(checkOverflow(prepareConfig(config))); + if (res._nextDay) { + // Adding is smart enough around DST + res.add(1, 'd'); + res._nextDay = undefined; + } + + return res; + } + + function prepareConfig (config) { + var input = config._i, + format = config._f; + + config._locale = config._locale || getLocale(config._l); + + if (input === null || (format === undefined && input === '')) { + return createInvalid({nullInput: true}); + } + + if (typeof input === 'string') { + config._i = input = config._locale.preparse(input); + } + + if (isMoment(input)) { + return new Moment(checkOverflow(input)); + } else if (isDate(input)) { + config._d = input; + } else if (isArray(format)) { + configFromStringAndArray(config); + } else if (format) { + configFromStringAndFormat(config); + } else { + configFromInput(config); + } + + if (!isValid(config)) { + config._d = null; + } + + return config; + } + + function configFromInput(config) { + var input = config._i; + if (isUndefined(input)) { + config._d = new Date(hooks.now()); + } else if (isDate(input)) { + config._d = new Date(input.valueOf()); + } else if (typeof input === 'string') { + configFromString(config); + } else if (isArray(input)) { + config._a = map(input.slice(0), function (obj) { + return parseInt(obj, 10); + }); + configFromArray(config); + } else if (isObject(input)) { + configFromObject(config); + } else if (isNumber(input)) { + // from milliseconds + config._d = new Date(input); + } else { + hooks.createFromInputFallback(config); + } + } + + function createLocalOrUTC (input, format, locale, strict, isUTC) { + var c = {}; + + if (locale === true || locale === false) { + strict = locale; + locale = undefined; + } + + if ((isObject(input) && isObjectEmpty(input)) || + (isArray(input) && input.length === 0)) { + input = undefined; + } + // object construction must be done this way. + // https://github.com/moment/moment/issues/1423 + c._isAMomentObject = true; + c._useUTC = c._isUTC = isUTC; + c._l = locale; + c._i = input; + c._f = format; + c._strict = strict; + + return createFromConfig(c); + } + + function createLocal (input, format, locale, strict) { + return createLocalOrUTC(input, format, locale, strict, false); + } + + var prototypeMin = deprecate( + 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', + function () { + var other = createLocal.apply(null, arguments); + if (this.isValid() && other.isValid()) { + return other < this ? this : other; + } else { + return createInvalid(); + } + } + ); + + var prototypeMax = deprecate( + 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', + function () { + var other = createLocal.apply(null, arguments); + if (this.isValid() && other.isValid()) { + return other > this ? this : other; + } else { + return createInvalid(); + } + } + ); + + // Pick a moment m from moments so that m[fn](other) is true for all + // other. This relies on the function fn to be transitive. + // + // moments should either be an array of moment objects or an array, whose + // first element is an array of moment objects. + function pickBy(fn, moments) { + var res, i; + if (moments.length === 1 && isArray(moments[0])) { + moments = moments[0]; + } + if (!moments.length) { + return createLocal(); + } + res = moments[0]; + for (i = 1; i < moments.length; ++i) { + if (!moments[i].isValid() || moments[i][fn](res)) { + res = moments[i]; + } + } + return res; + } + + // TODO: Use [].sort instead? + function min () { + var args = [].slice.call(arguments, 0); + + return pickBy('isBefore', args); + } + + function max () { + var args = [].slice.call(arguments, 0); + + return pickBy('isAfter', args); + } + + var now = function () { + return Date.now ? Date.now() : +(new Date()); + }; + + var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond']; + + function isDurationValid(m) { + for (var key in m) { + if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) { + return false; + } + } + + var unitHasDecimal = false; + for (var i = 0; i < ordering.length; ++i) { + if (m[ordering[i]]) { + if (unitHasDecimal) { + return false; // only allow non-integers for smallest unit + } + if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) { + unitHasDecimal = true; + } + } + } + + return true; + } + + function isValid$1() { + return this._isValid; + } + + function createInvalid$1() { + return createDuration(NaN); + } + + function Duration (duration) { + var normalizedInput = normalizeObjectUnits(duration), + years = normalizedInput.year || 0, + quarters = normalizedInput.quarter || 0, + months = normalizedInput.month || 0, + weeks = normalizedInput.week || normalizedInput.isoWeek || 0, + days = normalizedInput.day || 0, + hours = normalizedInput.hour || 0, + minutes = normalizedInput.minute || 0, + seconds = normalizedInput.second || 0, + milliseconds = normalizedInput.millisecond || 0; + + this._isValid = isDurationValid(normalizedInput); + + // representation for dateAddRemove + this._milliseconds = +milliseconds + + seconds * 1e3 + // 1000 + minutes * 6e4 + // 1000 * 60 + hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978 + // Because of dateAddRemove treats 24 hours as different from a + // day when working around DST, we need to store them separately + this._days = +days + + weeks * 7; + // It is impossible to translate months into days without knowing + // which months you are are talking about, so we have to store + // it separately. + this._months = +months + + quarters * 3 + + years * 12; + + this._data = {}; + + this._locale = getLocale(); + + this._bubble(); + } + + function isDuration (obj) { + return obj instanceof Duration; + } + + function absRound (number) { + if (number < 0) { + return Math.round(-1 * number) * -1; + } else { + return Math.round(number); + } + } + + // FORMATTING + + function offset (token, separator) { + addFormatToken(token, 0, 0, function () { + var offset = this.utcOffset(); + var sign = '+'; + if (offset < 0) { + offset = -offset; + sign = '-'; + } + return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2); + }); + } + + offset('Z', ':'); + offset('ZZ', ''); + + // PARSING + + addRegexToken('Z', matchShortOffset); + addRegexToken('ZZ', matchShortOffset); + addParseToken(['Z', 'ZZ'], function (input, array, config) { + config._useUTC = true; + config._tzm = offsetFromString(matchShortOffset, input); + }); + + // HELPERS + + // timezone chunker + // '+10:00' > ['10', '00'] + // '-1530' > ['-15', '30'] + var chunkOffset = /([\+\-]|\d\d)/gi; + + function offsetFromString(matcher, string) { + var matches = (string || '').match(matcher); + + if (matches === null) { + return null; + } + + var chunk = matches[matches.length - 1] || []; + var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0]; + var minutes = +(parts[1] * 60) + toInt(parts[2]); + + return minutes === 0 ? + 0 : + parts[0] === '+' ? minutes : -minutes; + } + + // Return a moment from input, that is local/utc/zone equivalent to model. + function cloneWithOffset(input, model) { + var res, diff; + if (model._isUTC) { + res = model.clone(); + diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf(); + // Use low-level api, because this fn is low-level api. + res._d.setTime(res._d.valueOf() + diff); + hooks.updateOffset(res, false); + return res; + } else { + return createLocal(input).local(); + } + } + + function getDateOffset (m) { + // On Firefox.24 Date#getTimezoneOffset returns a floating point. + // https://github.com/moment/moment/pull/1871 + return -Math.round(m._d.getTimezoneOffset() / 15) * 15; + } + + // HOOKS + + // This function will be called whenever a moment is mutated. + // It is intended to keep the offset in sync with the timezone. + hooks.updateOffset = function () {}; + + // MOMENTS + + // keepLocalTime = true means only change the timezone, without + // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]--> + // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset + // +0200, so we adjust the time as needed, to be valid. + // + // Keeping the time actually adds/subtracts (one hour) + // from the actual represented time. That is why we call updateOffset + // a second time. In case it wants us to change the offset again + // _changeInProgress == true case, then we have to adjust, because + // there is no such time in the given timezone. + function getSetOffset (input, keepLocalTime, keepMinutes) { + var offset = this._offset || 0, + localAdjust; + if (!this.isValid()) { + return input != null ? this : NaN; + } + if (input != null) { + if (typeof input === 'string') { + input = offsetFromString(matchShortOffset, input); + if (input === null) { + return this; + } + } else if (Math.abs(input) < 16 && !keepMinutes) { + input = input * 60; + } + if (!this._isUTC && keepLocalTime) { + localAdjust = getDateOffset(this); + } + this._offset = input; + this._isUTC = true; + if (localAdjust != null) { + this.add(localAdjust, 'm'); + } + if (offset !== input) { + if (!keepLocalTime || this._changeInProgress) { + addSubtract(this, createDuration(input - offset, 'm'), 1, false); + } else if (!this._changeInProgress) { + this._changeInProgress = true; + hooks.updateOffset(this, true); + this._changeInProgress = null; + } + } + return this; + } else { + return this._isUTC ? offset : getDateOffset(this); + } + } + + function getSetZone (input, keepLocalTime) { + if (input != null) { + if (typeof input !== 'string') { + input = -input; + } + + this.utcOffset(input, keepLocalTime); + + return this; + } else { + return -this.utcOffset(); + } + } + + function setOffsetToUTC (keepLocalTime) { + return this.utcOffset(0, keepLocalTime); + } + + function setOffsetToLocal (keepLocalTime) { + if (this._isUTC) { + this.utcOffset(0, keepLocalTime); + this._isUTC = false; + + if (keepLocalTime) { + this.subtract(getDateOffset(this), 'm'); + } + } + return this; + } + + function setOffsetToParsedOffset () { + if (this._tzm != null) { + this.utcOffset(this._tzm, false, true); + } else if (typeof this._i === 'string') { + var tZone = offsetFromString(matchOffset, this._i); + if (tZone != null) { + this.utcOffset(tZone); + } + else { + this.utcOffset(0, true); + } + } + return this; + } + + function hasAlignedHourOffset (input) { + if (!this.isValid()) { + return false; + } + input = input ? createLocal(input).utcOffset() : 0; + + return (this.utcOffset() - input) % 60 === 0; + } + + function isDaylightSavingTime () { + return ( + this.utcOffset() > this.clone().month(0).utcOffset() || + this.utcOffset() > this.clone().month(5).utcOffset() + ); + } + + function isDaylightSavingTimeShifted () { + if (!isUndefined(this._isDSTShifted)) { + return this._isDSTShifted; + } + + var c = {}; + + copyConfig(c, this); + c = prepareConfig(c); + + if (c._a) { + var other = c._isUTC ? createUTC(c._a) : createLocal(c._a); + this._isDSTShifted = this.isValid() && + compareArrays(c._a, other.toArray()) > 0; + } else { + this._isDSTShifted = false; + } + + return this._isDSTShifted; + } + + function isLocal () { + return this.isValid() ? !this._isUTC : false; + } + + function isUtcOffset () { + return this.isValid() ? this._isUTC : false; + } + + function isUtc () { + return this.isValid() ? this._isUTC && this._offset === 0 : false; + } + + // ASP.NET json date format regex + var aspNetRegex = /^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/; + + // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html + // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere + // and further modified to allow for strings containing both week and day + var isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; + + function createDuration (input, key) { + var duration = input, + // matching against regexp is expensive, do it on demand + match = null, + sign, + ret, + diffRes; + + if (isDuration(input)) { + duration = { + ms : input._milliseconds, + d : input._days, + M : input._months + }; + } else if (isNumber(input)) { + duration = {}; + if (key) { + duration[key] = input; + } else { + duration.milliseconds = input; + } + } else if (!!(match = aspNetRegex.exec(input))) { + sign = (match[1] === '-') ? -1 : 1; + duration = { + y : 0, + d : toInt(match[DATE]) * sign, + h : toInt(match[HOUR]) * sign, + m : toInt(match[MINUTE]) * sign, + s : toInt(match[SECOND]) * sign, + ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match + }; + } else if (!!(match = isoRegex.exec(input))) { + sign = (match[1] === '-') ? -1 : 1; + duration = { + y : parseIso(match[2], sign), + M : parseIso(match[3], sign), + w : parseIso(match[4], sign), + d : parseIso(match[5], sign), + h : parseIso(match[6], sign), + m : parseIso(match[7], sign), + s : parseIso(match[8], sign) + }; + } else if (duration == null) {// checks for null or undefined + duration = {}; + } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) { + diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to)); + + duration = {}; + duration.ms = diffRes.milliseconds; + duration.M = diffRes.months; + } + + ret = new Duration(duration); + + if (isDuration(input) && hasOwnProp(input, '_locale')) { + ret._locale = input._locale; + } + + return ret; + } + + createDuration.fn = Duration.prototype; + createDuration.invalid = createInvalid$1; + + function parseIso (inp, sign) { + // We'd normally use ~~inp for this, but unfortunately it also + // converts floats to ints. + // inp may be undefined, so careful calling replace on it. + var res = inp && parseFloat(inp.replace(',', '.')); + // apply sign while we're at it + return (isNaN(res) ? 0 : res) * sign; + } + + function positiveMomentsDifference(base, other) { + var res = {}; + + res.months = other.month() - base.month() + + (other.year() - base.year()) * 12; + if (base.clone().add(res.months, 'M').isAfter(other)) { + --res.months; + } + + res.milliseconds = +other - +(base.clone().add(res.months, 'M')); + + return res; + } + + function momentsDifference(base, other) { + var res; + if (!(base.isValid() && other.isValid())) { + return {milliseconds: 0, months: 0}; + } + + other = cloneWithOffset(other, base); + if (base.isBefore(other)) { + res = positiveMomentsDifference(base, other); + } else { + res = positiveMomentsDifference(other, base); + res.milliseconds = -res.milliseconds; + res.months = -res.months; + } + + return res; + } + + // TODO: remove 'name' arg after deprecation is removed + function createAdder(direction, name) { + return function (val, period) { + var dur, tmp; + //invert the arguments, but complain about it + if (period !== null && !isNaN(+period)) { + deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' + + 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'); + tmp = val; val = period; period = tmp; + } + + val = typeof val === 'string' ? +val : val; + dur = createDuration(val, period); + addSubtract(this, dur, direction); + return this; + }; + } + + function addSubtract (mom, duration, isAdding, updateOffset) { + var milliseconds = duration._milliseconds, + days = absRound(duration._days), + months = absRound(duration._months); + + if (!mom.isValid()) { + // No op + return; + } + + updateOffset = updateOffset == null ? true : updateOffset; + + if (months) { + setMonth(mom, get(mom, 'Month') + months * isAdding); + } + if (days) { + set$1(mom, 'Date', get(mom, 'Date') + days * isAdding); + } + if (milliseconds) { + mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding); + } + if (updateOffset) { + hooks.updateOffset(mom, days || months); + } + } + + var add = createAdder(1, 'add'); + var subtract = createAdder(-1, 'subtract'); + + function getCalendarFormat(myMoment, now) { + var diff = myMoment.diff(now, 'days', true); + return diff < -6 ? 'sameElse' : + diff < -1 ? 'lastWeek' : + diff < 0 ? 'lastDay' : + diff < 1 ? 'sameDay' : + diff < 2 ? 'nextDay' : + diff < 7 ? 'nextWeek' : 'sameElse'; + } + + function calendar$1 (time, formats) { + // We want to compare the start of today, vs this. + // Getting start-of-today depends on whether we're local/utc/offset or not. + var now = time || createLocal(), + sod = cloneWithOffset(now, this).startOf('day'), + format = hooks.calendarFormat(this, sod) || 'sameElse'; + + var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]); + + return this.format(output || this.localeData().calendar(format, this, createLocal(now))); + } + + function clone () { + return new Moment(this); + } + + function isAfter (input, units) { + var localInput = isMoment(input) ? input : createLocal(input); + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || 'millisecond'; + if (units === 'millisecond') { + return this.valueOf() > localInput.valueOf(); + } else { + return localInput.valueOf() < this.clone().startOf(units).valueOf(); + } + } + + function isBefore (input, units) { + var localInput = isMoment(input) ? input : createLocal(input); + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || 'millisecond'; + if (units === 'millisecond') { + return this.valueOf() < localInput.valueOf(); + } else { + return this.clone().endOf(units).valueOf() < localInput.valueOf(); + } + } + + function isBetween (from, to, units, inclusivity) { + var localFrom = isMoment(from) ? from : createLocal(from), + localTo = isMoment(to) ? to : createLocal(to); + if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) { + return false; + } + inclusivity = inclusivity || '()'; + return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) && + (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units)); + } + + function isSame (input, units) { + var localInput = isMoment(input) ? input : createLocal(input), + inputMs; + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || 'millisecond'; + if (units === 'millisecond') { + return this.valueOf() === localInput.valueOf(); + } else { + inputMs = localInput.valueOf(); + return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf(); + } + } + + function isSameOrAfter (input, units) { + return this.isSame(input, units) || this.isAfter(input, units); + } + + function isSameOrBefore (input, units) { + return this.isSame(input, units) || this.isBefore(input, units); + } + + function diff (input, units, asFloat) { + var that, + zoneDelta, + output; + + if (!this.isValid()) { + return NaN; + } + + that = cloneWithOffset(input, this); + + if (!that.isValid()) { + return NaN; + } + + zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4; + + units = normalizeUnits(units); + + switch (units) { + case 'year': output = monthDiff(this, that) / 12; break; + case 'month': output = monthDiff(this, that); break; + case 'quarter': output = monthDiff(this, that) / 3; break; + case 'second': output = (this - that) / 1e3; break; // 1000 + case 'minute': output = (this - that) / 6e4; break; // 1000 * 60 + case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60 + case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst + case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst + default: output = this - that; + } + + return asFloat ? output : absFloor(output); + } + + function monthDiff (a, b) { + // difference in months + var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()), + // b is in (anchor - 1 month, anchor + 1 month) + anchor = a.clone().add(wholeMonthDiff, 'months'), + anchor2, adjust; + + if (b - anchor < 0) { + anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); + // linear across the month + adjust = (b - anchor) / (anchor - anchor2); + } else { + anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); + // linear across the month + adjust = (b - anchor) / (anchor2 - anchor); + } + + //check for negative zero, return zero if negative zero + return -(wholeMonthDiff + adjust) || 0; + } + + hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ'; + hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]'; + + function toString () { + return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); + } + + function toISOString(keepOffset) { + if (!this.isValid()) { + return null; + } + var utc = keepOffset !== true; + var m = utc ? this.clone().utc() : this; + if (m.year() < 0 || m.year() > 9999) { + return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'); + } + if (isFunction(Date.prototype.toISOString)) { + // native implementation is ~50x faster, use it when we can + if (utc) { + return this.toDate().toISOString(); + } else { + return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z')); + } + } + return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'); + } + + /** + * Return a human readable representation of a moment that can + * also be evaluated to get a new moment which is the same + * + * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects + */ + function inspect () { + if (!this.isValid()) { + return 'moment.invalid(/* ' + this._i + ' */)'; + } + var func = 'moment'; + var zone = ''; + if (!this.isLocal()) { + func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone'; + zone = 'Z'; + } + var prefix = '[' + func + '("]'; + var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY'; + var datetime = '-MM-DD[T]HH:mm:ss.SSS'; + var suffix = zone + '[")]'; + + return this.format(prefix + year + datetime + suffix); + } + + function format (inputString) { + if (!inputString) { + inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat; + } + var output = formatMoment(this, inputString); + return this.localeData().postformat(output); + } + + function from (time, withoutSuffix) { + if (this.isValid() && + ((isMoment(time) && time.isValid()) || + createLocal(time).isValid())) { + return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix); + } else { + return this.localeData().invalidDate(); + } + } + + function fromNow (withoutSuffix) { + return this.from(createLocal(), withoutSuffix); + } + + function to (time, withoutSuffix) { + if (this.isValid() && + ((isMoment(time) && time.isValid()) || + createLocal(time).isValid())) { + return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix); + } else { + return this.localeData().invalidDate(); + } + } + + function toNow (withoutSuffix) { + return this.to(createLocal(), withoutSuffix); + } + + // If passed a locale key, it will set the locale for this + // instance. Otherwise, it will return the locale configuration + // variables for this instance. + function locale (key) { + var newLocaleData; + + if (key === undefined) { + return this._locale._abbr; + } else { + newLocaleData = getLocale(key); + if (newLocaleData != null) { + this._locale = newLocaleData; + } + return this; + } + } + + var lang = deprecate( + 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', + function (key) { + if (key === undefined) { + return this.localeData(); + } else { + return this.locale(key); + } + } + ); + + function localeData () { + return this._locale; + } + + var MS_PER_SECOND = 1000; + var MS_PER_MINUTE = 60 * MS_PER_SECOND; + var MS_PER_HOUR = 60 * MS_PER_MINUTE; + var MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR; + + // actual modulo - handles negative numbers (for dates before 1970): + function mod$1(dividend, divisor) { + return (dividend % divisor + divisor) % divisor; + } + + function localStartOfDate(y, m, d) { + // the date constructor remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + return new Date(y + 400, m, d) - MS_PER_400_YEARS; + } else { + return new Date(y, m, d).valueOf(); + } + } + + function utcStartOfDate(y, m, d) { + // Date.UTC remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS; + } else { + return Date.UTC(y, m, d); + } + } + + function startOf (units) { + var time; + units = normalizeUnits(units); + if (units === undefined || units === 'millisecond' || !this.isValid()) { + return this; + } + + var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; + + switch (units) { + case 'year': + time = startOfDate(this.year(), 0, 1); + break; + case 'quarter': + time = startOfDate(this.year(), this.month() - this.month() % 3, 1); + break; + case 'month': + time = startOfDate(this.year(), this.month(), 1); + break; + case 'week': + time = startOfDate(this.year(), this.month(), this.date() - this.weekday()); + break; + case 'isoWeek': + time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1)); + break; + case 'day': + case 'date': + time = startOfDate(this.year(), this.month(), this.date()); + break; + case 'hour': + time = this._d.valueOf(); + time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR); + break; + case 'minute': + time = this._d.valueOf(); + time -= mod$1(time, MS_PER_MINUTE); + break; + case 'second': + time = this._d.valueOf(); + time -= mod$1(time, MS_PER_SECOND); + break; + } + + this._d.setTime(time); + hooks.updateOffset(this, true); + return this; + } + + function endOf (units) { + var time; + units = normalizeUnits(units); + if (units === undefined || units === 'millisecond' || !this.isValid()) { + return this; + } + + var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; + + switch (units) { + case 'year': + time = startOfDate(this.year() + 1, 0, 1) - 1; + break; + case 'quarter': + time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1; + break; + case 'month': + time = startOfDate(this.year(), this.month() + 1, 1) - 1; + break; + case 'week': + time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1; + break; + case 'isoWeek': + time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1; + break; + case 'day': + case 'date': + time = startOfDate(this.year(), this.month(), this.date() + 1) - 1; + break; + case 'hour': + time = this._d.valueOf(); + time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1; + break; + case 'minute': + time = this._d.valueOf(); + time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1; + break; + case 'second': + time = this._d.valueOf(); + time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1; + break; + } + + this._d.setTime(time); + hooks.updateOffset(this, true); + return this; + } + + function valueOf () { + return this._d.valueOf() - ((this._offset || 0) * 60000); + } + + function unix () { + return Math.floor(this.valueOf() / 1000); + } + + function toDate () { + return new Date(this.valueOf()); + } + + function toArray () { + var m = this; + return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()]; + } + + function toObject () { + var m = this; + return { + years: m.year(), + months: m.month(), + date: m.date(), + hours: m.hours(), + minutes: m.minutes(), + seconds: m.seconds(), + milliseconds: m.milliseconds() + }; + } + + function toJSON () { + // new Date(NaN).toJSON() === null + return this.isValid() ? this.toISOString() : null; + } + + function isValid$2 () { + return isValid(this); + } + + function parsingFlags () { + return extend({}, getParsingFlags(this)); + } + + function invalidAt () { + return getParsingFlags(this).overflow; + } + + function creationData() { + return { + input: this._i, + format: this._f, + locale: this._locale, + isUTC: this._isUTC, + strict: this._strict + }; + } + + // FORMATTING + + addFormatToken(0, ['gg', 2], 0, function () { + return this.weekYear() % 100; + }); + + addFormatToken(0, ['GG', 2], 0, function () { + return this.isoWeekYear() % 100; + }); + + function addWeekYearFormatToken (token, getter) { + addFormatToken(0, [token, token.length], 0, getter); + } + + addWeekYearFormatToken('gggg', 'weekYear'); + addWeekYearFormatToken('ggggg', 'weekYear'); + addWeekYearFormatToken('GGGG', 'isoWeekYear'); + addWeekYearFormatToken('GGGGG', 'isoWeekYear'); + + // ALIASES + + addUnitAlias('weekYear', 'gg'); + addUnitAlias('isoWeekYear', 'GG'); + + // PRIORITY + + addUnitPriority('weekYear', 1); + addUnitPriority('isoWeekYear', 1); + + + // PARSING + + addRegexToken('G', matchSigned); + addRegexToken('g', matchSigned); + addRegexToken('GG', match1to2, match2); + addRegexToken('gg', match1to2, match2); + addRegexToken('GGGG', match1to4, match4); + addRegexToken('gggg', match1to4, match4); + addRegexToken('GGGGG', match1to6, match6); + addRegexToken('ggggg', match1to6, match6); + + addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) { + week[token.substr(0, 2)] = toInt(input); + }); + + addWeekParseToken(['gg', 'GG'], function (input, week, config, token) { + week[token] = hooks.parseTwoDigitYear(input); + }); + + // MOMENTS + + function getSetWeekYear (input) { + return getSetWeekYearHelper.call(this, + input, + this.week(), + this.weekday(), + this.localeData()._week.dow, + this.localeData()._week.doy); + } + + function getSetISOWeekYear (input) { + return getSetWeekYearHelper.call(this, + input, this.isoWeek(), this.isoWeekday(), 1, 4); + } + + function getISOWeeksInYear () { + return weeksInYear(this.year(), 1, 4); + } + + function getWeeksInYear () { + var weekInfo = this.localeData()._week; + return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); + } + + function getSetWeekYearHelper(input, week, weekday, dow, doy) { + var weeksTarget; + if (input == null) { + return weekOfYear(this, dow, doy).year; + } else { + weeksTarget = weeksInYear(input, dow, doy); + if (week > weeksTarget) { + week = weeksTarget; + } + return setWeekAll.call(this, input, week, weekday, dow, doy); + } + } + + function setWeekAll(weekYear, week, weekday, dow, doy) { + var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy), + date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear); + + this.year(date.getUTCFullYear()); + this.month(date.getUTCMonth()); + this.date(date.getUTCDate()); + return this; + } + + // FORMATTING + + addFormatToken('Q', 0, 'Qo', 'quarter'); + + // ALIASES + + addUnitAlias('quarter', 'Q'); + + // PRIORITY + + addUnitPriority('quarter', 7); + + // PARSING + + addRegexToken('Q', match1); + addParseToken('Q', function (input, array) { + array[MONTH] = (toInt(input) - 1) * 3; + }); + + // MOMENTS + + function getSetQuarter (input) { + return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3); + } + + // FORMATTING + + addFormatToken('D', ['DD', 2], 'Do', 'date'); + + // ALIASES + + addUnitAlias('date', 'D'); + + // PRIORITY + addUnitPriority('date', 9); + + // PARSING + + addRegexToken('D', match1to2); + addRegexToken('DD', match1to2, match2); + addRegexToken('Do', function (isStrict, locale) { + // TODO: Remove "ordinalParse" fallback in next major release. + return isStrict ? + (locale._dayOfMonthOrdinalParse || locale._ordinalParse) : + locale._dayOfMonthOrdinalParseLenient; + }); + + addParseToken(['D', 'DD'], DATE); + addParseToken('Do', function (input, array) { + array[DATE] = toInt(input.match(match1to2)[0]); + }); + + // MOMENTS + + var getSetDayOfMonth = makeGetSet('Date', true); + + // FORMATTING + + addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); + + // ALIASES + + addUnitAlias('dayOfYear', 'DDD'); + + // PRIORITY + addUnitPriority('dayOfYear', 4); + + // PARSING + + addRegexToken('DDD', match1to3); + addRegexToken('DDDD', match3); + addParseToken(['DDD', 'DDDD'], function (input, array, config) { + config._dayOfYear = toInt(input); + }); + + // HELPERS + + // MOMENTS + + function getSetDayOfYear (input) { + var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1; + return input == null ? dayOfYear : this.add((input - dayOfYear), 'd'); + } + + // FORMATTING + + addFormatToken('m', ['mm', 2], 0, 'minute'); + + // ALIASES + + addUnitAlias('minute', 'm'); + + // PRIORITY + + addUnitPriority('minute', 14); + + // PARSING + + addRegexToken('m', match1to2); + addRegexToken('mm', match1to2, match2); + addParseToken(['m', 'mm'], MINUTE); + + // MOMENTS + + var getSetMinute = makeGetSet('Minutes', false); + + // FORMATTING + + addFormatToken('s', ['ss', 2], 0, 'second'); + + // ALIASES + + addUnitAlias('second', 's'); + + // PRIORITY + + addUnitPriority('second', 15); + + // PARSING + + addRegexToken('s', match1to2); + addRegexToken('ss', match1to2, match2); + addParseToken(['s', 'ss'], SECOND); + + // MOMENTS + + var getSetSecond = makeGetSet('Seconds', false); + + // FORMATTING + + addFormatToken('S', 0, 0, function () { + return ~~(this.millisecond() / 100); + }); + + addFormatToken(0, ['SS', 2], 0, function () { + return ~~(this.millisecond() / 10); + }); + + addFormatToken(0, ['SSS', 3], 0, 'millisecond'); + addFormatToken(0, ['SSSS', 4], 0, function () { + return this.millisecond() * 10; + }); + addFormatToken(0, ['SSSSS', 5], 0, function () { + return this.millisecond() * 100; + }); + addFormatToken(0, ['SSSSSS', 6], 0, function () { + return this.millisecond() * 1000; + }); + addFormatToken(0, ['SSSSSSS', 7], 0, function () { + return this.millisecond() * 10000; + }); + addFormatToken(0, ['SSSSSSSS', 8], 0, function () { + return this.millisecond() * 100000; + }); + addFormatToken(0, ['SSSSSSSSS', 9], 0, function () { + return this.millisecond() * 1000000; + }); + + + // ALIASES + + addUnitAlias('millisecond', 'ms'); + + // PRIORITY + + addUnitPriority('millisecond', 16); + + // PARSING + + addRegexToken('S', match1to3, match1); + addRegexToken('SS', match1to3, match2); + addRegexToken('SSS', match1to3, match3); + + var token; + for (token = 'SSSS'; token.length <= 9; token += 'S') { + addRegexToken(token, matchUnsigned); + } + + function parseMs(input, array) { + array[MILLISECOND] = toInt(('0.' + input) * 1000); + } + + for (token = 'S'; token.length <= 9; token += 'S') { + addParseToken(token, parseMs); + } + // MOMENTS + + var getSetMillisecond = makeGetSet('Milliseconds', false); + + // FORMATTING + + addFormatToken('z', 0, 0, 'zoneAbbr'); + addFormatToken('zz', 0, 0, 'zoneName'); + + // MOMENTS + + function getZoneAbbr () { + return this._isUTC ? 'UTC' : ''; + } + + function getZoneName () { + return this._isUTC ? 'Coordinated Universal Time' : ''; + } + + var proto = Moment.prototype; + + proto.add = add; + proto.calendar = calendar$1; + proto.clone = clone; + proto.diff = diff; + proto.endOf = endOf; + proto.format = format; + proto.from = from; + proto.fromNow = fromNow; + proto.to = to; + proto.toNow = toNow; + proto.get = stringGet; + proto.invalidAt = invalidAt; + proto.isAfter = isAfter; + proto.isBefore = isBefore; + proto.isBetween = isBetween; + proto.isSame = isSame; + proto.isSameOrAfter = isSameOrAfter; + proto.isSameOrBefore = isSameOrBefore; + proto.isValid = isValid$2; + proto.lang = lang; + proto.locale = locale; + proto.localeData = localeData; + proto.max = prototypeMax; + proto.min = prototypeMin; + proto.parsingFlags = parsingFlags; + proto.set = stringSet; + proto.startOf = startOf; + proto.subtract = subtract; + proto.toArray = toArray; + proto.toObject = toObject; + proto.toDate = toDate; + proto.toISOString = toISOString; + proto.inspect = inspect; + proto.toJSON = toJSON; + proto.toString = toString; + proto.unix = unix; + proto.valueOf = valueOf; + proto.creationData = creationData; + proto.year = getSetYear; + proto.isLeapYear = getIsLeapYear; + proto.weekYear = getSetWeekYear; + proto.isoWeekYear = getSetISOWeekYear; + proto.quarter = proto.quarters = getSetQuarter; + proto.month = getSetMonth; + proto.daysInMonth = getDaysInMonth; + proto.week = proto.weeks = getSetWeek; + proto.isoWeek = proto.isoWeeks = getSetISOWeek; + proto.weeksInYear = getWeeksInYear; + proto.isoWeeksInYear = getISOWeeksInYear; + proto.date = getSetDayOfMonth; + proto.day = proto.days = getSetDayOfWeek; + proto.weekday = getSetLocaleDayOfWeek; + proto.isoWeekday = getSetISODayOfWeek; + proto.dayOfYear = getSetDayOfYear; + proto.hour = proto.hours = getSetHour; + proto.minute = proto.minutes = getSetMinute; + proto.second = proto.seconds = getSetSecond; + proto.millisecond = proto.milliseconds = getSetMillisecond; + proto.utcOffset = getSetOffset; + proto.utc = setOffsetToUTC; + proto.local = setOffsetToLocal; + proto.parseZone = setOffsetToParsedOffset; + proto.hasAlignedHourOffset = hasAlignedHourOffset; + proto.isDST = isDaylightSavingTime; + proto.isLocal = isLocal; + proto.isUtcOffset = isUtcOffset; + proto.isUtc = isUtc; + proto.isUTC = isUtc; + proto.zoneAbbr = getZoneAbbr; + proto.zoneName = getZoneName; + proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth); + proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth); + proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear); + proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone); + proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted); + + function createUnix (input) { + return createLocal(input * 1000); + } + + function createInZone () { + return createLocal.apply(null, arguments).parseZone(); + } + + function preParsePostFormat (string) { + return string; + } + + var proto$1 = Locale.prototype; + + proto$1.calendar = calendar; + proto$1.longDateFormat = longDateFormat; + proto$1.invalidDate = invalidDate; + proto$1.ordinal = ordinal; + proto$1.preparse = preParsePostFormat; + proto$1.postformat = preParsePostFormat; + proto$1.relativeTime = relativeTime; + proto$1.pastFuture = pastFuture; + proto$1.set = set; + + proto$1.months = localeMonths; + proto$1.monthsShort = localeMonthsShort; + proto$1.monthsParse = localeMonthsParse; + proto$1.monthsRegex = monthsRegex; + proto$1.monthsShortRegex = monthsShortRegex; + proto$1.week = localeWeek; + proto$1.firstDayOfYear = localeFirstDayOfYear; + proto$1.firstDayOfWeek = localeFirstDayOfWeek; + + proto$1.weekdays = localeWeekdays; + proto$1.weekdaysMin = localeWeekdaysMin; + proto$1.weekdaysShort = localeWeekdaysShort; + proto$1.weekdaysParse = localeWeekdaysParse; + + proto$1.weekdaysRegex = weekdaysRegex; + proto$1.weekdaysShortRegex = weekdaysShortRegex; + proto$1.weekdaysMinRegex = weekdaysMinRegex; + + proto$1.isPM = localeIsPM; + proto$1.meridiem = localeMeridiem; + + function get$1 (format, index, field, setter) { + var locale = getLocale(); + var utc = createUTC().set(setter, index); + return locale[field](utc, format); + } + + function listMonthsImpl (format, index, field) { + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + + if (index != null) { + return get$1(format, index, field, 'month'); + } + + var i; + var out = []; + for (i = 0; i < 12; i++) { + out[i] = get$1(format, i, field, 'month'); + } + return out; + } + + // () + // (5) + // (fmt, 5) + // (fmt) + // (true) + // (true, 5) + // (true, fmt, 5) + // (true, fmt) + function listWeekdaysImpl (localeSorted, format, index, field) { + if (typeof localeSorted === 'boolean') { + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + } else { + format = localeSorted; + index = format; + localeSorted = false; + + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + } + + var locale = getLocale(), + shift = localeSorted ? locale._week.dow : 0; + + if (index != null) { + return get$1(format, (index + shift) % 7, field, 'day'); + } + + var i; + var out = []; + for (i = 0; i < 7; i++) { + out[i] = get$1(format, (i + shift) % 7, field, 'day'); + } + return out; + } + + function listMonths (format, index) { + return listMonthsImpl(format, index, 'months'); + } + + function listMonthsShort (format, index) { + return listMonthsImpl(format, index, 'monthsShort'); + } + + function listWeekdays (localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdays'); + } + + function listWeekdaysShort (localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort'); + } + + function listWeekdaysMin (localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin'); + } + + getSetGlobalLocale('en', { + dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, + ordinal : function (number) { + var b = number % 10, + output = (toInt(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + } + }); + + // Side effect imports + + hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale); + hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale); + + var mathAbs = Math.abs; + + function abs () { + var data = this._data; + + this._milliseconds = mathAbs(this._milliseconds); + this._days = mathAbs(this._days); + this._months = mathAbs(this._months); + + data.milliseconds = mathAbs(data.milliseconds); + data.seconds = mathAbs(data.seconds); + data.minutes = mathAbs(data.minutes); + data.hours = mathAbs(data.hours); + data.months = mathAbs(data.months); + data.years = mathAbs(data.years); + + return this; + } + + function addSubtract$1 (duration, input, value, direction) { + var other = createDuration(input, value); + + duration._milliseconds += direction * other._milliseconds; + duration._days += direction * other._days; + duration._months += direction * other._months; + + return duration._bubble(); + } + + // supports only 2.0-style add(1, 's') or add(duration) + function add$1 (input, value) { + return addSubtract$1(this, input, value, 1); + } + + // supports only 2.0-style subtract(1, 's') or subtract(duration) + function subtract$1 (input, value) { + return addSubtract$1(this, input, value, -1); + } + + function absCeil (number) { + if (number < 0) { + return Math.floor(number); + } else { + return Math.ceil(number); + } + } + + function bubble () { + var milliseconds = this._milliseconds; + var days = this._days; + var months = this._months; + var data = this._data; + var seconds, minutes, hours, years, monthsFromDays; + + // if we have a mix of positive and negative values, bubble down first + // check: https://github.com/moment/moment/issues/2166 + if (!((milliseconds >= 0 && days >= 0 && months >= 0) || + (milliseconds <= 0 && days <= 0 && months <= 0))) { + milliseconds += absCeil(monthsToDays(months) + days) * 864e5; + days = 0; + months = 0; + } + + // The following code bubbles up values, see the tests for + // examples of what that means. + data.milliseconds = milliseconds % 1000; + + seconds = absFloor(milliseconds / 1000); + data.seconds = seconds % 60; + + minutes = absFloor(seconds / 60); + data.minutes = minutes % 60; + + hours = absFloor(minutes / 60); + data.hours = hours % 24; + + days += absFloor(hours / 24); + + // convert days to months + monthsFromDays = absFloor(daysToMonths(days)); + months += monthsFromDays; + days -= absCeil(monthsToDays(monthsFromDays)); + + // 12 months -> 1 year + years = absFloor(months / 12); + months %= 12; + + data.days = days; + data.months = months; + data.years = years; + + return this; + } + + function daysToMonths (days) { + // 400 years have 146097 days (taking into account leap year rules) + // 400 years have 12 months === 4800 + return days * 4800 / 146097; + } + + function monthsToDays (months) { + // the reverse of daysToMonths + return months * 146097 / 4800; + } + + function as (units) { + if (!this.isValid()) { + return NaN; + } + var days; + var months; + var milliseconds = this._milliseconds; + + units = normalizeUnits(units); + + if (units === 'month' || units === 'quarter' || units === 'year') { + days = this._days + milliseconds / 864e5; + months = this._months + daysToMonths(days); + switch (units) { + case 'month': return months; + case 'quarter': return months / 3; + case 'year': return months / 12; + } + } else { + // handle milliseconds separately because of floating point math errors (issue #1867) + days = this._days + Math.round(monthsToDays(this._months)); + switch (units) { + case 'week' : return days / 7 + milliseconds / 6048e5; + case 'day' : return days + milliseconds / 864e5; + case 'hour' : return days * 24 + milliseconds / 36e5; + case 'minute' : return days * 1440 + milliseconds / 6e4; + case 'second' : return days * 86400 + milliseconds / 1000; + // Math.floor prevents floating point math errors here + case 'millisecond': return Math.floor(days * 864e5) + milliseconds; + default: throw new Error('Unknown unit ' + units); + } + } + } + + // TODO: Use this.as('ms')? + function valueOf$1 () { + if (!this.isValid()) { + return NaN; + } + return ( + this._milliseconds + + this._days * 864e5 + + (this._months % 12) * 2592e6 + + toInt(this._months / 12) * 31536e6 + ); + } + + function makeAs (alias) { + return function () { + return this.as(alias); + }; + } + + var asMilliseconds = makeAs('ms'); + var asSeconds = makeAs('s'); + var asMinutes = makeAs('m'); + var asHours = makeAs('h'); + var asDays = makeAs('d'); + var asWeeks = makeAs('w'); + var asMonths = makeAs('M'); + var asQuarters = makeAs('Q'); + var asYears = makeAs('y'); + + function clone$1 () { + return createDuration(this); + } + + function get$2 (units) { + units = normalizeUnits(units); + return this.isValid() ? this[units + 's']() : NaN; + } + + function makeGetter(name) { + return function () { + return this.isValid() ? this._data[name] : NaN; + }; + } + + var milliseconds = makeGetter('milliseconds'); + var seconds = makeGetter('seconds'); + var minutes = makeGetter('minutes'); + var hours = makeGetter('hours'); + var days = makeGetter('days'); + var months = makeGetter('months'); + var years = makeGetter('years'); + + function weeks () { + return absFloor(this.days() / 7); + } + + var round = Math.round; + var thresholds = { + ss: 44, // a few seconds to seconds + s : 45, // seconds to minute + m : 45, // minutes to hour + h : 22, // hours to day + d : 26, // days to month + M : 11 // months to year + }; + + // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize + function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) { + return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture); + } + + function relativeTime$1 (posNegDuration, withoutSuffix, locale) { + var duration = createDuration(posNegDuration).abs(); + var seconds = round(duration.as('s')); + var minutes = round(duration.as('m')); + var hours = round(duration.as('h')); + var days = round(duration.as('d')); + var months = round(duration.as('M')); + var years = round(duration.as('y')); + + var a = seconds <= thresholds.ss && ['s', seconds] || + seconds < thresholds.s && ['ss', seconds] || + minutes <= 1 && ['m'] || + minutes < thresholds.m && ['mm', minutes] || + hours <= 1 && ['h'] || + hours < thresholds.h && ['hh', hours] || + days <= 1 && ['d'] || + days < thresholds.d && ['dd', days] || + months <= 1 && ['M'] || + months < thresholds.M && ['MM', months] || + years <= 1 && ['y'] || ['yy', years]; + + a[2] = withoutSuffix; + a[3] = +posNegDuration > 0; + a[4] = locale; + return substituteTimeAgo.apply(null, a); + } + + // This function allows you to set the rounding function for relative time strings + function getSetRelativeTimeRounding (roundingFunction) { + if (roundingFunction === undefined) { + return round; + } + if (typeof(roundingFunction) === 'function') { + round = roundingFunction; + return true; + } + return false; + } + + // This function allows you to set a threshold for relative time strings + function getSetRelativeTimeThreshold (threshold, limit) { + if (thresholds[threshold] === undefined) { + return false; + } + if (limit === undefined) { + return thresholds[threshold]; + } + thresholds[threshold] = limit; + if (threshold === 's') { + thresholds.ss = limit - 1; + } + return true; + } + + function humanize (withSuffix) { + if (!this.isValid()) { + return this.localeData().invalidDate(); + } + + var locale = this.localeData(); + var output = relativeTime$1(this, !withSuffix, locale); + + if (withSuffix) { + output = locale.pastFuture(+this, output); + } + + return locale.postformat(output); + } + + var abs$1 = Math.abs; + + function sign(x) { + return ((x > 0) - (x < 0)) || +x; + } + + function toISOString$1() { + // for ISO strings we do not use the normal bubbling rules: + // * milliseconds bubble up until they become hours + // * days do not bubble at all + // * months bubble up until they become years + // This is because there is no context-free conversion between hours and days + // (think of clock changes) + // and also not between days and months (28-31 days per month) + if (!this.isValid()) { + return this.localeData().invalidDate(); + } + + var seconds = abs$1(this._milliseconds) / 1000; + var days = abs$1(this._days); + var months = abs$1(this._months); + var minutes, hours, years; + + // 3600 seconds -> 60 minutes -> 1 hour + minutes = absFloor(seconds / 60); + hours = absFloor(minutes / 60); + seconds %= 60; + minutes %= 60; + + // 12 months -> 1 year + years = absFloor(months / 12); + months %= 12; + + + // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js + var Y = years; + var M = months; + var D = days; + var h = hours; + var m = minutes; + var s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : ''; + var total = this.asSeconds(); + + if (!total) { + // this is the same as C#'s (Noda) and python (isodate)... + // but not other JS (goog.date) + return 'P0D'; + } + + var totalSign = total < 0 ? '-' : ''; + var ymSign = sign(this._months) !== sign(total) ? '-' : ''; + var daysSign = sign(this._days) !== sign(total) ? '-' : ''; + var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : ''; + + return totalSign + 'P' + + (Y ? ymSign + Y + 'Y' : '') + + (M ? ymSign + M + 'M' : '') + + (D ? daysSign + D + 'D' : '') + + ((h || m || s) ? 'T' : '') + + (h ? hmsSign + h + 'H' : '') + + (m ? hmsSign + m + 'M' : '') + + (s ? hmsSign + s + 'S' : ''); + } + + var proto$2 = Duration.prototype; + + proto$2.isValid = isValid$1; + proto$2.abs = abs; + proto$2.add = add$1; + proto$2.subtract = subtract$1; + proto$2.as = as; + proto$2.asMilliseconds = asMilliseconds; + proto$2.asSeconds = asSeconds; + proto$2.asMinutes = asMinutes; + proto$2.asHours = asHours; + proto$2.asDays = asDays; + proto$2.asWeeks = asWeeks; + proto$2.asMonths = asMonths; + proto$2.asQuarters = asQuarters; + proto$2.asYears = asYears; + proto$2.valueOf = valueOf$1; + proto$2._bubble = bubble; + proto$2.clone = clone$1; + proto$2.get = get$2; + proto$2.milliseconds = milliseconds; + proto$2.seconds = seconds; + proto$2.minutes = minutes; + proto$2.hours = hours; + proto$2.days = days; + proto$2.weeks = weeks; + proto$2.months = months; + proto$2.years = years; + proto$2.humanize = humanize; + proto$2.toISOString = toISOString$1; + proto$2.toString = toISOString$1; + proto$2.toJSON = toISOString$1; + proto$2.locale = locale; + proto$2.localeData = localeData; + + proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1); + proto$2.lang = lang; + + // Side effect imports + + // FORMATTING + + addFormatToken('X', 0, 0, 'unix'); + addFormatToken('x', 0, 0, 'valueOf'); + + // PARSING + + addRegexToken('x', matchSigned); + addRegexToken('X', matchTimestamp); + addParseToken('X', function (input, array, config) { + config._d = new Date(parseFloat(input, 10) * 1000); + }); + addParseToken('x', function (input, array, config) { + config._d = new Date(toInt(input)); + }); + + // Side effect imports + + + hooks.version = '2.24.0'; + + setHookCallback(createLocal); + + hooks.fn = proto; + hooks.min = min; + hooks.max = max; + hooks.now = now; + hooks.utc = createUTC; + hooks.unix = createUnix; + hooks.months = listMonths; + hooks.isDate = isDate; + hooks.locale = getSetGlobalLocale; + hooks.invalid = createInvalid; + hooks.duration = createDuration; + hooks.isMoment = isMoment; + hooks.weekdays = listWeekdays; + hooks.parseZone = createInZone; + hooks.localeData = getLocale; + hooks.isDuration = isDuration; + hooks.monthsShort = listMonthsShort; + hooks.weekdaysMin = listWeekdaysMin; + hooks.defineLocale = defineLocale; + hooks.updateLocale = updateLocale; + hooks.locales = listLocales; + hooks.weekdaysShort = listWeekdaysShort; + hooks.normalizeUnits = normalizeUnits; + hooks.relativeTimeRounding = getSetRelativeTimeRounding; + hooks.relativeTimeThreshold = getSetRelativeTimeThreshold; + hooks.calendarFormat = getCalendarFormat; + hooks.prototype = proto; + + // currently HTML5 input type only supports 24-hour formats + hooks.HTML5_FMT = { + DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type="datetime-local" /> + DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type="datetime-local" step="1" /> + DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type="datetime-local" step="0.001" /> + DATE: 'YYYY-MM-DD', // <input type="date" /> + TIME: 'HH:mm', // <input type="time" /> + TIME_SECONDS: 'HH:mm:ss', // <input type="time" step="1" /> + TIME_MS: 'HH:mm:ss.SSS', // <input type="time" step="0.001" /> + WEEK: 'GGGG-[W]WW', // <input type="week" /> + MONTH: 'YYYY-MM' // <input type="month" /> + }; + + return hooks; + +}))); diff --git a/public/bower_components/moment/package-lock.json b/public/bower_components/moment/package-lock.json new file mode 100644 index 0000000..151876c --- /dev/null +++ b/public/bower_components/moment/package-lock.json @@ -0,0 +1,9699 @@ +{ + "name": "moment", + "version": "2.23.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, + "@types/node": { + "version": "10.12.15", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.15.tgz", + "integrity": "sha512-9kROxduaN98QghwwHmxXO2Xz3MaWf+I1sLVAA6KJDF5xix+IyXVhds0MAfdNwtcpSrzhaTsNB0/jnL86fgUhqA==", + "dev": true + }, + "JSV": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz", + "integrity": "sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c=", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "accepts": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "dev": true, + "requires": { + "mime-types": "~2.1.18", + "negotiator": "0.6.1" + } + }, + "adm-zip": { + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.13.tgz", + "integrity": "sha512-fERNJX8sOXfel6qCBCMPvZLzENBEhZTzKqg6vrOW5pvoEaQuJhRU4ndTAh6lHOxn1I6jnz2NHra56ZODM751uw==", + "dev": true + }, + "after": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", + "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", + "dev": true + }, + "agent-base": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", + "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", + "dev": true, + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "argsparser": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/argsparser/-/argsparser-0.0.7.tgz", + "integrity": "sha1-QcheDD3nV7NQ8S5u0OSQsegtvgY=", + "dev": true + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "dev": true + }, + "array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", + "dev": true + }, + "array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "arraybuffer.slice": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", + "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assertion-error": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz", + "integrity": "sha1-x/hUOP3UZrx8oWq5DIFRN5el0js=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "async": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz", + "integrity": "sha1-D8GqoIig4+8Ovi2IMbqw3PiEUGE=", + "dev": true + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true + }, + "async-limiter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", + "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "base64-arraybuffer": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", + "dev": true + }, + "base64id": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", + "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "benchmark": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/benchmark/-/benchmark-2.1.4.tgz", + "integrity": "sha1-CfPeMckWQl1JjMLuVloOvzwqVik=", + "dev": true, + "requires": { + "lodash": "^4.17.4", + "platform": "^1.3.3" + } + }, + "better-assert": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", + "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "dev": true, + "requires": { + "callsite": "1.0.0" + } + }, + "binary-extensions": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz", + "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==", + "dev": true + }, + "blob": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", + "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", + "dev": true + }, + "bluebird": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", + "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==", + "dev": true + }, + "body": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz", + "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=", + "dev": true, + "requires": { + "continuable-cache": "^0.3.1", + "error": "^7.0.0", + "raw-body": "~1.1.0", + "safe-json-parse": "~1.0.1" + } + }, + "body-parser": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", + "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", + "dev": true, + "requires": { + "bytes": "3.0.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "~1.6.3", + "iconv-lite": "0.4.23", + "on-finished": "~2.3.0", + "qs": "6.5.2", + "raw-body": "2.3.3", + "type-is": "~1.6.16" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "raw-body": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", + "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "dev": true, + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.3", + "iconv-lite": "0.4.23", + "unpipe": "1.0.0" + } + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "bser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", + "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", + "dev": true, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", + "dev": true + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz", + "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=", + "dev": true + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", + "dev": true + }, + "capture-exit": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", + "integrity": "sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28=", + "dev": true, + "requires": { + "rsvp": "^3.3.3" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "optional": true, + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, + "chai": { + "version": "1.9.2", + "resolved": "http://registry.npmjs.org/chai/-/chai-1.9.2.tgz", + "integrity": "sha1-Pxog+CsLnXQ3V30k1vErGmnTtZA=", + "dev": true, + "requires": { + "assertion-error": "1.0.0", + "deep-eql": "0.1.3" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "chokidar": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", + "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.0", + "braces": "^2.3.0", + "fsevents": "^1.2.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "lodash.debounce": "^4.0.8", + "normalize-path": "^2.1.1", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0", + "upath": "^1.0.5" + }, + "dependencies": { + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + } + } + }, + "circular-json": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.9.tgz", + "integrity": "sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "cli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", + "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=", + "dev": true, + "requires": { + "exit": "0.1.2", + "glob": "^7.1.1" + }, + "dependencies": { + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "cli-table": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", + "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=", + "dev": true, + "requires": { + "colors": "1.0.3" + }, + "dependencies": { + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "dev": true + } + } + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "optional": true, + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true, + "optional": true + } + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "coffee-script": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz", + "integrity": "sha1-FQ1rTLUiiUNp7+1qIQHCC8f0pPQ=", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "colors": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", + "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", + "dev": true + }, + "combine-lists": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz", + "integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=", + "dev": true, + "requires": { + "lodash": "^4.5.0" + } + }, + "combined-stream": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + }, + "comment-parser": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.3.2.tgz", + "integrity": "sha1-PAPwd2uGo239mgosl8YwfzMggv4=", + "dev": true, + "requires": { + "readable-stream": "^2.0.4" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "component-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", + "dev": true + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "component-inherit": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "connect": { + "version": "3.6.6", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", + "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=", + "dev": true, + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.0", + "parseurl": "~1.3.2", + "utils-merge": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "^0.1.4" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "continuable-cache": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz", + "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=", + "dev": true + }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "dev": true + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "core-js": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.0.tgz", + "integrity": "sha512-kLRC6ncVpuEW/1kwrOXYX6KQASCVtrh1gQr/UiaVgFlf9WE5Vp+lNe5+h3LuMr5PAucWnnEXwH0nQHRH/gpGtw==", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "coveralls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.0.2.tgz", + "integrity": "sha512-Tv0LKe/MkBOilH2v7WBiTBdudg2ChfGbdXafc/s330djpF3zKOmuehTeRwjXWc7pzfj9FrDUTA7tEx6Div8NFw==", + "dev": true, + "requires": { + "growl": "~> 1.10.0", + "js-yaml": "^3.11.0", + "lcov-parse": "^0.0.10", + "log-driver": "^1.2.7", + "minimist": "^1.2.0", + "request": "^2.85.0" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "js-yaml": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + } + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "cst": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/cst/-/cst-0.4.10.tgz", + "integrity": "sha512-U5ETe1IOjq2h56ZcBE3oe9rT7XryCH6IKgPMv0L7sSk6w29yR3p5egCK0T3BDNHHV95OoUBgXsqiVG+3a900Ag==", + "dev": true, + "requires": { + "babel-runtime": "^6.9.2", + "babylon": "^6.8.1", + "source-map-support": "^0.4.0" + } + }, + "custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", + "dev": true + }, + "cycle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", + "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "date-format": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz", + "integrity": "sha1-YV6CjiM90aubua4JUODOzPpuytg=", + "dev": true + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "dateformat": { + "version": "1.0.2-1.2.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz", + "integrity": "sha1-sCIMAt6YYXQztyhRz0fePfLNvuk=", + "dev": true + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "optional": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "deep-eql": { + "version": "0.1.3", + "resolved": "http://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", + "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=", + "dev": true, + "requires": { + "type-detect": "0.1.1" + } + }, + "deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", + "dev": true + }, + "deep-extend": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.2.11.tgz", + "integrity": "sha1-eha6aXKRMjQFBhcElLyD9wdv4I8=", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true, + "optional": true + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, + "di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", + "dev": true + }, + "dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", + "dev": true, + "requires": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + } + }, + "dom-serializer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "dev": true, + "requires": { + "domelementtype": "~1.1.1", + "entities": "~1.1.1" + }, + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", + "dev": true + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + } + } + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domhandler": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "duplexer": { + "version": "0.1.1", + "resolved": "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "~0.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "engine.io": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz", + "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "base64id": "1.0.0", + "cookie": "0.3.1", + "debug": "~3.1.0", + "engine.io-parser": "~2.1.0", + "ws": "~3.3.1" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "engine.io-client": { + "version": "3.2.1", + "resolved": "http://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz", + "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==", + "dev": true, + "requires": { + "component-emitter": "1.2.1", + "component-inherit": "0.0.3", + "debug": "~3.1.0", + "engine.io-parser": "~2.1.1", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "ws": "~3.3.1", + "xmlhttprequest-ssl": "~1.5.4", + "yeast": "0.1.2" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "engine.io-parser": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", + "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", + "dev": true, + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "~0.0.7", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.5", + "has-binary2": "~1.0.2" + } + }, + "ensure-posix-path": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ensure-posix-path/-/ensure-posix-path-1.0.2.tgz", + "integrity": "sha1-pls+QtC3HPxYXrd0+ZQ8jZuRsMI=", + "dev": true + }, + "ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", + "dev": true + }, + "entities": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", + "dev": true + }, + "error": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz", + "integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=", + "dev": true, + "requires": { + "string-template": "~0.2.1", + "xtend": "~4.0.0" + } + }, + "es6-promise": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", + "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==", + "dev": true + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "http://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "dev": true, + "requires": { + "es6-promise": "^4.0.3" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true, + "optional": true + }, + "eventemitter2": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", + "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=", + "dev": true + }, + "eventemitter3": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", + "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", + "dev": true + }, + "exec-sh": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.2.tgz", + "integrity": "sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg==", + "dev": true + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "exists-stat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/exists-stat/-/exists-stat-1.0.0.tgz", + "integrity": "sha1-BmDjUlouidnkRhKUQMJy7foktSk=", + "dev": true + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "expand-braces": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz", + "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=", + "dev": true, + "requires": { + "array-slice": "^0.2.3", + "array-unique": "^0.2.1", + "braces": "^0.1.2" + }, + "dependencies": { + "array-slice": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz", + "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=", + "dev": true, + "requires": { + "expand-range": "^0.1.0" + } + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "expand-range": { + "version": "0.1.1", + "resolved": "http://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz", + "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=", + "dev": true, + "requires": { + "is-number": "^0.1.1", + "repeat-string": "^0.2.2" + }, + "dependencies": { + "is-number": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz", + "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=", + "dev": true + }, + "repeat-string": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz", + "integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=", + "dev": true + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "extract-zip": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", + "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", + "dev": true, + "requires": { + "concat-stream": "1.6.2", + "debug": "2.6.9", + "mkdirp": "0.5.1", + "yauzl": "2.4.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "eyes": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", + "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=", + "dev": true + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true, + "optional": true + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fb-watchman": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", + "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", + "dev": true, + "requires": { + "bser": "^2.0.0" + } + }, + "fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + }, + "file-sync-cmp": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz", + "integrity": "sha1-peeo/7+kk7Q7kju9TKiaU7Y7YSs=", + "dev": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "finalhandler": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", + "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.3.1", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", + "dev": true + } + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "findup-sync": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz", + "integrity": "sha1-fz56l7gjksZTvwZYm9hRkOk8NoM=", + "dev": true, + "requires": { + "glob": "~3.2.9", + "lodash": "~2.4.1" + }, + "dependencies": { + "glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", + "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=", + "dev": true, + "requires": { + "inherits": "2", + "minimatch": "0.3" + } + }, + "lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + }, + "minimatch": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", + "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=", + "dev": true, + "requires": { + "lru-cache": "2", + "sigmund": "~1.0.0" + } + } + } + }, + "fined": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.1.1.tgz", + "integrity": "sha512-jQp949ZmEbiYHk3gkbdtpJ0G1+kgtLQBNdP5edFP7Fh+WAYceLQz6yO1SBj72Xkg8GVyTB3bBzAYrHJVh5Xd5g==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + } + }, + "flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", + "dev": true + }, + "flatted": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.0.tgz", + "integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==", + "dev": true + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "dev": true, + "requires": { + "debug": "=3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fs-access": { + "version": "1.0.1", + "resolved": "http://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", + "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", + "dev": true, + "requires": { + "null-check": "^1.0.0" + } + }, + "fs-extra": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true + } + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.21", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": "^2.1.0" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "minipass": { + "version": "2.2.4", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.10.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.1.10", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.0.5" + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.5.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.0.2", + "bundled": true, + "dev": true + } + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "requires": { + "globule": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getobject": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz", + "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "glob": { + "version": "3.1.21", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", + "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=", + "dev": true, + "requires": { + "graceful-fs": "~1.2.0", + "inherits": "1", + "minimatch": "~0.2.11" + }, + "dependencies": { + "inherits": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", + "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=", + "dev": true + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "globule": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", + "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", + "dev": true, + "requires": { + "glob": "~7.1.1", + "lodash": "~4.17.10", + "minimatch": "~3.0.2" + }, + "dependencies": { + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "graceful-fs": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", + "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=", + "dev": true + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true + }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true + }, + "grunt": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz", + "integrity": "sha1-VpN81RlDJK3/bSB2MYMqnWuk5/A=", + "dev": true, + "requires": { + "async": "~0.1.22", + "coffee-script": "~1.3.3", + "colors": "~0.6.2", + "dateformat": "1.0.2-1.2.3", + "eventemitter2": "~0.4.13", + "exit": "~0.1.1", + "findup-sync": "~0.1.2", + "getobject": "~0.1.0", + "glob": "~3.1.21", + "grunt-legacy-log": "~0.1.0", + "grunt-legacy-util": "~0.2.0", + "hooker": "~0.2.3", + "iconv-lite": "~0.2.11", + "js-yaml": "~2.0.5", + "lodash": "~0.9.2", + "minimatch": "~0.2.12", + "nopt": "~1.0.10", + "rimraf": "~2.2.8", + "underscore.string": "~2.2.1", + "which": "~1.0.5" + }, + "dependencies": { + "argparse": { + "version": "0.1.16", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz", + "integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=", + "dev": true, + "requires": { + "underscore": "~1.7.0", + "underscore.string": "~2.4.0" + }, + "dependencies": { + "underscore.string": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz", + "integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs=", + "dev": true + } + } + }, + "esprima": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", + "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=", + "dev": true + }, + "js-yaml": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz", + "integrity": "sha1-olrmUJmZ6X3yeMZxnaEb0Gh3Q6g=", + "dev": true, + "requires": { + "argparse": "~ 0.1.11", + "esprima": "~ 1.0.2" + } + }, + "lodash": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz", + "integrity": "sha1-jzSZxSRdNG1oLlsNO0B2fgnxqSw=", + "dev": true + } + } + }, + "grunt-benchmark": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/grunt-benchmark/-/grunt-benchmark-1.0.0.tgz", + "integrity": "sha1-yXVmohi/a7TQA4D4dodA60Vl4us=", + "dev": true, + "requires": { + "benchmark": "~1.0.0", + "cli-table": "^0.3.1" + }, + "dependencies": { + "benchmark": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/benchmark/-/benchmark-1.0.0.tgz", + "integrity": "sha1-Lx4vpMNZ8REiqhgwgiGOlX45DHM=", + "dev": true + } + } + }, + "grunt-cli": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.3.2.tgz", + "integrity": "sha512-8OHDiZZkcptxVXtMfDxJvmN7MVJNE8L/yIcPb4HB7TlyFD1kDvjHrb62uhySsU14wJx9ORMnTuhRMQ40lH/orQ==", + "dev": true, + "requires": { + "grunt-known-options": "~1.1.0", + "interpret": "~1.1.0", + "liftoff": "~2.5.0", + "nopt": "~4.0.1", + "v8flags": "~3.1.1" + }, + "dependencies": { + "nopt": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "dev": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + } + } + }, + "grunt-contrib-clean": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-2.0.0.tgz", + "integrity": "sha512-g5ZD3ORk6gMa5ugZosLDQl3dZO7cI3R14U75hTM+dVLVxdMNJCPVmwf9OUt4v4eWgpKKWWoVK9DZc1amJp4nQw==", + "dev": true, + "requires": { + "async": "^2.6.1", + "rimraf": "^2.6.2" + }, + "dependencies": { + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "dev": true, + "requires": { + "lodash": "^4.17.10" + } + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "^7.0.5" + } + } + } + }, + "grunt-contrib-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-1.0.1.tgz", + "integrity": "sha1-YVCYYwhOhx1+ht5IwBUlntl3Rb0=", + "dev": true, + "requires": { + "chalk": "^1.0.0", + "source-map": "^0.5.3" + } + }, + "grunt-contrib-copy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz", + "integrity": "sha1-cGDGWB6QS4qw0A8HbgqPbj58NXM=", + "dev": true, + "requires": { + "chalk": "^1.1.1", + "file-sync-cmp": "^0.1.0" + } + }, + "grunt-contrib-jshint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-2.0.0.tgz", + "integrity": "sha512-4qR411I1bhvVrPkKBzCUcrWkTEtBuWioXi9ABWRXHoplRScg03jiMqLDpzS4pDhVsLOTx5F9l+0cnMc+Gd2MWg==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "hooker": "^0.2.3", + "jshint": "~2.9.6" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "grunt-contrib-uglify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-4.0.0.tgz", + "integrity": "sha512-vy3Vop2KDqdiwcGOGAjyKvjHFrRD/YK4KPQWR3Yt6OdYlgFw1z7HCuk66+IJ9s7oJmp9uRQXuuSHyawKRAgiMw==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "maxmin": "^2.1.0", + "uglify-js": "~3.4.8", + "uri-path": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "grunt-contrib-watch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.1.0.tgz", + "integrity": "sha512-yGweN+0DW5yM+oo58fRu/XIRrPcn3r4tQx+nL7eMRwjpvk+rQY6R8o94BPK0i2UhTg9FN21hS+m8vR8v9vXfeg==", + "dev": true, + "requires": { + "async": "^2.6.0", + "gaze": "^1.1.0", + "lodash": "^4.17.10", + "tiny-lr": "^1.1.1" + }, + "dependencies": { + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "dev": true, + "requires": { + "lodash": "^4.17.10" + } + } + } + }, + "grunt-env": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/grunt-env/-/grunt-env-0.4.4.tgz", + "integrity": "sha1-OziEOo1zcXfdyfiTh5+2nOGgvC8=", + "dev": true, + "requires": { + "ini": "~1.3.0", + "lodash": "~2.4.1" + }, + "dependencies": { + "lodash": { + "version": "2.4.2", + "resolved": "http://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + } + } + }, + "grunt-exec": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/grunt-exec/-/grunt-exec-3.0.0.tgz", + "integrity": "sha512-cgAlreXf3muSYS5LzW0Cc4xHK03BjFOYk0MqCQ/MZ3k1Xz2GU7D+IAJg4UKicxpO+XdONJdx/NJ6kpy2wI+uHg==", + "dev": true + }, + "grunt-jscs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/grunt-jscs/-/grunt-jscs-3.0.1.tgz", + "integrity": "sha1-H65Q4+lV3546nZQlrsIqzK4AgJI=", + "dev": true, + "requires": { + "hooker": "~0.2.3", + "jscs": "~3.0.5", + "lodash": "~4.6.1", + "vow": "~0.4.1" + }, + "dependencies": { + "lodash": { + "version": "4.6.1", + "resolved": "http://registry.npmjs.org/lodash/-/lodash-4.6.1.tgz", + "integrity": "sha1-3wDBFkrSNrGDz8OIel6NOMxjy7w=", + "dev": true + } + } + }, + "grunt-karma": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/grunt-karma/-/grunt-karma-3.0.1.tgz", + "integrity": "sha512-iNt1Qe5GoePMIfBQmeffvfrvnvwTfJ9/h9p9gqGMIuEdVsUo4PKhTxIwyW5NMbHrgD8p2UEdeTJH4l0QGz4YtA==", + "dev": true, + "requires": { + "lodash": "^4.17.10" + } + }, + "grunt-known-options": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz", + "integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ==", + "dev": true + }, + "grunt-legacy-log": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.3.tgz", + "integrity": "sha1-7ClCboAwIa9ZAp+H0vnNczWgVTE=", + "dev": true, + "requires": { + "colors": "~0.6.2", + "grunt-legacy-log-utils": "~0.1.1", + "hooker": "~0.2.3", + "lodash": "~2.4.1", + "underscore.string": "~2.3.3" + }, + "dependencies": { + "lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + }, + "underscore.string": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", + "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=", + "dev": true + } + } + }, + "grunt-legacy-log-utils": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz", + "integrity": "sha1-wHBrndkGThFvNvI/5OawSGcsD34=", + "dev": true, + "requires": { + "colors": "~0.6.2", + "lodash": "~2.4.1", + "underscore.string": "~2.3.3" + }, + "dependencies": { + "lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + }, + "underscore.string": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", + "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=", + "dev": true + } + } + }, + "grunt-legacy-util": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz", + "integrity": "sha1-kzJIhNv343qf98Am3/RR2UqeVUs=", + "dev": true, + "requires": { + "async": "~0.1.22", + "exit": "~0.1.1", + "getobject": "~0.1.0", + "hooker": "~0.2.3", + "lodash": "~0.9.2", + "underscore.string": "~2.2.1", + "which": "~1.0.5" + }, + "dependencies": { + "lodash": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz", + "integrity": "sha1-jzSZxSRdNG1oLlsNO0B2fgnxqSw=", + "dev": true + } + } + }, + "grunt-nuget": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/grunt-nuget/-/grunt-nuget-0.3.1.tgz", + "integrity": "sha512-jYPwNAkDRw7UNL2uytExr31fPZwcOIqz/5xdv+ZtOJLBHTt1v9f9qDCTniRHaNEDF6FwZPWWRG9gKLAVY13KNg==", + "dev": true + }, + "grunt-string-replace": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/grunt-string-replace/-/grunt-string-replace-1.3.1.tgz", + "integrity": "sha1-YzoDvHhIKg4OH5339kWBH8H7sWI=", + "dev": true, + "requires": { + "async": "^2.0.0", + "chalk": "^1.0.0" + }, + "dependencies": { + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "dev": true, + "requires": { + "lodash": "^4.17.10" + } + } + } + }, + "gzip-size": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz", + "integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=", + "dev": true, + "requires": { + "duplexer": "^0.1.1" + } + }, + "handlebars": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", + "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", + "dev": true, + "optional": true, + "requires": { + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true, + "optional": true + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true, + "optional": true + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "optional": true, + "requires": { + "amdefine": ">=0.0.4" + } + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "optional": true, + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "optional": true + } + } + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "optional": true, + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz", + "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", + "dev": true, + "requires": { + "ajv": "^5.3.0", + "har-schema": "^2.0.0" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-binary2": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", + "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", + "dev": true, + "requires": { + "isarray": "2.0.1" + }, + "dependencies": { + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", + "dev": true + } + } + }, + "has-color": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", + "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=", + "dev": true + }, + "has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", + "dev": true + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true, + "optional": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hasha": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", + "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=", + "dev": true, + "requires": { + "is-stream": "^1.0.1", + "pinkie-promise": "^2.0.0" + } + }, + "homedir-polyfill": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", + "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hooker": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", + "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=", + "dev": true + }, + "htmlparser2": { + "version": "3.8.3", + "resolved": "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", + "dev": true, + "requires": { + "domelementtype": "1", + "domhandler": "2.3", + "domutils": "1.5", + "entities": "1.0", + "readable-stream": "1.1" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "http-parser-js": { + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.13.tgz", + "integrity": "sha1-O9bW/ebjFyyTNMOzO2wZPYD+ETc=", + "dev": true + }, + "http-proxy": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", + "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", + "dev": true, + "requires": { + "eventemitter3": "^3.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-proxy-agent": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", + "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", + "dev": true, + "requires": { + "agent-base": "^4.1.0", + "debug": "^3.1.0" + } + }, + "i": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/i/-/i-0.3.6.tgz", + "integrity": "sha1-2WyScyB28HJxG2sQ/X1PZa2O4j0=", + "dev": true + }, + "iconv-lite": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz", + "integrity": "sha1-HOYKOleGSiktEyH/RgnKS7llrcg=", + "dev": true + }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", + "dev": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherit": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/inherit/-/inherit-2.2.7.tgz", + "integrity": "sha512-dxJmC1j0Q32NFAjvbd6g3lXYLZ49HgzotgbSMwMkoiTXGhC9412Oc24g7A7M9cPPkw/vDsF2cSII+2zJwocUtQ==", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "interpret": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "dev": true + }, + "is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "requires": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "requires": { + "is-unc-path": "^1.0.0" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "requires": { + "unc-path-regex": "^0.1.2" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "isbinaryfile": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", + "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", + "dev": true, + "requires": { + "buffer-alloc": "^1.2.0" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "js-reporters": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/js-reporters/-/js-reporters-1.2.1.tgz", + "integrity": "sha1-+IxgjjJKM3OpW8xFrTBeXJecRZs=", + "dev": true + }, + "js-yaml": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz", + "integrity": "sha1-bl/mfYsgXOTSL60Ft3geja3MSzA=", + "dev": true, + "optional": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^2.6.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + }, + "jscs": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/jscs/-/jscs-3.0.7.tgz", + "integrity": "sha1-cUG03/W4bjLQ6Z12S4NnZ8MNIBo=", + "dev": true, + "requires": { + "chalk": "~1.1.0", + "cli-table": "~0.3.1", + "commander": "~2.9.0", + "cst": "^0.4.3", + "estraverse": "^4.1.0", + "exit": "~0.1.2", + "glob": "^5.0.1", + "htmlparser2": "3.8.3", + "js-yaml": "~3.4.0", + "jscs-jsdoc": "^2.0.0", + "jscs-preset-wikimedia": "~1.0.0", + "jsonlint": "~1.6.2", + "lodash": "~3.10.0", + "minimatch": "~3.0.0", + "natural-compare": "~1.2.2", + "pathval": "~0.1.1", + "prompt": "~0.2.14", + "reserved-words": "^0.1.1", + "resolve": "^1.1.6", + "strip-bom": "^2.0.0", + "strip-json-comments": "~1.0.2", + "to-double-quotes": "^2.0.0", + "to-single-quotes": "^2.0.0", + "vow": "~0.4.8", + "vow-fs": "~0.3.4", + "xmlbuilder": "^3.1.0" + }, + "dependencies": { + "commander": { + "version": "2.9.0", + "resolved": "http://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + } + }, + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "js-yaml": { + "version": "3.4.6", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.4.6.tgz", + "integrity": "sha1-a+GyP2JJ9T0pM3D9TRqqY84bTrA=", + "dev": true, + "requires": { + "argparse": "^1.0.2", + "esprima": "^2.6.0", + "inherit": "^2.2.2" + } + }, + "lodash": { + "version": "3.10.1", + "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "jscs-jsdoc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jscs-jsdoc/-/jscs-jsdoc-2.0.0.tgz", + "integrity": "sha1-9T684CmqMSW9iCkLpQ1k1FEKSHE=", + "dev": true, + "requires": { + "comment-parser": "^0.3.1", + "jsdoctypeparser": "~1.2.0" + } + }, + "jscs-preset-wikimedia": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/jscs-preset-wikimedia/-/jscs-preset-wikimedia-1.0.1.tgz", + "integrity": "sha512-RWqu6IYSUlnYuCRCF0obCOHjJV0vhpLcvKbauwxmLQoZ0PiXDTWBYlfpsEfdhg7pmREAEwrARfDRz5qWD6qknA==", + "dev": true + }, + "jsdoctypeparser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-1.2.0.tgz", + "integrity": "sha1-597cFToRhJ/8UUEUSuhqfvDCU5I=", + "dev": true, + "requires": { + "lodash": "^3.7.0" + }, + "dependencies": { + "lodash": { + "version": "3.10.1", + "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + } + } + }, + "jshint": { + "version": "2.9.7", + "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.7.tgz", + "integrity": "sha512-Q8XN38hGsVQhdlM+4gd1Xl7OB1VieSuCJf+fEJjpo59JH99bVJhXRXAh26qQ15wfdd1VPMuDWNeSWoNl53T4YA==", + "dev": true, + "requires": { + "cli": "~1.0.0", + "console-browserify": "1.1.x", + "exit": "0.1.x", + "htmlparser2": "3.8.x", + "lodash": "~4.17.10", + "minimatch": "~3.0.2", + "shelljs": "0.3.x", + "strip-json-comments": "1.0.x" + }, + "dependencies": { + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true, + "optional": true + } + } + }, + "jsonlint": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.3.tgz", + "integrity": "sha512-jMVTMzP+7gU/IyC6hvKyWpUU8tmTkK5b3BPNuMI9U8Sit+YAWLlZwB6Y6YrdCxfg2kNz05p3XY3Bmm4m26Nv3A==", + "dev": true, + "requires": { + "JSV": "^4.0.x", + "nomnom": "^1.5.x" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "jszip": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.5.tgz", + "integrity": "sha512-5W8NUaFRFRqTOL7ZDDrx5qWHJyBXy6velVudIzQUSoqAAYqzSh2Z7/m0Rf1QbmQJccegD0r+YZxBjzqoBiEeJQ==", + "dev": true, + "requires": { + "core-js": "~2.3.0", + "es6-promise": "~3.0.2", + "lie": "~3.1.0", + "pako": "~1.0.2", + "readable-stream": "~2.0.6" + }, + "dependencies": { + "core-js": { + "version": "2.3.0", + "resolved": "http://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz", + "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU=", + "dev": true + }, + "es6-promise": { + "version": "3.0.2", + "resolved": "http://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", + "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "readable-stream": { + "version": "2.0.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + } + } + }, + "karma": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/karma/-/karma-3.1.3.tgz", + "integrity": "sha512-JU4FYUtFEGsLZd6ZJzLrivcPj0TkteBiIRDcXWFsltPMGgZMDtby/MIzNOzgyZv/9dahs9vHpSxerC/ZfeX9Qw==", + "dev": true, + "requires": { + "bluebird": "^3.3.0", + "body-parser": "^1.16.1", + "chokidar": "^2.0.3", + "colors": "^1.1.0", + "combine-lists": "^1.0.0", + "connect": "^3.6.0", + "core-js": "^2.2.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.0", + "expand-braces": "^0.1.1", + "flatted": "^2.0.0", + "glob": "^7.1.1", + "graceful-fs": "^4.1.2", + "http-proxy": "^1.13.0", + "isbinaryfile": "^3.0.0", + "lodash": "^4.17.5", + "log4js": "^3.0.0", + "mime": "^2.3.1", + "minimatch": "^3.0.2", + "optimist": "^0.6.1", + "qjobs": "^1.1.4", + "range-parser": "^1.2.0", + "rimraf": "^2.6.0", + "safe-buffer": "^5.0.1", + "socket.io": "2.1.1", + "source-map": "^0.6.1", + "tmp": "0.0.33", + "useragent": "2.3.0" + }, + "dependencies": { + "colors": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", + "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", + "dev": true + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "^7.0.5" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "karma-chrome-launcher": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz", + "integrity": "sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w==", + "dev": true, + "requires": { + "fs-access": "^1.0.0", + "which": "^1.2.1" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "karma-firefox-launcher": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-1.1.0.tgz", + "integrity": "sha512-LbZ5/XlIXLeQ3cqnCbYLn+rOVhuMIK9aZwlP6eOLGzWdo1UVp7t6CN3DP4SafiRLjexKwHeKHDm0c38Mtd3VxA==", + "dev": true + }, + "karma-qunit": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/karma-qunit/-/karma-qunit-2.1.0.tgz", + "integrity": "sha512-QFt2msjpFNx1ZqB1EcD7rXaFRa3P+kLrgm6uRDYV/1MO7qGMxnTDgsFB1KyAKCpMreOmB5MMpEm5sX52j4c0aw==", + "dev": true + }, + "karma-sauce-launcher": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-2.0.2.tgz", + "integrity": "sha512-jLUFaJhHMcKpxFWUesyWYihzM5FvQiJsDwGcCtKeOy2lsWhkVw0V0Byqb1d+wU6myU1mribBtsIcub23HS4kWA==", + "dev": true, + "requires": { + "sauce-connect-launcher": "^1.2.4", + "saucelabs": "^1.5.0", + "selenium-webdriver": "^4.0.0-alpha.1" + } + }, + "kew": { + "version": "0.7.0", + "resolved": "http://registry.npmjs.org/kew/-/kew-0.7.0.tgz", + "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=", + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.9" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true, + "optional": true + } + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true, + "optional": true + }, + "lcov-parse": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", + "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "optional": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lie": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", + "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", + "dev": true, + "requires": { + "immediate": "~3.0.5" + } + }, + "liftoff": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz", + "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=", + "dev": true, + "requires": { + "extend": "^3.0.0", + "findup-sync": "^2.0.0", + "fined": "^1.0.1", + "flagged-respawn": "^1.0.0", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" + }, + "dependencies": { + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + } + } + }, + "livereload-js": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.3.0.tgz", + "integrity": "sha512-j1R0/FeGa64Y+NmqfZhyoVRzcFlOZ8sNlKzHjh4VvLULFACZhn68XrX5DFg2FhMvSMJmROuFxRSa560ECWKBMg==", + "dev": true + }, + "load-grunt-tasks": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/load-grunt-tasks/-/load-grunt-tasks-3.5.2.tgz", + "integrity": "sha1-ByhWEYD9IP+KaSdQWFL8WKrqDIg=", + "dev": true, + "requires": { + "arrify": "^1.0.0", + "multimatch": "^2.0.0", + "pkg-up": "^1.0.0", + "resolve-pkg": "^0.1.0" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "log-driver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", + "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", + "dev": true + }, + "log4js": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-3.0.6.tgz", + "integrity": "sha512-ezXZk6oPJCWL483zj64pNkMuY/NcRX5MPiB0zE6tjZM137aeusrOnW1ecxgF9cmwMWkBMhjteQxBPoZBh9FDxQ==", + "dev": true, + "requires": { + "circular-json": "^0.5.5", + "date-format": "^1.2.0", + "debug": "^3.1.0", + "rfdc": "^1.1.2", + "streamroller": "0.7.0" + } + }, + "loglevel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.1.0.tgz", + "integrity": "sha1-gslPm3N3S0oc0uSuZWKzqLZ230s=", + "dev": true + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", + "dev": true + }, + "make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "requires": { + "tmpl": "1.0.x" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "matcher-collection": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/matcher-collection/-/matcher-collection-1.0.5.tgz", + "integrity": "sha512-nUCmzKipcJEwYsBVAFh5P+d7JBuhJaW1xs85Hara9xuMLqtCVUrW6DSC0JVIkluxEH2W45nPBM/wjHtBXa/tYA==", + "dev": true, + "requires": { + "minimatch": "^3.0.2" + }, + "dependencies": { + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "maxmin": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-2.1.0.tgz", + "integrity": "sha1-TTsiCQPZXu5+t6x/qGTnLcCaMWY=", + "dev": true, + "requires": { + "chalk": "^1.0.0", + "figures": "^1.0.1", + "gzip-size": "^3.0.0", + "pretty-bytes": "^3.0.0" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "merge": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", + "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "mime": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz", + "integrity": "sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w==", + "dev": true + }, + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "dev": true + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dev": true, + "requires": { + "mime-db": "~1.33.0" + } + }, + "minimatch": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", + "dev": true, + "requires": { + "lru-cache": "2", + "sigmund": "~1.0.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "multimatch": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", + "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", + "dev": true, + "requires": { + "array-differ": "^1.0.0", + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "minimatch": "^3.0.0" + }, + "dependencies": { + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "nan": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.0.tgz", + "integrity": "sha512-zT5nC0JhbljmyEf+Z456nvm7iO7XgRV2hYxoBtPpnyp+0Q4aCoP6uWNn76v/I6k2kCYNLWqWbwBWQcjsNI/bjw==", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "natives": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.6.tgz", + "integrity": "sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA==", + "dev": true + }, + "natural-compare": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.2.2.tgz", + "integrity": "sha1-H5bWDjFBysG20FZTzg2urHY69qo=", + "dev": true + }, + "ncp": { + "version": "0.4.2", + "resolved": "http://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz", + "integrity": "sha1-q8xsvT7C7Spyn/bnwfqPAXhKhXQ=", + "dev": true + }, + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node-qunit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-qunit/-/node-qunit-1.0.0.tgz", + "integrity": "sha512-XS9yT8+uirjUo4i04RSRGqZPMVC7U/BnQJcWyUe3kX9Ot9NIzKDq/ZsNW+//5KksHYDCpDv+pODLwpCQbB3upw==", + "dev": true, + "requires": { + "argsparser": "^0.0.7", + "cli-table": "^0.3.0", + "co": "^4.6.0", + "istanbul": "0.4.5", + "qunitjs": "2.1.1", + "tracejs": "^0.1.8", + "underscore": "^1.6.0" + }, + "dependencies": { + "abbrev": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", + "dev": true + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true, + "optional": true + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "escodegen": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", + "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", + "dev": true, + "optional": true, + "requires": { + "esprima": "^2.7.1", + "estraverse": "^1.9.1", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.2.0" + } + }, + "estraverse": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", + "dev": true, + "optional": true + }, + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "optional": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "istanbul": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", + "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", + "dev": true, + "optional": true, + "requires": { + "abbrev": "1.0.x", + "async": "1.x", + "escodegen": "1.8.x", + "esprima": "2.7.x", + "glob": "^5.0.15", + "handlebars": "^4.0.1", + "js-yaml": "3.x", + "mkdirp": "0.5.x", + "nopt": "3.x", + "once": "1.x", + "resolve": "1.1.x", + "supports-color": "^3.1.0", + "which": "^1.1.1", + "wordwrap": "^1.0.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "optional": true, + "requires": { + "abbrev": "1" + } + }, + "source-map": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", + "dev": true, + "optional": true, + "requires": { + "amdefine": ">=0.0.4" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "optional": true, + "requires": { + "has-flag": "^1.0.0" + } + }, + "which": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "dev": true, + "optional": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "nomnom": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz", + "integrity": "sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc=", + "dev": true, + "requires": { + "chalk": "~0.4.0", + "underscore": "~1.6.0" + }, + "dependencies": { + "ansi-styles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", + "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=", + "dev": true + }, + "chalk": { + "version": "0.4.0", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", + "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", + "dev": true, + "requires": { + "ansi-styles": "~1.0.0", + "has-color": "~0.1.0", + "strip-ansi": "~0.1.0" + } + }, + "strip-ansi": { + "version": "0.1.1", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", + "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=", + "dev": true + }, + "underscore": { + "version": "1.6.0", + "resolved": "http://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", + "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", + "dev": true + } + } + }, + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "null-check": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz", + "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "nyc": { + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.9.0.tgz", + "integrity": "sha512-w8OdJAhXL5izerzZMdqzYKMj/pgHJyY3qEPYBjLLxrhcVoHEY9pU5ENIiZyCgG9OR7x3VcUMoD40o6PtVpfR4g==", + "dev": true, + "requires": { + "archy": "^1.0.0", + "arrify": "^1.0.1", + "caching-transform": "^1.0.0", + "convert-source-map": "^1.5.1", + "debug-log": "^1.0.1", + "default-require-extensions": "^1.0.0", + "find-cache-dir": "^0.1.1", + "find-up": "^2.1.0", + "foreground-child": "^1.5.3", + "glob": "^7.0.6", + "istanbul-lib-coverage": "^1.1.2", + "istanbul-lib-hook": "^1.1.0", + "istanbul-lib-instrument": "^1.10.0", + "istanbul-lib-report": "^1.1.3", + "istanbul-lib-source-maps": "^1.2.3", + "istanbul-reports": "^1.4.0", + "md5-hex": "^1.2.0", + "merge-source-map": "^1.1.0", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.0", + "resolve-from": "^2.0.0", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.1", + "spawn-wrap": "^1.4.2", + "test-exclude": "^4.2.0", + "yargs": "11.1.0", + "yargs-parser": "^8.0.0" + }, + "dependencies": { + "align-text": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + } + }, + "amdefine": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "bundled": true, + "dev": true + }, + "append-transform": { + "version": "0.4.0", + "bundled": true, + "dev": true, + "requires": { + "default-require-extensions": "^1.0.0" + } + }, + "archy": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "arr-diff": { + "version": "4.0.0", + "bundled": true, + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "bundled": true, + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "bundled": true, + "dev": true + }, + "arrify": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "async": { + "version": "1.5.2", + "bundled": true, + "dev": true + }, + "atob": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "babel-generator": { + "version": "6.26.1", + "bundled": true, + "dev": true, + "requires": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "bundled": true, + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-runtime": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "babel-template": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "babel-types": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "bundled": true, + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "base": { + "version": "0.11.2", + "bundled": true, + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "bundled": true, + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "builtin-modules": { + "version": "1.1.1", + "bundled": true, + "dev": true + }, + "cache-base": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "caching-transform": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" + } + }, + "camelcase": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true + }, + "center-align": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, + "chalk": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "class-utils": { + "version": "0.3.6", + "bundled": true, + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "cliui": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "commondir": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "component-emitter": { + "version": "1.2.1", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "convert-source-map": { + "version": "1.5.1", + "bundled": true, + "dev": true + }, + "copy-descriptor": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "core-js": { + "version": "2.5.6", + "bundled": true, + "dev": true + }, + "cross-spawn": { + "version": "4.0.2", + "bundled": true, + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "debug-log": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "bundled": true, + "dev": true + }, + "default-require-extensions": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "strip-bom": "^2.0.0" + } + }, + "define-property": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, + "detect-indent": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "error-ex": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "esutils": { + "version": "2.0.2", + "bundled": true, + "dev": true + }, + "execa": { + "version": "0.7.0", + "bundled": true, + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "bundled": true, + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "bundled": true, + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "extend-shallow": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "bundled": true, + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, + "fill-range": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "find-cache-dir": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "requires": { + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "for-in": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "foreground-child": { + "version": "1.5.6", + "bundled": true, + "dev": true, + "requires": { + "cross-spawn": "^4", + "signal-exit": "^3.0.0" + } + }, + "fragment-cache": { + "version": "0.2.1", + "bundled": true, + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "get-caller-file": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "get-value": { + "version": "2.0.6", + "bundled": true, + "dev": true + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "globals": { + "version": "9.18.0", + "bundled": true, + "dev": true + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true, + "dev": true + }, + "handlebars": { + "version": "4.0.11", + "bundled": true, + "dev": true, + "requires": { + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "bundled": true, + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "has-ansi": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "has-value": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "has-values": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hosted-git-info": { + "version": "2.6.0", + "bundled": true, + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "bundled": true, + "dev": true + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "invariant": { + "version": "2.2.4", + "bundled": true, + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-arrayish": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "is-buffer": { + "version": "1.1.6", + "bundled": true, + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "builtin-modules": "^1.0.0" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "bundled": true, + "dev": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "is-number": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-odd": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "bundled": true, + "dev": true + } + } + }, + "is-plain-object": { + "version": "2.0.4", + "bundled": true, + "dev": true, + "requires": { + "isobject": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "is-stream": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isexe": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "istanbul-lib-coverage": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "istanbul-lib-hook": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "append-transform": "^0.4.0" + } + }, + "istanbul-lib-instrument": { + "version": "1.10.1", + "bundled": true, + "dev": true, + "requires": { + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.2.0", + "semver": "^5.3.0" + } + }, + "istanbul-lib-report": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "requires": { + "istanbul-lib-coverage": "^1.1.2", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" + }, + "dependencies": { + "supports-color": { + "version": "3.2.3", + "bundled": true, + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "1.2.3", + "bundled": true, + "dev": true, + "requires": { + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.1.2", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "istanbul-reports": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "handlebars": "^4.0.3" + } + }, + "js-tokens": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "jsesc": { + "version": "1.3.0", + "bundled": true, + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + }, + "lazy-cache": { + "version": "1.0.4", + "bundled": true, + "dev": true, + "optional": true + }, + "lcid": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "dependencies": { + "path-exists": { + "version": "3.0.0", + "bundled": true, + "dev": true + } + } + }, + "lodash": { + "version": "4.17.10", + "bundled": true, + "dev": true + }, + "longest": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "js-tokens": "^3.0.0" + } + }, + "lru-cache": { + "version": "4.1.3", + "bundled": true, + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "map-cache": { + "version": "0.2.2", + "bundled": true, + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "md5-hex": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "md5-o-matic": "^0.1.1" + } + }, + "md5-o-matic": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "mem": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "merge-source-map": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "bundled": true, + "dev": true + } + } + }, + "micromatch": { + "version": "3.1.10", + "bundled": true, + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, + "mimic-fn": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "mixin-deep": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "nanomatch": { + "version": "1.2.9", + "bundled": true, + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-odd": "^2.0.0", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "bundled": true, + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "bundled": true, + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, + "normalize-package-data": { + "version": "2.4.0", + "bundled": true, + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "npm-run-path": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "bundled": true, + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "object-visit": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "object.pick": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "isobject": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optimist": { + "version": "0.6.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "os-locale": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + } + }, + "p-finally": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "p-limit": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "parse-json": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "pascalcase": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "path-exists": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "path-key": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "path-type": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "bundled": true, + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "bundled": true, + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "find-up": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "read-pkg": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + } + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "bundled": true, + "dev": true + }, + "regex-not": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "repeat-element": { + "version": "1.1.2", + "bundled": true, + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "bundled": true, + "dev": true + }, + "repeating": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "require-directory": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "resolve-from": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "ret": { + "version": "0.1.15", + "bundled": true, + "dev": true + }, + "right-align": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "align-text": "^0.1.1" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "dev": true, + "requires": { + "glob": "^7.0.5" + } + }, + "safe-regex": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "semver": { + "version": "5.5.0", + "bundled": true, + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "set-value": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "shebang-command": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "slide": { + "version": "1.1.6", + "bundled": true, + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "bundled": true, + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^3.2.0" + } + }, + "source-map": { + "version": "0.5.7", + "bundled": true, + "dev": true + }, + "source-map-resolve": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "atob": "^2.0.0", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "bundled": true, + "dev": true + }, + "spawn-wrap": { + "version": "1.4.2", + "bundled": true, + "dev": true, + "requires": { + "foreground-child": "^1.5.6", + "mkdirp": "^0.5.0", + "os-homedir": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.2", + "which": "^1.3.0" + } + }, + "spdx-correct": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.1.0", + "bundled": true, + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "split-string": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "static-extend": { + "version": "0.1.2", + "bundled": true, + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "string-width": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "test-exclude": { + "version": "4.2.1", + "bundled": true, + "dev": true, + "requires": { + "arrify": "^1.0.1", + "micromatch": "^3.1.8", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "bundled": true, + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "bundled": true, + "dev": true + }, + "braces": { + "version": "2.3.2", + "bundled": true, + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "bundled": true, + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "bundled": true, + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "bundled": true, + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-number": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "bundled": true, + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + } + } + }, + "to-fast-properties": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "to-regex": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + } + } + }, + "trim-right": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "uglify-js": { + "version": "2.8.29", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + }, + "dependencies": { + "yargs": { + "version": "3.10.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "union-value": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "set-value": { + "version": "0.4.3", + "bundled": true, + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" + } + } + } + }, + "unset-value": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "bundled": true, + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "bundled": true, + "dev": true + }, + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "urix": { + "version": "0.1.0", + "bundled": true, + "dev": true + }, + "use": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, + "validate-npm-package-license": { + "version": "3.0.3", + "bundled": true, + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "which": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "window-size": { + "version": "0.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "wordwrap": { + "version": "0.0.3", + "bundled": true, + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "write-file-atomic": { + "version": "1.3.4", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" + } + }, + "y18n": { + "version": "3.2.1", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "2.1.2", + "bundled": true, + "dev": true + }, + "yargs": { + "version": "11.1.0", + "bundled": true, + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "camelcase": { + "version": "4.1.0", + "bundled": true, + "dev": true + }, + "cliui": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "yargs-parser": { + "version": "9.0.2", + "bundled": true, + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "yargs-parser": { + "version": "8.1.0", + "bundled": true, + "dev": true, + "requires": { + "camelcase": "^4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "bundled": true, + "dev": true + } + } + } + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-component": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", + "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "dev": true, + "requires": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + } + } + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "optional": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "pako": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.7.tgz", + "integrity": "sha512-3HNK5tW4x8o5mO8RuHZp3Ydw9icZXx0RANAOMzlMzx7LVXhMJ4mo3MOBpzyd7r/+RUu8BmndP47LXT+vzjtWcQ==", + "dev": true + }, + "parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "dev": true, + "requires": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "parseqs": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", + "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", + "dev": true, + "requires": { + "better-assert": "~1.0.0" + } + }, + "parseuri": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", + "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", + "dev": true, + "requires": { + "better-assert": "~1.0.0" + } + }, + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "dev": true, + "requires": { + "path-root-regex": "^0.1.0" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "dev": true + }, + "pathval": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-0.1.1.tgz", + "integrity": "sha1-CPkRzcqczllCiA2ngXvAtyO2bYI=", + "dev": true + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "phantomjs-prebuilt": { + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz", + "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=", + "dev": true, + "requires": { + "es6-promise": "^4.0.3", + "extract-zip": "^1.6.5", + "fs-extra": "^1.0.0", + "hasha": "^2.2.0", + "kew": "^0.7.0", + "progress": "^1.1.8", + "request": "^2.81.0", + "request-progress": "^2.0.1", + "which": "^1.2.10" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-up": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz", + "integrity": "sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY=", + "dev": true, + "requires": { + "find-up": "^1.0.0" + } + }, + "pkginfo": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", + "integrity": "sha1-tUGO8EOd5UJfxJlQQtztFPsqhP8=", + "dev": true + }, + "platform": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.5.tgz", + "integrity": "sha512-TuvHS8AOIZNAlE77WUDiR4rySV/VMptyMfcfeoMgs4P8apaZM3JrnbzBiixKUv+XR6i+BXrQh8WAnjaSPFO65Q==", + "dev": true + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "pretty-bytes": { + "version": "3.0.1", + "resolved": "http://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz", + "integrity": "sha1-J9AAjXeAY6C0gRuzXHnxvV1fvM8=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, + "progress": { + "version": "1.1.8", + "resolved": "http://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", + "dev": true + }, + "prompt": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/prompt/-/prompt-0.2.14.tgz", + "integrity": "sha1-V3VPZPVD/XsIRXB8gY7OYY8F/9w=", + "dev": true, + "requires": { + "pkginfo": "0.x.x", + "read": "1.0.x", + "revalidator": "0.1.x", + "utile": "0.2.x", + "winston": "0.8.x" + } + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "psext": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/psext/-/psext-0.0.4.tgz", + "integrity": "sha1-jVdtcNUId/YfTqFjQnVobgIprzo=", + "dev": true, + "requires": { + "table-parser": "0.0.3" + } + }, + "psl": { + "version": "1.1.29", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", + "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "qjobs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "qunit": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/qunit/-/qunit-2.7.1.tgz", + "integrity": "sha512-ePeNs/CVL8coOWxnjxQAp9mCvRJybEQw3rwJe1TUClL+WrIcaZkLeW7VxHWtshn0L0ZtY0y80JqC7+po7330Ng==", + "dev": true, + "requires": { + "commander": "2.12.2", + "exists-stat": "1.0.0", + "findup-sync": "2.0.0", + "js-reporters": "1.2.1", + "resolve": "1.5.0", + "sane": "^4.0.0", + "walk-sync": "0.3.2" + }, + "dependencies": { + "commander": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.2.tgz", + "integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==", + "dev": true + }, + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "resolve": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", + "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", + "dev": true, + "requires": { + "path-parse": "^1.0.5" + } + } + } + }, + "qunitjs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/qunitjs/-/qunitjs-2.1.1.tgz", + "integrity": "sha1-wwh8hk2alEMQO9vezA7zWceoIoE=", + "dev": true + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "dev": true + }, + "raw-body": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz", + "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=", + "dev": true, + "requires": { + "bytes": "1", + "string_decoder": "0.10" + } + }, + "rc": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/rc/-/rc-0.5.1.tgz", + "integrity": "sha1-uI75QhoIFRNSplngw6WMS4LrdXY=", + "dev": true, + "requires": { + "deep-extend": "~0.2.5", + "ini": "~1.1.0", + "minimist": "~0.0.7", + "strip-json-comments": "0.1.x" + }, + "dependencies": { + "ini": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.1.0.tgz", + "integrity": "sha1-ToCMLOFExsF4iRjgNNZ5e8bPYoE=", + "dev": true + }, + "minimist": { + "version": "0.0.10", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + }, + "strip-json-comments": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.3.tgz", + "integrity": "sha1-Fkxk43Coo8wAyeAbU55WmCPw7lQ=", + "dev": true + } + } + }, + "read": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", + "dev": true, + "requires": { + "mute-stream": "~0.0.4" + } + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "dev": true + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "mime-db": { + "version": "1.37.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", + "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", + "dev": true + }, + "mime-types": { + "version": "2.1.21", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", + "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", + "dev": true, + "requires": { + "mime-db": "~1.37.0" + } + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dev": true, + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + } + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true + } + } + }, + "request-progress": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz", + "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=", + "dev": true, + "requires": { + "throttleit": "^1.0.0" + } + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "reserved-words": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.2.tgz", + "integrity": "sha1-AKCUD5jNUBrqqsMWQR2a3FKzGrE=", + "dev": true + }, + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "resolve-from": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", + "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", + "dev": true + }, + "resolve-pkg": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/resolve-pkg/-/resolve-pkg-0.1.0.tgz", + "integrity": "sha1-AsyZNBDik2livZcWahsHfalyVTE=", + "dev": true, + "requires": { + "resolve-from": "^2.0.0" + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "revalidator": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz", + "integrity": "sha1-/s5hv6DBtSoga9axgZgYS91SOjs=", + "dev": true + }, + "rfdc": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.2.tgz", + "integrity": "sha512-92ktAgvZhBzYTIK0Mja9uen5q5J3NRVMoDkJL2VMwq6SXjVCgqvQeVP2XAaUY6HT+XpQYeLSjb3UoitBryKmdA==", + "dev": true + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "optional": true, + "requires": { + "align-text": "^0.1.1" + } + }, + "rimraf": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", + "dev": true + }, + "rollup": { + "version": "0.67.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.67.4.tgz", + "integrity": "sha512-AVuP73mkb4BBMUmksQ3Jw0jTrBTU1i7rLiUYjFxLZGb3xiFmtVEg40oByphkZAsiL0bJC3hRAJUQos/e5EBd+w==", + "dev": true, + "requires": { + "@types/estree": "0.0.39", + "@types/node": "*" + } + }, + "rsvp": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", + "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safe-json-parse": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz", + "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sane": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.0.2.tgz", + "integrity": "sha512-/3STCUfNSgMVpoREJc1i6ajKFlYZ5OflzZTOhlqPLa+01Ey+QR9iGZK7K5/qIRsQbEDCvqEJH/PL7yZywmnWsA==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "capture-exit": "^1.2.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5", + "watch": "~0.18.0" + } + }, + "sauce-connect-launcher": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-1.2.4.tgz", + "integrity": "sha512-X2vfwulR6brUGiicXKxPm1GJ7dBEeP1II450Uv4bHGrcGOapZNgzJvn9aioea5IC5BPp/7qjKdE3xbbTBIVXMA==", + "dev": true, + "requires": { + "adm-zip": "~0.4.3", + "async": "^2.1.2", + "https-proxy-agent": "^2.2.1", + "lodash": "^4.16.6", + "rimraf": "^2.5.4" + }, + "dependencies": { + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "dev": true, + "requires": { + "lodash": "^4.17.10" + } + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "^7.0.5" + } + } + } + }, + "saucelabs": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz", + "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==", + "dev": true, + "requires": { + "https-proxy-agent": "^2.2.1" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "selenium-webdriver": { + "version": "4.0.0-alpha.1", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.0.0-alpha.1.tgz", + "integrity": "sha512-z88rdjHAv3jmTZ7KSGUkTvo4rGzcDGMq0oXWHNIDK96Gs31JKVdu9+FMtT4KBrVoibg8dUicJDok6GnqqttO5Q==", + "dev": true, + "requires": { + "jszip": "^3.1.3", + "rimraf": "^2.5.4", + "tmp": "0.0.30", + "xml2js": "^0.4.17" + }, + "dependencies": { + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "^7.0.5" + } + }, + "tmp": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", + "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.1" + } + } + } + }, + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + }, + "set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shelljs": { + "version": "0.3.0", + "resolved": "http://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz", + "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=", + "dev": true + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + } + }, + "socket.io": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz", + "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==", + "dev": true, + "requires": { + "debug": "~3.1.0", + "engine.io": "~3.2.0", + "has-binary2": "~1.0.2", + "socket.io-adapter": "~1.1.0", + "socket.io-client": "2.1.1", + "socket.io-parser": "~3.2.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "socket.io-adapter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz", + "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=", + "dev": true + }, + "socket.io-client": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz", + "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==", + "dev": true, + "requires": { + "backo2": "1.0.2", + "base64-arraybuffer": "0.1.5", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "~3.1.0", + "engine.io-client": "~3.2.0", + "has-binary2": "~1.0.2", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "socket.io-parser": "~3.2.0", + "to-array": "0.1.4" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "socket.io-parser": { + "version": "3.2.0", + "resolved": "http://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz", + "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==", + "dev": true, + "requires": { + "component-emitter": "1.2.1", + "debug": "~3.1.0", + "isarray": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, + "requires": { + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "^0.5.6" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "spacejam": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/spacejam/-/spacejam-1.6.1.tgz", + "integrity": "sha1-1Nk5z/ImSTcMJe3kwbElV25zUBY=", + "dev": true, + "requires": { + "chai": "1.9.2", + "glob": "4.0.6", + "loglevel": "1.1.0", + "phantomjs-prebuilt": "^2.1.7", + "psext": "0.0.4", + "rc": "0.5.1", + "semver": "4.1.0", + "underscore": "1.7.0" + }, + "dependencies": { + "glob": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-4.0.6.tgz", + "integrity": "sha1-aVxQvdTi+1xdNwsJHziNNwfikac=", + "dev": true, + "requires": { + "graceful-fs": "^3.0.2", + "inherits": "2", + "minimatch": "^1.0.0", + "once": "^1.3.0" + } + }, + "graceful-fs": { + "version": "3.0.11", + "resolved": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", + "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", + "dev": true, + "requires": { + "natives": "^1.1.0" + } + }, + "minimatch": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz", + "integrity": "sha1-4N0hILSeG3JM6NcUxSCCKpQ4V20=", + "dev": true, + "requires": { + "lru-cache": "2", + "sigmund": "~1.0.0" + } + }, + "semver": { + "version": "4.1.0", + "resolved": "http://registry.npmjs.org/semver/-/semver-4.1.0.tgz", + "integrity": "sha1-vICp/2hTKBQ2LMPP2jx7de2cMhw=", + "dev": true + } + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz", + "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + }, + "streamroller": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-0.7.0.tgz", + "integrity": "sha512-WREzfy0r0zUqp3lGO096wRuUp7ho1X6uo/7DJfTlEi0Iv/4gT7YHqXDjKC2ioVGBZtE8QzsQD9nx1nIuoZ57jQ==", + "dev": true, + "requires": { + "date-format": "^1.2.0", + "debug": "^3.1.0", + "mkdirp": "^0.5.1", + "readable-stream": "^2.3.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "string-template": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", + "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-json-comments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "table-parser": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/table-parser/-/table-parser-0.0.3.tgz", + "integrity": "sha1-NWQEQ+3DJ/m3Y9Ma+bKsfdtftr0=", + "dev": true + }, + "throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=", + "dev": true + }, + "tiny-lr": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz", + "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==", + "dev": true, + "requires": { + "body": "^5.1.0", + "debug": "^3.1.0", + "faye-websocket": "~0.10.0", + "livereload-js": "^2.3.0", + "object-assign": "^4.1.0", + "qs": "^6.4.0" + }, + "dependencies": { + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + } + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "to-array": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", + "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", + "dev": true + }, + "to-double-quotes": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-double-quotes/-/to-double-quotes-2.0.0.tgz", + "integrity": "sha1-qvIx1vqUiUn4GTAburRITYWI5Kc=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "to-single-quotes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/to-single-quotes/-/to-single-quotes-2.0.1.tgz", + "integrity": "sha1-fMKRUfD18sQZRvEZ9ZMv5VQXASU=", + "dev": true + }, + "tracejs": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/tracejs/-/tracejs-0.1.8.tgz", + "integrity": "sha1-bCZ4exhT8TcWNGIsHIC8RAJsXXA=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, + "optional": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-detect": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz", + "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=", + "dev": true + }, + "type-is": { + "version": "1.6.16", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.18" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "typescript": { + "version": "1.8.10", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-1.8.10.tgz", + "integrity": "sha1-tHXW4N/wv1DyluXKbvn7tccyDx4=", + "dev": true + }, + "uglify-js": { + "version": "3.4.9", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", + "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", + "dev": true, + "requires": { + "commander": "~2.17.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, + "optional": true + }, + "ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", + "dev": true + }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "dev": true + }, + "underscore": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", + "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=", + "dev": true + }, + "underscore.string": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz", + "integrity": "sha1-18D6KvXVoaZ/QlPa7pgTLnM/Dxk=", + "dev": true + }, + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" + } + } + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + } + } + }, + "upath": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", + "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", + "dev": true + }, + "uri-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/uri-path/-/uri-path-1.0.0.tgz", + "integrity": "sha1-l0fwGDWJM8Md4PzP2C0TjmcmLjI=", + "dev": true + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "useragent": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz", + "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==", + "dev": true, + "requires": { + "lru-cache": "4.1.x", + "tmp": "0.0.x" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "utile": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz", + "integrity": "sha1-kwyI6ZCY1iIINMNWy9mncFItkNc=", + "dev": true, + "requires": { + "async": "~0.2.9", + "deep-equal": "*", + "i": "0.3.x", + "mkdirp": "0.x.x", + "ncp": "0.4.x", + "rimraf": "2.x.x" + }, + "dependencies": { + "async": { + "version": "0.2.10", + "resolved": "http://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true + } + } + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "2.0.3", + "resolved": "http://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", + "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", + "dev": true + }, + "v8flags": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.1.tgz", + "integrity": "sha512-iw/1ViSEaff8NJ3HLyEjawk/8hjJib3E7pvG4pddVXfUg1983s3VGsiClDjhK64MQVDGqc1Q8r18S4VKQZS9EQ==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", + "dev": true + }, + "vow": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/vow/-/vow-0.4.18.tgz", + "integrity": "sha512-7QGozxlOhour77BCQbbyW5XFP8ioIz/DPK67IyO3DnJtF0WXrXueMwqrYFM9yqyfgENcyxL+vktz2oJeZfdWtw==", + "dev": true + }, + "vow-fs": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/vow-fs/-/vow-fs-0.3.6.tgz", + "integrity": "sha1-LUxZviLivyYY3fWXq0uqkjvnIA0=", + "dev": true, + "requires": { + "glob": "^7.0.5", + "uuid": "^2.0.2", + "vow": "^0.4.7", + "vow-queue": "^0.4.1" + }, + "dependencies": { + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "vow-queue": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/vow-queue/-/vow-queue-0.4.3.tgz", + "integrity": "sha512-/poAKDTFL3zYbeQg7cl4BGcfP4sGgXKrHnRFSKj97dteUFu8oyXMwIcdwu8NSx/RmPGIuYx1Bik/y5vU4H/VKw==", + "dev": true, + "requires": { + "vow": "^0.4.17" + } + }, + "walk-sync": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-0.3.2.tgz", + "integrity": "sha512-FMB5VqpLqOCcqrzA9okZFc0wq0Qbmdm396qJxvQZhDpyu0W95G9JCmp74tx7iyYnyOcBtUuKJsgIKAqjozvmmQ==", + "dev": true, + "requires": { + "ensure-posix-path": "^1.0.0", + "matcher-collection": "^1.0.0" + } + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "requires": { + "makeerror": "1.0.x" + } + }, + "watch": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz", + "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=", + "dev": true, + "requires": { + "exec-sh": "^0.2.0", + "minimist": "^1.2.0" + }, + "dependencies": { + "exec-sh": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", + "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", + "dev": true, + "requires": { + "merge": "^1.2.0" + } + } + } + }, + "websocket-driver": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", + "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "dev": true, + "requires": { + "http-parser-js": ">=0.4.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "dev": true + }, + "which": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/which/-/which-1.0.9.tgz", + "integrity": "sha1-RgwdoPgQED0DIam2M6+eV15kSG8=", + "dev": true + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true, + "optional": true + }, + "winston": { + "version": "0.8.3", + "resolved": "http://registry.npmjs.org/winston/-/winston-0.8.3.tgz", + "integrity": "sha1-ZLar9M0Brcrv1QCTk7HY6L7BnbA=", + "dev": true, + "requires": { + "async": "0.2.x", + "colors": "0.6.x", + "cycle": "1.0.x", + "eyes": "0.1.x", + "isstream": "0.1.x", + "pkginfo": "0.3.x", + "stack-trace": "0.0.x" + }, + "dependencies": { + "async": { + "version": "0.2.10", + "resolved": "http://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true + }, + "pkginfo": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz", + "integrity": "sha1-Wyn2qB9wcXFC4J52W76rl7T4HiE=", + "dev": true + } + } + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + } + }, + "xml2js": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", + "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", + "dev": true, + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~9.0.1" + }, + "dependencies": { + "xmlbuilder": { + "version": "9.0.7", + "resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", + "dev": true + } + } + }, + "xmlbuilder": { + "version": "3.1.0", + "resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-3.1.0.tgz", + "integrity": "sha1-LIaIjy1OrehQ+jjKf3Ij9yCVFuE=", + "dev": true, + "requires": { + "lodash": "^3.5.0" + }, + "dependencies": { + "lodash": { + "version": "3.10.1", + "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + } + } + }, + "xmlhttprequest-ssl": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", + "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yauzl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", + "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "dev": true, + "requires": { + "fd-slicer": "~1.0.1" + } + }, + "yeast": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", + "dev": true + } + } +} diff --git a/public/bower_components/moment/src/lib/create/check-overflow.js b/public/bower_components/moment/src/lib/create/check-overflow.js new file mode 100644 index 0000000..41b539f --- /dev/null +++ b/public/bower_components/moment/src/lib/create/check-overflow.js @@ -0,0 +1,34 @@ +import { daysInMonth } from '../units/month'; +import { YEAR, MONTH, DATE, HOUR, MINUTE, SECOND, MILLISECOND, WEEK, WEEKDAY } from '../units/constants'; +import getParsingFlags from '../create/parsing-flags'; + +export default function checkOverflow (m) { + var overflow; + var a = m._a; + + if (a && getParsingFlags(m).overflow === -2) { + overflow = + a[MONTH] < 0 || a[MONTH] > 11 ? MONTH : + a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE : + a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR : + a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE : + a[SECOND] < 0 || a[SECOND] > 59 ? SECOND : + a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND : + -1; + + if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) { + overflow = DATE; + } + if (getParsingFlags(m)._overflowWeeks && overflow === -1) { + overflow = WEEK; + } + if (getParsingFlags(m)._overflowWeekday && overflow === -1) { + overflow = WEEKDAY; + } + + getParsingFlags(m).overflow = overflow; + } + + return m; +} + diff --git a/public/bower_components/moment/src/lib/create/date-from-array.js b/public/bower_components/moment/src/lib/create/date-from-array.js new file mode 100644 index 0000000..7fabbc0 --- /dev/null +++ b/public/bower_components/moment/src/lib/create/date-from-array.js @@ -0,0 +1,35 @@ +export function createDate (y, m, d, h, M, s, ms) { + // can't just apply() to create a date: + // https://stackoverflow.com/q/181348 + var date; + // the date constructor remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + date = new Date(y + 400, m, d, h, M, s, ms); + if (isFinite(date.getFullYear())) { + date.setFullYear(y); + } + } else { + date = new Date(y, m, d, h, M, s, ms); + } + + return date; +} + +export function createUTCDate (y) { + var date; + // the Date.UTC function remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + var args = Array.prototype.slice.call(arguments); + // preserve leap years using a full 400 year cycle, then reset + args[0] = y + 400; + date = new Date(Date.UTC.apply(null, args)); + if (isFinite(date.getUTCFullYear())) { + date.setUTCFullYear(y); + } + } else { + date = new Date(Date.UTC.apply(null, arguments)); + } + + return date; +} diff --git a/public/bower_components/moment/src/lib/create/from-anything.js b/public/bower_components/moment/src/lib/create/from-anything.js new file mode 100644 index 0000000..e692679 --- /dev/null +++ b/public/bower_components/moment/src/lib/create/from-anything.js @@ -0,0 +1,110 @@ +import isArray from '../utils/is-array'; +import isObject from '../utils/is-object'; +import isObjectEmpty from '../utils/is-object-empty'; +import isUndefined from '../utils/is-undefined'; +import isNumber from '../utils/is-number'; +import isDate from '../utils/is-date'; +import map from '../utils/map'; +import { createInvalid } from './valid'; +import { Moment, isMoment } from '../moment/constructor'; +import { getLocale } from '../locale/locales'; +import { hooks } from '../utils/hooks'; +import checkOverflow from './check-overflow'; +import { isValid } from './valid'; + +import { configFromStringAndArray } from './from-string-and-array'; +import { configFromStringAndFormat } from './from-string-and-format'; +import { configFromString } from './from-string'; +import { configFromArray } from './from-array'; +import { configFromObject } from './from-object'; + +function createFromConfig (config) { + var res = new Moment(checkOverflow(prepareConfig(config))); + if (res._nextDay) { + // Adding is smart enough around DST + res.add(1, 'd'); + res._nextDay = undefined; + } + + return res; +} + +export function prepareConfig (config) { + var input = config._i, + format = config._f; + + config._locale = config._locale || getLocale(config._l); + + if (input === null || (format === undefined && input === '')) { + return createInvalid({nullInput: true}); + } + + if (typeof input === 'string') { + config._i = input = config._locale.preparse(input); + } + + if (isMoment(input)) { + return new Moment(checkOverflow(input)); + } else if (isDate(input)) { + config._d = input; + } else if (isArray(format)) { + configFromStringAndArray(config); + } else if (format) { + configFromStringAndFormat(config); + } else { + configFromInput(config); + } + + if (!isValid(config)) { + config._d = null; + } + + return config; +} + +function configFromInput(config) { + var input = config._i; + if (isUndefined(input)) { + config._d = new Date(hooks.now()); + } else if (isDate(input)) { + config._d = new Date(input.valueOf()); + } else if (typeof input === 'string') { + configFromString(config); + } else if (isArray(input)) { + config._a = map(input.slice(0), function (obj) { + return parseInt(obj, 10); + }); + configFromArray(config); + } else if (isObject(input)) { + configFromObject(config); + } else if (isNumber(input)) { + // from milliseconds + config._d = new Date(input); + } else { + hooks.createFromInputFallback(config); + } +} + +export function createLocalOrUTC (input, format, locale, strict, isUTC) { + var c = {}; + + if (locale === true || locale === false) { + strict = locale; + locale = undefined; + } + + if ((isObject(input) && isObjectEmpty(input)) || + (isArray(input) && input.length === 0)) { + input = undefined; + } + // object construction must be done this way. + // https://github.com/moment/moment/issues/1423 + c._isAMomentObject = true; + c._useUTC = c._isUTC = isUTC; + c._l = locale; + c._i = input; + c._f = format; + c._strict = strict; + + return createFromConfig(c); +} diff --git a/public/bower_components/moment/src/lib/create/from-array.js b/public/bower_components/moment/src/lib/create/from-array.js new file mode 100644 index 0000000..548992f --- /dev/null +++ b/public/bower_components/moment/src/lib/create/from-array.js @@ -0,0 +1,147 @@ +import { hooks } from '../utils/hooks'; +import { createDate, createUTCDate } from './date-from-array'; +import { daysInYear } from '../units/year'; +import { weekOfYear, weeksInYear, dayOfYearFromWeeks } from '../units/week-calendar-utils'; +import { YEAR, MONTH, DATE, HOUR, MINUTE, SECOND, MILLISECOND } from '../units/constants'; +import { createLocal } from './local'; +import defaults from '../utils/defaults'; +import getParsingFlags from './parsing-flags'; + +function currentDateArray(config) { + // hooks is actually the exported moment object + var nowValue = new Date(hooks.now()); + if (config._useUTC) { + return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()]; + } + return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()]; +} + +// convert an array to a date. +// the array should mirror the parameters below +// note: all values past the year are optional and will default to the lowest possible value. +// [year, month, day , hour, minute, second, millisecond] +export function configFromArray (config) { + var i, date, input = [], currentDate, expectedWeekday, yearToUse; + + if (config._d) { + return; + } + + currentDate = currentDateArray(config); + + //compute day of the year from weeks and weekdays + if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { + dayOfYearFromWeekInfo(config); + } + + //if the day of the year is set, figure out what it is + if (config._dayOfYear != null) { + yearToUse = defaults(config._a[YEAR], currentDate[YEAR]); + + if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) { + getParsingFlags(config)._overflowDayOfYear = true; + } + + date = createUTCDate(yearToUse, 0, config._dayOfYear); + config._a[MONTH] = date.getUTCMonth(); + config._a[DATE] = date.getUTCDate(); + } + + // Default to current date. + // * if no year, month, day of month are given, default to today + // * if day of month is given, default month and year + // * if month is given, default only year + // * if year is given, don't default anything + for (i = 0; i < 3 && config._a[i] == null; ++i) { + config._a[i] = input[i] = currentDate[i]; + } + + // Zero out whatever was not defaulted, including time + for (; i < 7; i++) { + config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i]; + } + + // Check for 24:00:00.000 + if (config._a[HOUR] === 24 && + config._a[MINUTE] === 0 && + config._a[SECOND] === 0 && + config._a[MILLISECOND] === 0) { + config._nextDay = true; + config._a[HOUR] = 0; + } + + config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input); + expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay(); + + // Apply timezone offset from input. The actual utcOffset can be changed + // with parseZone. + if (config._tzm != null) { + config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); + } + + if (config._nextDay) { + config._a[HOUR] = 24; + } + + // check for mismatching day of week + if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) { + getParsingFlags(config).weekdayMismatch = true; + } +} + +function dayOfYearFromWeekInfo(config) { + var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow; + + w = config._w; + if (w.GG != null || w.W != null || w.E != null) { + dow = 1; + doy = 4; + + // TODO: We need to take the current isoWeekYear, but that depends on + // how we interpret now (local, utc, fixed offset). So create + // a now version of current config (take local/utc/offset flags, and + // create now). + weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year); + week = defaults(w.W, 1); + weekday = defaults(w.E, 1); + if (weekday < 1 || weekday > 7) { + weekdayOverflow = true; + } + } else { + dow = config._locale._week.dow; + doy = config._locale._week.doy; + + var curWeek = weekOfYear(createLocal(), dow, doy); + + weekYear = defaults(w.gg, config._a[YEAR], curWeek.year); + + // Default to current week. + week = defaults(w.w, curWeek.week); + + if (w.d != null) { + // weekday -- low day numbers are considered next week + weekday = w.d; + if (weekday < 0 || weekday > 6) { + weekdayOverflow = true; + } + } else if (w.e != null) { + // local weekday -- counting starts from beginning of week + weekday = w.e + dow; + if (w.e < 0 || w.e > 6) { + weekdayOverflow = true; + } + } else { + // default to beginning of week + weekday = dow; + } + } + if (week < 1 || week > weeksInYear(weekYear, dow, doy)) { + getParsingFlags(config)._overflowWeeks = true; + } else if (weekdayOverflow != null) { + getParsingFlags(config)._overflowWeekday = true; + } else { + temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy); + config._a[YEAR] = temp.year; + config._dayOfYear = temp.dayOfYear; + } +} diff --git a/public/bower_components/moment/src/lib/create/from-object.js b/public/bower_components/moment/src/lib/create/from-object.js new file mode 100644 index 0000000..c0bfe9f --- /dev/null +++ b/public/bower_components/moment/src/lib/create/from-object.js @@ -0,0 +1,16 @@ +import { normalizeObjectUnits } from '../units/aliases'; +import { configFromArray } from './from-array'; +import map from '../utils/map'; + +export function configFromObject(config) { + if (config._d) { + return; + } + + var i = normalizeObjectUnits(config._i); + config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) { + return obj && parseInt(obj, 10); + }); + + configFromArray(config); +} diff --git a/public/bower_components/moment/src/lib/create/from-string-and-array.js b/public/bower_components/moment/src/lib/create/from-string-and-array.js new file mode 100644 index 0000000..1d8a7a8 --- /dev/null +++ b/public/bower_components/moment/src/lib/create/from-string-and-array.js @@ -0,0 +1,50 @@ +import { copyConfig } from '../moment/constructor'; +import { configFromStringAndFormat } from './from-string-and-format'; +import getParsingFlags from './parsing-flags'; +import { isValid } from './valid'; +import extend from '../utils/extend'; + +// date from string and array of format strings +export function configFromStringAndArray(config) { + var tempConfig, + bestMoment, + + scoreToBeat, + i, + currentScore; + + if (config._f.length === 0) { + getParsingFlags(config).invalidFormat = true; + config._d = new Date(NaN); + return; + } + + for (i = 0; i < config._f.length; i++) { + currentScore = 0; + tempConfig = copyConfig({}, config); + if (config._useUTC != null) { + tempConfig._useUTC = config._useUTC; + } + tempConfig._f = config._f[i]; + configFromStringAndFormat(tempConfig); + + if (!isValid(tempConfig)) { + continue; + } + + // if there is any input that was not parsed add a penalty for that format + currentScore += getParsingFlags(tempConfig).charsLeftOver; + + //or tokens + currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10; + + getParsingFlags(tempConfig).score = currentScore; + + if (scoreToBeat == null || currentScore < scoreToBeat) { + scoreToBeat = currentScore; + bestMoment = tempConfig; + } + } + + extend(config, bestMoment || tempConfig); +} diff --git a/public/bower_components/moment/src/lib/create/from-string-and-format.js b/public/bower_components/moment/src/lib/create/from-string-and-format.js new file mode 100644 index 0000000..ed921d5 --- /dev/null +++ b/public/bower_components/moment/src/lib/create/from-string-and-format.js @@ -0,0 +1,113 @@ +import { configFromISO, configFromRFC2822 } from './from-string'; +import { configFromArray } from './from-array'; +import { getParseRegexForToken } from '../parse/regex'; +import { addTimeToArrayFromToken } from '../parse/token'; +import { expandFormat, formatTokenFunctions, formattingTokens } from '../format/format'; +import checkOverflow from './check-overflow'; +import { HOUR } from '../units/constants'; +import { hooks } from '../utils/hooks'; +import getParsingFlags from './parsing-flags'; + +// constant that refers to the ISO standard +hooks.ISO_8601 = function () {}; + +// constant that refers to the RFC 2822 form +hooks.RFC_2822 = function () {}; + +// date from string and format string +export function configFromStringAndFormat(config) { + // TODO: Move this to another part of the creation flow to prevent circular deps + if (config._f === hooks.ISO_8601) { + configFromISO(config); + return; + } + if (config._f === hooks.RFC_2822) { + configFromRFC2822(config); + return; + } + config._a = []; + getParsingFlags(config).empty = true; + + // This array is used to make a Date, either with `new Date` or `Date.UTC` + var string = '' + config._i, + i, parsedInput, tokens, token, skipped, + stringLength = string.length, + totalParsedInputLength = 0; + + tokens = expandFormat(config._f, config._locale).match(formattingTokens) || []; + + for (i = 0; i < tokens.length; i++) { + token = tokens[i]; + parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0]; + // console.log('token', token, 'parsedInput', parsedInput, + // 'regex', getParseRegexForToken(token, config)); + if (parsedInput) { + skipped = string.substr(0, string.indexOf(parsedInput)); + if (skipped.length > 0) { + getParsingFlags(config).unusedInput.push(skipped); + } + string = string.slice(string.indexOf(parsedInput) + parsedInput.length); + totalParsedInputLength += parsedInput.length; + } + // don't parse if it's not a known token + if (formatTokenFunctions[token]) { + if (parsedInput) { + getParsingFlags(config).empty = false; + } + else { + getParsingFlags(config).unusedTokens.push(token); + } + addTimeToArrayFromToken(token, parsedInput, config); + } + else if (config._strict && !parsedInput) { + getParsingFlags(config).unusedTokens.push(token); + } + } + + // add remaining unparsed input length to the string + getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength; + if (string.length > 0) { + getParsingFlags(config).unusedInput.push(string); + } + + // clear _12h flag if hour is <= 12 + if (config._a[HOUR] <= 12 && + getParsingFlags(config).bigHour === true && + config._a[HOUR] > 0) { + getParsingFlags(config).bigHour = undefined; + } + + getParsingFlags(config).parsedDateParts = config._a.slice(0); + getParsingFlags(config).meridiem = config._meridiem; + // handle meridiem + config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem); + + configFromArray(config); + checkOverflow(config); +} + + +function meridiemFixWrap (locale, hour, meridiem) { + var isPm; + + if (meridiem == null) { + // nothing to do + return hour; + } + if (locale.meridiemHour != null) { + return locale.meridiemHour(hour, meridiem); + } else if (locale.isPM != null) { + // Fallback + isPm = locale.isPM(meridiem); + if (isPm && hour < 12) { + hour += 12; + } + if (!isPm && hour === 12) { + hour = 0; + } + return hour; + } else { + // this is not supposed to happen + return hour; + } +} diff --git a/public/bower_components/moment/src/lib/create/from-string.js b/public/bower_components/moment/src/lib/create/from-string.js new file mode 100644 index 0000000..c5ad56b --- /dev/null +++ b/public/bower_components/moment/src/lib/create/from-string.js @@ -0,0 +1,230 @@ +import { configFromStringAndFormat } from './from-string-and-format'; +import { createUTCDate } from './date-from-array'; +import { configFromArray } from './from-array'; +import { hooks } from '../utils/hooks'; +import { deprecate } from '../utils/deprecate'; +import getParsingFlags from './parsing-flags'; +import {defaultLocaleMonthsShort} from '../units/month'; +import {defaultLocaleWeekdaysShort} from '../units/day-of-week'; + +// iso 8601 regex +// 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00) +var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/; +var basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/; + +var tzRegex = /Z|[+-]\d\d(?::?\d\d)?/; + +var isoDates = [ + ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/], + ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/], + ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/], + ['GGGG-[W]WW', /\d{4}-W\d\d/, false], + ['YYYY-DDD', /\d{4}-\d{3}/], + ['YYYY-MM', /\d{4}-\d\d/, false], + ['YYYYYYMMDD', /[+-]\d{10}/], + ['YYYYMMDD', /\d{8}/], + // YYYYMM is NOT allowed by the standard + ['GGGG[W]WWE', /\d{4}W\d{3}/], + ['GGGG[W]WW', /\d{4}W\d{2}/, false], + ['YYYYDDD', /\d{7}/] +]; + +// iso time formats and regexes +var isoTimes = [ + ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/], + ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/], + ['HH:mm:ss', /\d\d:\d\d:\d\d/], + ['HH:mm', /\d\d:\d\d/], + ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/], + ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/], + ['HHmmss', /\d\d\d\d\d\d/], + ['HHmm', /\d\d\d\d/], + ['HH', /\d\d/] +]; + +var aspNetJsonRegex = /^\/?Date\((\-?\d+)/i; + +// date from iso format +export function configFromISO(config) { + var i, l, + string = config._i, + match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string), + allowTime, dateFormat, timeFormat, tzFormat; + + if (match) { + getParsingFlags(config).iso = true; + + for (i = 0, l = isoDates.length; i < l; i++) { + if (isoDates[i][1].exec(match[1])) { + dateFormat = isoDates[i][0]; + allowTime = isoDates[i][2] !== false; + break; + } + } + if (dateFormat == null) { + config._isValid = false; + return; + } + if (match[3]) { + for (i = 0, l = isoTimes.length; i < l; i++) { + if (isoTimes[i][1].exec(match[3])) { + // match[2] should be 'T' or space + timeFormat = (match[2] || ' ') + isoTimes[i][0]; + break; + } + } + if (timeFormat == null) { + config._isValid = false; + return; + } + } + if (!allowTime && timeFormat != null) { + config._isValid = false; + return; + } + if (match[4]) { + if (tzRegex.exec(match[4])) { + tzFormat = 'Z'; + } else { + config._isValid = false; + return; + } + } + config._f = dateFormat + (timeFormat || '') + (tzFormat || ''); + configFromStringAndFormat(config); + } else { + config._isValid = false; + } +} + +// RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3 +var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/; + +function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) { + var result = [ + untruncateYear(yearStr), + defaultLocaleMonthsShort.indexOf(monthStr), + parseInt(dayStr, 10), + parseInt(hourStr, 10), + parseInt(minuteStr, 10) + ]; + + if (secondStr) { + result.push(parseInt(secondStr, 10)); + } + + return result; +} + +function untruncateYear(yearStr) { + var year = parseInt(yearStr, 10); + if (year <= 49) { + return 2000 + year; + } else if (year <= 999) { + return 1900 + year; + } + return year; +} + +function preprocessRFC2822(s) { + // Remove comments and folding whitespace and replace multiple-spaces with a single space + return s.replace(/\([^)]*\)|[\n\t]/g, ' ').replace(/(\s\s+)/g, ' ').replace(/^\s\s*/, '').replace(/\s\s*$/, ''); +} + +function checkWeekday(weekdayStr, parsedInput, config) { + if (weekdayStr) { + // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check. + var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr), + weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay(); + if (weekdayProvided !== weekdayActual) { + getParsingFlags(config).weekdayMismatch = true; + config._isValid = false; + return false; + } + } + return true; +} + +var obsOffsets = { + UT: 0, + GMT: 0, + EDT: -4 * 60, + EST: -5 * 60, + CDT: -5 * 60, + CST: -6 * 60, + MDT: -6 * 60, + MST: -7 * 60, + PDT: -7 * 60, + PST: -8 * 60 +}; + +function calculateOffset(obsOffset, militaryOffset, numOffset) { + if (obsOffset) { + return obsOffsets[obsOffset]; + } else if (militaryOffset) { + // the only allowed military tz is Z + return 0; + } else { + var hm = parseInt(numOffset, 10); + var m = hm % 100, h = (hm - m) / 100; + return h * 60 + m; + } +} + +// date and time from ref 2822 format +export function configFromRFC2822(config) { + var match = rfc2822.exec(preprocessRFC2822(config._i)); + if (match) { + var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]); + if (!checkWeekday(match[1], parsedArray, config)) { + return; + } + + config._a = parsedArray; + config._tzm = calculateOffset(match[8], match[9], match[10]); + + config._d = createUTCDate.apply(null, config._a); + config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); + + getParsingFlags(config).rfc2822 = true; + } else { + config._isValid = false; + } +} + +// date from iso format or fallback +export function configFromString(config) { + var matched = aspNetJsonRegex.exec(config._i); + + if (matched !== null) { + config._d = new Date(+matched[1]); + return; + } + + configFromISO(config); + if (config._isValid === false) { + delete config._isValid; + } else { + return; + } + + configFromRFC2822(config); + if (config._isValid === false) { + delete config._isValid; + } else { + return; + } + + // Final attempt, use Input Fallback + hooks.createFromInputFallback(config); +} + +hooks.createFromInputFallback = deprecate( + 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' + + 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' + + 'discouraged and will be removed in an upcoming major release. Please refer to ' + + 'http://momentjs.com/guides/#/warnings/js-date/ for more info.', + function (config) { + config._d = new Date(config._i + (config._useUTC ? ' UTC' : '')); + } +); diff --git a/public/bower_components/moment/src/lib/create/local.js b/public/bower_components/moment/src/lib/create/local.js new file mode 100644 index 0000000..88c1e26 --- /dev/null +++ b/public/bower_components/moment/src/lib/create/local.js @@ -0,0 +1,5 @@ +import { createLocalOrUTC } from './from-anything'; + +export function createLocal (input, format, locale, strict) { + return createLocalOrUTC(input, format, locale, strict, false); +} diff --git a/public/bower_components/moment/src/lib/create/parsing-flags.js b/public/bower_components/moment/src/lib/create/parsing-flags.js new file mode 100644 index 0000000..c47173f --- /dev/null +++ b/public/bower_components/moment/src/lib/create/parsing-flags.js @@ -0,0 +1,26 @@ +function defaultParsingFlags() { + // We need to deep clone this object. + return { + empty : false, + unusedTokens : [], + unusedInput : [], + overflow : -2, + charsLeftOver : 0, + nullInput : false, + invalidMonth : null, + invalidFormat : false, + userInvalidated : false, + iso : false, + parsedDateParts : [], + meridiem : null, + rfc2822 : false, + weekdayMismatch : false + }; +} + +export default function getParsingFlags(m) { + if (m._pf == null) { + m._pf = defaultParsingFlags(); + } + return m._pf; +} diff --git a/public/bower_components/moment/src/lib/create/utc.js b/public/bower_components/moment/src/lib/create/utc.js new file mode 100644 index 0000000..9613953 --- /dev/null +++ b/public/bower_components/moment/src/lib/create/utc.js @@ -0,0 +1,5 @@ +import { createLocalOrUTC } from './from-anything'; + +export function createUTC (input, format, locale, strict) { + return createLocalOrUTC(input, format, locale, strict, true).utc(); +} diff --git a/public/bower_components/moment/src/lib/create/valid.js b/public/bower_components/moment/src/lib/create/valid.js new file mode 100644 index 0000000..d13f12f --- /dev/null +++ b/public/bower_components/moment/src/lib/create/valid.js @@ -0,0 +1,50 @@ +import extend from '../utils/extend'; +import { createUTC } from './utc'; +import getParsingFlags from '../create/parsing-flags'; +import some from '../utils/some'; + +export function isValid(m) { + if (m._isValid == null) { + var flags = getParsingFlags(m); + var parsedParts = some.call(flags.parsedDateParts, function (i) { + return i != null; + }); + var isNowValid = !isNaN(m._d.getTime()) && + flags.overflow < 0 && + !flags.empty && + !flags.invalidMonth && + !flags.invalidWeekday && + !flags.weekdayMismatch && + !flags.nullInput && + !flags.invalidFormat && + !flags.userInvalidated && + (!flags.meridiem || (flags.meridiem && parsedParts)); + + if (m._strict) { + isNowValid = isNowValid && + flags.charsLeftOver === 0 && + flags.unusedTokens.length === 0 && + flags.bigHour === undefined; + } + + if (Object.isFrozen == null || !Object.isFrozen(m)) { + m._isValid = isNowValid; + } + else { + return isNowValid; + } + } + return m._isValid; +} + +export function createInvalid (flags) { + var m = createUTC(NaN); + if (flags != null) { + extend(getParsingFlags(m), flags); + } + else { + getParsingFlags(m).userInvalidated = true; + } + + return m; +} diff --git a/public/bower_components/moment/src/lib/duration/abs.js b/public/bower_components/moment/src/lib/duration/abs.js new file mode 100644 index 0000000..103a4cf --- /dev/null +++ b/public/bower_components/moment/src/lib/duration/abs.js @@ -0,0 +1,18 @@ +var mathAbs = Math.abs; + +export function abs () { + var data = this._data; + + this._milliseconds = mathAbs(this._milliseconds); + this._days = mathAbs(this._days); + this._months = mathAbs(this._months); + + data.milliseconds = mathAbs(data.milliseconds); + data.seconds = mathAbs(data.seconds); + data.minutes = mathAbs(data.minutes); + data.hours = mathAbs(data.hours); + data.months = mathAbs(data.months); + data.years = mathAbs(data.years); + + return this; +} diff --git a/public/bower_components/moment/src/lib/duration/add-subtract.js b/public/bower_components/moment/src/lib/duration/add-subtract.js new file mode 100644 index 0000000..3b44e18 --- /dev/null +++ b/public/bower_components/moment/src/lib/duration/add-subtract.js @@ -0,0 +1,21 @@ +import { createDuration } from './create'; + +function addSubtract (duration, input, value, direction) { + var other = createDuration(input, value); + + duration._milliseconds += direction * other._milliseconds; + duration._days += direction * other._days; + duration._months += direction * other._months; + + return duration._bubble(); +} + +// supports only 2.0-style add(1, 's') or add(duration) +export function add (input, value) { + return addSubtract(this, input, value, 1); +} + +// supports only 2.0-style subtract(1, 's') or subtract(duration) +export function subtract (input, value) { + return addSubtract(this, input, value, -1); +} diff --git a/public/bower_components/moment/src/lib/duration/as.js b/public/bower_components/moment/src/lib/duration/as.js new file mode 100644 index 0000000..fe51a98 --- /dev/null +++ b/public/bower_components/moment/src/lib/duration/as.js @@ -0,0 +1,66 @@ +import { daysToMonths, monthsToDays } from './bubble'; +import { normalizeUnits } from '../units/aliases'; +import toInt from '../utils/to-int'; + +export function as (units) { + if (!this.isValid()) { + return NaN; + } + var days; + var months; + var milliseconds = this._milliseconds; + + units = normalizeUnits(units); + + if (units === 'month' || units === 'quarter' || units === 'year') { + days = this._days + milliseconds / 864e5; + months = this._months + daysToMonths(days); + switch (units) { + case 'month': return months; + case 'quarter': return months / 3; + case 'year': return months / 12; + } + } else { + // handle milliseconds separately because of floating point math errors (issue #1867) + days = this._days + Math.round(monthsToDays(this._months)); + switch (units) { + case 'week' : return days / 7 + milliseconds / 6048e5; + case 'day' : return days + milliseconds / 864e5; + case 'hour' : return days * 24 + milliseconds / 36e5; + case 'minute' : return days * 1440 + milliseconds / 6e4; + case 'second' : return days * 86400 + milliseconds / 1000; + // Math.floor prevents floating point math errors here + case 'millisecond': return Math.floor(days * 864e5) + milliseconds; + default: throw new Error('Unknown unit ' + units); + } + } +} + +// TODO: Use this.as('ms')? +export function valueOf () { + if (!this.isValid()) { + return NaN; + } + return ( + this._milliseconds + + this._days * 864e5 + + (this._months % 12) * 2592e6 + + toInt(this._months / 12) * 31536e6 + ); +} + +function makeAs (alias) { + return function () { + return this.as(alias); + }; +} + +export var asMilliseconds = makeAs('ms'); +export var asSeconds = makeAs('s'); +export var asMinutes = makeAs('m'); +export var asHours = makeAs('h'); +export var asDays = makeAs('d'); +export var asWeeks = makeAs('w'); +export var asMonths = makeAs('M'); +export var asQuarters = makeAs('Q'); +export var asYears = makeAs('y'); diff --git a/public/bower_components/moment/src/lib/duration/bubble.js b/public/bower_components/moment/src/lib/duration/bubble.js new file mode 100644 index 0000000..0c4a336 --- /dev/null +++ b/public/bower_components/moment/src/lib/duration/bubble.js @@ -0,0 +1,61 @@ +import absFloor from '../utils/abs-floor'; +import absCeil from '../utils/abs-ceil'; +import { createUTCDate } from '../create/date-from-array'; + +export function bubble () { + var milliseconds = this._milliseconds; + var days = this._days; + var months = this._months; + var data = this._data; + var seconds, minutes, hours, years, monthsFromDays; + + // if we have a mix of positive and negative values, bubble down first + // check: https://github.com/moment/moment/issues/2166 + if (!((milliseconds >= 0 && days >= 0 && months >= 0) || + (milliseconds <= 0 && days <= 0 && months <= 0))) { + milliseconds += absCeil(monthsToDays(months) + days) * 864e5; + days = 0; + months = 0; + } + + // The following code bubbles up values, see the tests for + // examples of what that means. + data.milliseconds = milliseconds % 1000; + + seconds = absFloor(milliseconds / 1000); + data.seconds = seconds % 60; + + minutes = absFloor(seconds / 60); + data.minutes = minutes % 60; + + hours = absFloor(minutes / 60); + data.hours = hours % 24; + + days += absFloor(hours / 24); + + // convert days to months + monthsFromDays = absFloor(daysToMonths(days)); + months += monthsFromDays; + days -= absCeil(monthsToDays(monthsFromDays)); + + // 12 months -> 1 year + years = absFloor(months / 12); + months %= 12; + + data.days = days; + data.months = months; + data.years = years; + + return this; +} + +export function daysToMonths (days) { + // 400 years have 146097 days (taking into account leap year rules) + // 400 years have 12 months === 4800 + return days * 4800 / 146097; +} + +export function monthsToDays (months) { + // the reverse of daysToMonths + return months * 146097 / 4800; +} diff --git a/public/bower_components/moment/src/lib/duration/clone.js b/public/bower_components/moment/src/lib/duration/clone.js new file mode 100644 index 0000000..56008d1 --- /dev/null +++ b/public/bower_components/moment/src/lib/duration/clone.js @@ -0,0 +1,6 @@ +import { createDuration } from './create'; + +export function clone () { + return createDuration(this); +} + diff --git a/public/bower_components/moment/src/lib/duration/constructor.js b/public/bower_components/moment/src/lib/duration/constructor.js new file mode 100644 index 0000000..894ba1d --- /dev/null +++ b/public/bower_components/moment/src/lib/duration/constructor.js @@ -0,0 +1,44 @@ +import { normalizeObjectUnits } from '../units/aliases'; +import { getLocale } from '../locale/locales'; +import isDurationValid from './valid.js'; + +export function Duration (duration) { + var normalizedInput = normalizeObjectUnits(duration), + years = normalizedInput.year || 0, + quarters = normalizedInput.quarter || 0, + months = normalizedInput.month || 0, + weeks = normalizedInput.week || normalizedInput.isoWeek || 0, + days = normalizedInput.day || 0, + hours = normalizedInput.hour || 0, + minutes = normalizedInput.minute || 0, + seconds = normalizedInput.second || 0, + milliseconds = normalizedInput.millisecond || 0; + + this._isValid = isDurationValid(normalizedInput); + + // representation for dateAddRemove + this._milliseconds = +milliseconds + + seconds * 1e3 + // 1000 + minutes * 6e4 + // 1000 * 60 + hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978 + // Because of dateAddRemove treats 24 hours as different from a + // day when working around DST, we need to store them separately + this._days = +days + + weeks * 7; + // It is impossible to translate months into days without knowing + // which months you are are talking about, so we have to store + // it separately. + this._months = +months + + quarters * 3 + + years * 12; + + this._data = {}; + + this._locale = getLocale(); + + this._bubble(); +} + +export function isDuration (obj) { + return obj instanceof Duration; +} diff --git a/public/bower_components/moment/src/lib/duration/create.js b/public/bower_components/moment/src/lib/duration/create.js new file mode 100644 index 0000000..3f00f3a --- /dev/null +++ b/public/bower_components/moment/src/lib/duration/create.js @@ -0,0 +1,122 @@ +import { Duration, isDuration } from './constructor'; +import isNumber from '../utils/is-number'; +import toInt from '../utils/to-int'; +import absRound from '../utils/abs-round'; +import hasOwnProp from '../utils/has-own-prop'; +import { DATE, HOUR, MINUTE, SECOND, MILLISECOND } from '../units/constants'; +import { cloneWithOffset } from '../units/offset'; +import { createLocal } from '../create/local'; +import { createInvalid as invalid } from './valid'; + +// ASP.NET json date format regex +var aspNetRegex = /^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/; + +// from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html +// somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere +// and further modified to allow for strings containing both week and day +var isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; + +export function createDuration (input, key) { + var duration = input, + // matching against regexp is expensive, do it on demand + match = null, + sign, + ret, + diffRes; + + if (isDuration(input)) { + duration = { + ms : input._milliseconds, + d : input._days, + M : input._months + }; + } else if (isNumber(input)) { + duration = {}; + if (key) { + duration[key] = input; + } else { + duration.milliseconds = input; + } + } else if (!!(match = aspNetRegex.exec(input))) { + sign = (match[1] === '-') ? -1 : 1; + duration = { + y : 0, + d : toInt(match[DATE]) * sign, + h : toInt(match[HOUR]) * sign, + m : toInt(match[MINUTE]) * sign, + s : toInt(match[SECOND]) * sign, + ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match + }; + } else if (!!(match = isoRegex.exec(input))) { + sign = (match[1] === '-') ? -1 : 1; + duration = { + y : parseIso(match[2], sign), + M : parseIso(match[3], sign), + w : parseIso(match[4], sign), + d : parseIso(match[5], sign), + h : parseIso(match[6], sign), + m : parseIso(match[7], sign), + s : parseIso(match[8], sign) + }; + } else if (duration == null) {// checks for null or undefined + duration = {}; + } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) { + diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to)); + + duration = {}; + duration.ms = diffRes.milliseconds; + duration.M = diffRes.months; + } + + ret = new Duration(duration); + + if (isDuration(input) && hasOwnProp(input, '_locale')) { + ret._locale = input._locale; + } + + return ret; +} + +createDuration.fn = Duration.prototype; +createDuration.invalid = invalid; + +function parseIso (inp, sign) { + // We'd normally use ~~inp for this, but unfortunately it also + // converts floats to ints. + // inp may be undefined, so careful calling replace on it. + var res = inp && parseFloat(inp.replace(',', '.')); + // apply sign while we're at it + return (isNaN(res) ? 0 : res) * sign; +} + +function positiveMomentsDifference(base, other) { + var res = {}; + + res.months = other.month() - base.month() + + (other.year() - base.year()) * 12; + if (base.clone().add(res.months, 'M').isAfter(other)) { + --res.months; + } + + res.milliseconds = +other - +(base.clone().add(res.months, 'M')); + + return res; +} + +function momentsDifference(base, other) { + var res; + if (!(base.isValid() && other.isValid())) { + return {milliseconds: 0, months: 0}; + } + + other = cloneWithOffset(other, base); + if (base.isBefore(other)) { + res = positiveMomentsDifference(base, other); + } else { + res = positiveMomentsDifference(other, base); + res.milliseconds = -res.milliseconds; + res.months = -res.months; + } + + return res; +} diff --git a/public/bower_components/moment/src/lib/duration/duration.js b/public/bower_components/moment/src/lib/duration/duration.js new file mode 100644 index 0000000..528b568 --- /dev/null +++ b/public/bower_components/moment/src/lib/duration/duration.js @@ -0,0 +1,16 @@ +// Side effect imports +import './prototype'; + +import { createDuration } from './create'; +import { isDuration } from './constructor'; +import { + getSetRelativeTimeRounding, + getSetRelativeTimeThreshold +} from './humanize'; + +export { + createDuration, + isDuration, + getSetRelativeTimeRounding, + getSetRelativeTimeThreshold +}; diff --git a/public/bower_components/moment/src/lib/duration/get.js b/public/bower_components/moment/src/lib/duration/get.js new file mode 100644 index 0000000..8993e07 --- /dev/null +++ b/public/bower_components/moment/src/lib/duration/get.js @@ -0,0 +1,25 @@ +import { normalizeUnits } from '../units/aliases'; +import absFloor from '../utils/abs-floor'; + +export function get (units) { + units = normalizeUnits(units); + return this.isValid() ? this[units + 's']() : NaN; +} + +function makeGetter(name) { + return function () { + return this.isValid() ? this._data[name] : NaN; + }; +} + +export var milliseconds = makeGetter('milliseconds'); +export var seconds = makeGetter('seconds'); +export var minutes = makeGetter('minutes'); +export var hours = makeGetter('hours'); +export var days = makeGetter('days'); +export var months = makeGetter('months'); +export var years = makeGetter('years'); + +export function weeks () { + return absFloor(this.days() / 7); +} diff --git a/public/bower_components/moment/src/lib/duration/humanize.js b/public/bower_components/moment/src/lib/duration/humanize.js new file mode 100644 index 0000000..454b01a --- /dev/null +++ b/public/bower_components/moment/src/lib/duration/humanize.js @@ -0,0 +1,85 @@ +import { createDuration } from './create'; + +var round = Math.round; +var thresholds = { + ss: 44, // a few seconds to seconds + s : 45, // seconds to minute + m : 45, // minutes to hour + h : 22, // hours to day + d : 26, // days to month + M : 11 // months to year +}; + +// helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize +function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) { + return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture); +} + +function relativeTime (posNegDuration, withoutSuffix, locale) { + var duration = createDuration(posNegDuration).abs(); + var seconds = round(duration.as('s')); + var minutes = round(duration.as('m')); + var hours = round(duration.as('h')); + var days = round(duration.as('d')); + var months = round(duration.as('M')); + var years = round(duration.as('y')); + + var a = seconds <= thresholds.ss && ['s', seconds] || + seconds < thresholds.s && ['ss', seconds] || + minutes <= 1 && ['m'] || + minutes < thresholds.m && ['mm', minutes] || + hours <= 1 && ['h'] || + hours < thresholds.h && ['hh', hours] || + days <= 1 && ['d'] || + days < thresholds.d && ['dd', days] || + months <= 1 && ['M'] || + months < thresholds.M && ['MM', months] || + years <= 1 && ['y'] || ['yy', years]; + + a[2] = withoutSuffix; + a[3] = +posNegDuration > 0; + a[4] = locale; + return substituteTimeAgo.apply(null, a); +} + +// This function allows you to set the rounding function for relative time strings +export function getSetRelativeTimeRounding (roundingFunction) { + if (roundingFunction === undefined) { + return round; + } + if (typeof(roundingFunction) === 'function') { + round = roundingFunction; + return true; + } + return false; +} + +// This function allows you to set a threshold for relative time strings +export function getSetRelativeTimeThreshold (threshold, limit) { + if (thresholds[threshold] === undefined) { + return false; + } + if (limit === undefined) { + return thresholds[threshold]; + } + thresholds[threshold] = limit; + if (threshold === 's') { + thresholds.ss = limit - 1; + } + return true; +} + +export function humanize (withSuffix) { + if (!this.isValid()) { + return this.localeData().invalidDate(); + } + + var locale = this.localeData(); + var output = relativeTime(this, !withSuffix, locale); + + if (withSuffix) { + output = locale.pastFuture(+this, output); + } + + return locale.postformat(output); +} diff --git a/public/bower_components/moment/src/lib/duration/iso-string.js b/public/bower_components/moment/src/lib/duration/iso-string.js new file mode 100644 index 0000000..419f363 --- /dev/null +++ b/public/bower_components/moment/src/lib/duration/iso-string.js @@ -0,0 +1,64 @@ +import absFloor from '../utils/abs-floor'; +var abs = Math.abs; + +function sign(x) { + return ((x > 0) - (x < 0)) || +x; +} + +export function toISOString() { + // for ISO strings we do not use the normal bubbling rules: + // * milliseconds bubble up until they become hours + // * days do not bubble at all + // * months bubble up until they become years + // This is because there is no context-free conversion between hours and days + // (think of clock changes) + // and also not between days and months (28-31 days per month) + if (!this.isValid()) { + return this.localeData().invalidDate(); + } + + var seconds = abs(this._milliseconds) / 1000; + var days = abs(this._days); + var months = abs(this._months); + var minutes, hours, years; + + // 3600 seconds -> 60 minutes -> 1 hour + minutes = absFloor(seconds / 60); + hours = absFloor(minutes / 60); + seconds %= 60; + minutes %= 60; + + // 12 months -> 1 year + years = absFloor(months / 12); + months %= 12; + + + // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js + var Y = years; + var M = months; + var D = days; + var h = hours; + var m = minutes; + var s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : ''; + var total = this.asSeconds(); + + if (!total) { + // this is the same as C#'s (Noda) and python (isodate)... + // but not other JS (goog.date) + return 'P0D'; + } + + var totalSign = total < 0 ? '-' : ''; + var ymSign = sign(this._months) !== sign(total) ? '-' : ''; + var daysSign = sign(this._days) !== sign(total) ? '-' : ''; + var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : ''; + + return totalSign + 'P' + + (Y ? ymSign + Y + 'Y' : '') + + (M ? ymSign + M + 'M' : '') + + (D ? daysSign + D + 'D' : '') + + ((h || m || s) ? 'T' : '') + + (h ? hmsSign + h + 'H' : '') + + (m ? hmsSign + m + 'M' : '') + + (s ? hmsSign + s + 'S' : ''); +} diff --git a/public/bower_components/moment/src/lib/duration/prototype.js b/public/bower_components/moment/src/lib/duration/prototype.js new file mode 100644 index 0000000..b62d4a2 --- /dev/null +++ b/public/bower_components/moment/src/lib/duration/prototype.js @@ -0,0 +1,53 @@ +import { Duration } from './constructor'; + +var proto = Duration.prototype; + +import { abs } from './abs'; +import { add, subtract } from './add-subtract'; +import { as, asMilliseconds, asSeconds, asMinutes, asHours, asDays, asWeeks, asMonths, asQuarters, asYears, valueOf } from './as'; +import { bubble } from './bubble'; +import { clone } from './clone'; +import { get, milliseconds, seconds, minutes, hours, days, months, years, weeks } from './get'; +import { humanize } from './humanize'; +import { toISOString } from './iso-string'; +import { lang, locale, localeData } from '../moment/locale'; +import { isValid } from './valid'; + +proto.isValid = isValid; +proto.abs = abs; +proto.add = add; +proto.subtract = subtract; +proto.as = as; +proto.asMilliseconds = asMilliseconds; +proto.asSeconds = asSeconds; +proto.asMinutes = asMinutes; +proto.asHours = asHours; +proto.asDays = asDays; +proto.asWeeks = asWeeks; +proto.asMonths = asMonths; +proto.asQuarters = asQuarters; +proto.asYears = asYears; +proto.valueOf = valueOf; +proto._bubble = bubble; +proto.clone = clone; +proto.get = get; +proto.milliseconds = milliseconds; +proto.seconds = seconds; +proto.minutes = minutes; +proto.hours = hours; +proto.days = days; +proto.weeks = weeks; +proto.months = months; +proto.years = years; +proto.humanize = humanize; +proto.toISOString = toISOString; +proto.toString = toISOString; +proto.toJSON = toISOString; +proto.locale = locale; +proto.localeData = localeData; + +// Deprecations +import { deprecate } from '../utils/deprecate'; + +proto.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString); +proto.lang = lang; diff --git a/public/bower_components/moment/src/lib/duration/valid.js b/public/bower_components/moment/src/lib/duration/valid.js new file mode 100644 index 0000000..033fd5b --- /dev/null +++ b/public/bower_components/moment/src/lib/duration/valid.js @@ -0,0 +1,36 @@ +import toInt from '../utils/to-int'; +import indexOf from '../utils/index-of'; +import {Duration} from './constructor'; +import {createDuration} from './create'; + +var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond']; + +export default function isDurationValid(m) { + for (var key in m) { + if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) { + return false; + } + } + + var unitHasDecimal = false; + for (var i = 0; i < ordering.length; ++i) { + if (m[ordering[i]]) { + if (unitHasDecimal) { + return false; // only allow non-integers for smallest unit + } + if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) { + unitHasDecimal = true; + } + } + } + + return true; +} + +export function isValid() { + return this._isValid; +} + +export function createInvalid() { + return createDuration(NaN); +} diff --git a/public/bower_components/moment/src/lib/format/format.js b/public/bower_components/moment/src/lib/format/format.js new file mode 100644 index 0000000..03f5c58 --- /dev/null +++ b/public/bower_components/moment/src/lib/format/format.js @@ -0,0 +1,92 @@ +import zeroFill from '../utils/zero-fill'; +import isFunction from '../utils/is-function'; + +export var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g; + +var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g; + +var formatFunctions = {}; + +export var formatTokenFunctions = {}; + +// token: 'M' +// padded: ['MM', 2] +// ordinal: 'Mo' +// callback: function () { this.month() + 1 } +export function addFormatToken (token, padded, ordinal, callback) { + var func = callback; + if (typeof callback === 'string') { + func = function () { + return this[callback](); + }; + } + if (token) { + formatTokenFunctions[token] = func; + } + if (padded) { + formatTokenFunctions[padded[0]] = function () { + return zeroFill(func.apply(this, arguments), padded[1], padded[2]); + }; + } + if (ordinal) { + formatTokenFunctions[ordinal] = function () { + return this.localeData().ordinal(func.apply(this, arguments), token); + }; + } +} + +function removeFormattingTokens(input) { + if (input.match(/\[[\s\S]/)) { + return input.replace(/^\[|\]$/g, ''); + } + return input.replace(/\\/g, ''); +} + +function makeFormatFunction(format) { + var array = format.match(formattingTokens), i, length; + + for (i = 0, length = array.length; i < length; i++) { + if (formatTokenFunctions[array[i]]) { + array[i] = formatTokenFunctions[array[i]]; + } else { + array[i] = removeFormattingTokens(array[i]); + } + } + + return function (mom) { + var output = '', i; + for (i = 0; i < length; i++) { + output += isFunction(array[i]) ? array[i].call(mom, format) : array[i]; + } + return output; + }; +} + +// format date using native date object +export function formatMoment(m, format) { + if (!m.isValid()) { + return m.localeData().invalidDate(); + } + + format = expandFormat(format, m.localeData()); + formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format); + + return formatFunctions[format](m); +} + +export function expandFormat(format, locale) { + var i = 5; + + function replaceLongDateFormatTokens(input) { + return locale.longDateFormat(input) || input; + } + + localFormattingTokens.lastIndex = 0; + while (i >= 0 && localFormattingTokens.test(format)) { + format = format.replace(localFormattingTokens, replaceLongDateFormatTokens); + localFormattingTokens.lastIndex = 0; + i -= 1; + } + + return format; +} diff --git a/public/bower_components/moment/src/lib/locale/base-config.js b/public/bower_components/moment/src/lib/locale/base-config.js new file mode 100644 index 0000000..d7a7c66 --- /dev/null +++ b/public/bower_components/moment/src/lib/locale/base-config.js @@ -0,0 +1,44 @@ +import { defaultCalendar } from './calendar'; +import { defaultLongDateFormat } from './formats'; +import { defaultInvalidDate } from './invalid'; +import { defaultOrdinal, defaultDayOfMonthOrdinalParse } from './ordinal'; +import { defaultRelativeTime } from './relative'; + +// months +import { + defaultLocaleMonths, + defaultLocaleMonthsShort, +} from '../units/month'; + +// week +import { defaultLocaleWeek } from '../units/week'; + +// weekdays +import { + defaultLocaleWeekdays, + defaultLocaleWeekdaysMin, + defaultLocaleWeekdaysShort, +} from '../units/day-of-week'; + +// meridiem +import { defaultLocaleMeridiemParse } from '../units/hour'; + +export var baseConfig = { + calendar: defaultCalendar, + longDateFormat: defaultLongDateFormat, + invalidDate: defaultInvalidDate, + ordinal: defaultOrdinal, + dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse, + relativeTime: defaultRelativeTime, + + months: defaultLocaleMonths, + monthsShort: defaultLocaleMonthsShort, + + week: defaultLocaleWeek, + + weekdays: defaultLocaleWeekdays, + weekdaysMin: defaultLocaleWeekdaysMin, + weekdaysShort: defaultLocaleWeekdaysShort, + + meridiemParse: defaultLocaleMeridiemParse +}; diff --git a/public/bower_components/moment/src/lib/locale/calendar.js b/public/bower_components/moment/src/lib/locale/calendar.js new file mode 100644 index 0000000..f12214b --- /dev/null +++ b/public/bower_components/moment/src/lib/locale/calendar.js @@ -0,0 +1,15 @@ +export var defaultCalendar = { + sameDay : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' +}; + +import isFunction from '../utils/is-function'; + +export function calendar (key, mom, now) { + var output = this._calendar[key] || this._calendar['sameElse']; + return isFunction(output) ? output.call(mom, now) : output; +} diff --git a/public/bower_components/moment/src/lib/locale/constructor.js b/public/bower_components/moment/src/lib/locale/constructor.js new file mode 100644 index 0000000..c32b73e --- /dev/null +++ b/public/bower_components/moment/src/lib/locale/constructor.js @@ -0,0 +1,5 @@ +export function Locale(config) { + if (config != null) { + this.set(config); + } +} diff --git a/public/bower_components/moment/src/lib/locale/en.js b/public/bower_components/moment/src/lib/locale/en.js new file mode 100644 index 0000000..4a7d250 --- /dev/null +++ b/public/bower_components/moment/src/lib/locale/en.js @@ -0,0 +1,15 @@ +import './prototype'; +import { getSetGlobalLocale } from './locales'; +import toInt from '../utils/to-int'; + +getSetGlobalLocale('en', { + dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, + ordinal : function (number) { + var b = number % 10, + output = (toInt(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + } +}); diff --git a/public/bower_components/moment/src/lib/locale/formats.js b/public/bower_components/moment/src/lib/locale/formats.js new file mode 100644 index 0000000..6d83b03 --- /dev/null +++ b/public/bower_components/moment/src/lib/locale/formats.js @@ -0,0 +1,23 @@ +export var defaultLongDateFormat = { + LTS : 'h:mm:ss A', + LT : 'h:mm A', + L : 'MM/DD/YYYY', + LL : 'MMMM D, YYYY', + LLL : 'MMMM D, YYYY h:mm A', + LLLL : 'dddd, MMMM D, YYYY h:mm A' +}; + +export function longDateFormat (key) { + var format = this._longDateFormat[key], + formatUpper = this._longDateFormat[key.toUpperCase()]; + + if (format || !formatUpper) { + return format; + } + + this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) { + return val.slice(1); + }); + + return this._longDateFormat[key]; +} diff --git a/public/bower_components/moment/src/lib/locale/invalid.js b/public/bower_components/moment/src/lib/locale/invalid.js new file mode 100644 index 0000000..e909633 --- /dev/null +++ b/public/bower_components/moment/src/lib/locale/invalid.js @@ -0,0 +1,5 @@ +export var defaultInvalidDate = 'Invalid date'; + +export function invalidDate () { + return this._invalidDate; +} diff --git a/public/bower_components/moment/src/lib/locale/lists.js b/public/bower_components/moment/src/lib/locale/lists.js new file mode 100644 index 0000000..42f7572 --- /dev/null +++ b/public/bower_components/moment/src/lib/locale/lists.js @@ -0,0 +1,93 @@ +import isNumber from '../utils/is-number'; +import { getLocale } from './locales'; +import { createUTC } from '../create/utc'; + +function get (format, index, field, setter) { + var locale = getLocale(); + var utc = createUTC().set(setter, index); + return locale[field](utc, format); +} + +function listMonthsImpl (format, index, field) { + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + + if (index != null) { + return get(format, index, field, 'month'); + } + + var i; + var out = []; + for (i = 0; i < 12; i++) { + out[i] = get(format, i, field, 'month'); + } + return out; +} + +// () +// (5) +// (fmt, 5) +// (fmt) +// (true) +// (true, 5) +// (true, fmt, 5) +// (true, fmt) +function listWeekdaysImpl (localeSorted, format, index, field) { + if (typeof localeSorted === 'boolean') { + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + } else { + format = localeSorted; + index = format; + localeSorted = false; + + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + } + + var locale = getLocale(), + shift = localeSorted ? locale._week.dow : 0; + + if (index != null) { + return get(format, (index + shift) % 7, field, 'day'); + } + + var i; + var out = []; + for (i = 0; i < 7; i++) { + out[i] = get(format, (i + shift) % 7, field, 'day'); + } + return out; +} + +export function listMonths (format, index) { + return listMonthsImpl(format, index, 'months'); +} + +export function listMonthsShort (format, index) { + return listMonthsImpl(format, index, 'monthsShort'); +} + +export function listWeekdays (localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdays'); +} + +export function listWeekdaysShort (localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort'); +} + +export function listWeekdaysMin (localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin'); +} diff --git a/public/bower_components/moment/src/lib/locale/locale.js b/public/bower_components/moment/src/lib/locale/locale.js new file mode 100644 index 0000000..ac9cebf --- /dev/null +++ b/public/bower_components/moment/src/lib/locale/locale.js @@ -0,0 +1,39 @@ +// Side effect imports +import './prototype'; + +import { + getSetGlobalLocale, + defineLocale, + updateLocale, + getLocale, + listLocales +} from './locales'; + +import { + listMonths, + listMonthsShort, + listWeekdays, + listWeekdaysShort, + listWeekdaysMin +} from './lists'; + +export { + getSetGlobalLocale, + defineLocale, + updateLocale, + getLocale, + listLocales, + listMonths, + listMonthsShort, + listWeekdays, + listWeekdaysShort, + listWeekdaysMin +}; + +import { deprecate } from '../utils/deprecate'; +import { hooks } from '../utils/hooks'; + +hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale); +hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale); + +import './en'; diff --git a/public/bower_components/moment/src/lib/locale/locales.js b/public/bower_components/moment/src/lib/locale/locales.js new file mode 100644 index 0000000..af28bfe --- /dev/null +++ b/public/bower_components/moment/src/lib/locale/locales.js @@ -0,0 +1,197 @@ +import isArray from '../utils/is-array'; +import hasOwnProp from '../utils/has-own-prop'; +import isUndefined from '../utils/is-undefined'; +import compareArrays from '../utils/compare-arrays'; +import { deprecateSimple } from '../utils/deprecate'; +import { mergeConfigs } from './set'; +import { Locale } from './constructor'; +import keys from '../utils/keys'; + +import { baseConfig } from './base-config'; + +// internal storage for locale config files +var locales = {}; +var localeFamilies = {}; +var globalLocale; + +function normalizeLocale(key) { + return key ? key.toLowerCase().replace('_', '-') : key; +} + +// pick the locale from the array +// try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each +// substring from most specific to least, but move to the next array item if it's a more specific variant than the current root +function chooseLocale(names) { + var i = 0, j, next, locale, split; + + while (i < names.length) { + split = normalizeLocale(names[i]).split('-'); + j = split.length; + next = normalizeLocale(names[i + 1]); + next = next ? next.split('-') : null; + while (j > 0) { + locale = loadLocale(split.slice(0, j).join('-')); + if (locale) { + return locale; + } + if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) { + //the next array item is better than a shallower substring of this one + break; + } + j--; + } + i++; + } + return globalLocale; +} + +function loadLocale(name) { + var oldLocale = null; + // TODO: Find a better way to register and load all the locales in Node + if (!locales[name] && (typeof module !== 'undefined') && + module && module.exports) { + try { + oldLocale = globalLocale._abbr; + var aliasedRequire = require; + aliasedRequire('./locale/' + name); + getSetGlobalLocale(oldLocale); + } catch (e) {} + } + return locales[name]; +} + +// This function will load locale and then set the global locale. If +// no arguments are passed in, it will simply return the current global +// locale key. +export function getSetGlobalLocale (key, values) { + var data; + if (key) { + if (isUndefined(values)) { + data = getLocale(key); + } + else { + data = defineLocale(key, values); + } + + if (data) { + // moment.duration._locale = moment._locale = data; + globalLocale = data; + } + else { + if ((typeof console !== 'undefined') && console.warn) { + //warn user if arguments are passed but the locale could not be set + console.warn('Locale ' + key + ' not found. Did you forget to load it?'); + } + } + } + + return globalLocale._abbr; +} + +export function defineLocale (name, config) { + if (config !== null) { + var locale, parentConfig = baseConfig; + config.abbr = name; + if (locales[name] != null) { + deprecateSimple('defineLocaleOverride', + 'use moment.updateLocale(localeName, config) to change ' + + 'an existing locale. moment.defineLocale(localeName, ' + + 'config) should only be used for creating a new locale ' + + 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'); + parentConfig = locales[name]._config; + } else if (config.parentLocale != null) { + if (locales[config.parentLocale] != null) { + parentConfig = locales[config.parentLocale]._config; + } else { + locale = loadLocale(config.parentLocale); + if (locale != null) { + parentConfig = locale._config; + } else { + if (!localeFamilies[config.parentLocale]) { + localeFamilies[config.parentLocale] = []; + } + localeFamilies[config.parentLocale].push({ + name: name, + config: config + }); + return null; + } + } + } + locales[name] = new Locale(mergeConfigs(parentConfig, config)); + + if (localeFamilies[name]) { + localeFamilies[name].forEach(function (x) { + defineLocale(x.name, x.config); + }); + } + + // backwards compat for now: also set the locale + // make sure we set the locale AFTER all child locales have been + // created, so we won't end up with the child locale set. + getSetGlobalLocale(name); + + + return locales[name]; + } else { + // useful for testing + delete locales[name]; + return null; + } +} + +export function updateLocale(name, config) { + if (config != null) { + var locale, tmpLocale, parentConfig = baseConfig; + // MERGE + tmpLocale = loadLocale(name); + if (tmpLocale != null) { + parentConfig = tmpLocale._config; + } + config = mergeConfigs(parentConfig, config); + locale = new Locale(config); + locale.parentLocale = locales[name]; + locales[name] = locale; + + // backwards compat for now: also set the locale + getSetGlobalLocale(name); + } else { + // pass null for config to unupdate, useful for tests + if (locales[name] != null) { + if (locales[name].parentLocale != null) { + locales[name] = locales[name].parentLocale; + } else if (locales[name] != null) { + delete locales[name]; + } + } + } + return locales[name]; +} + +// returns locale data +export function getLocale (key) { + var locale; + + if (key && key._locale && key._locale._abbr) { + key = key._locale._abbr; + } + + if (!key) { + return globalLocale; + } + + if (!isArray(key)) { + //short-circuit everything else + locale = loadLocale(key); + if (locale) { + return locale; + } + key = [key]; + } + + return chooseLocale(key); +} + +export function listLocales() { + return keys(locales); +} diff --git a/public/bower_components/moment/src/lib/locale/ordinal.js b/public/bower_components/moment/src/lib/locale/ordinal.js new file mode 100644 index 0000000..e2efc05 --- /dev/null +++ b/public/bower_components/moment/src/lib/locale/ordinal.js @@ -0,0 +1,7 @@ +export var defaultOrdinal = '%d'; +export var defaultDayOfMonthOrdinalParse = /\d{1,2}/; + +export function ordinal (number) { + return this._ordinal.replace('%d', number); +} + diff --git a/public/bower_components/moment/src/lib/locale/pre-post-format.js b/public/bower_components/moment/src/lib/locale/pre-post-format.js new file mode 100644 index 0000000..10ed205 --- /dev/null +++ b/public/bower_components/moment/src/lib/locale/pre-post-format.js @@ -0,0 +1,3 @@ +export function preParsePostFormat (string) { + return string; +} diff --git a/public/bower_components/moment/src/lib/locale/prototype.js b/public/bower_components/moment/src/lib/locale/prototype.js new file mode 100644 index 0000000..24eef89 --- /dev/null +++ b/public/bower_components/moment/src/lib/locale/prototype.js @@ -0,0 +1,69 @@ +import { Locale } from './constructor'; + +var proto = Locale.prototype; + +import { calendar } from './calendar'; +import { longDateFormat } from './formats'; +import { invalidDate } from './invalid'; +import { ordinal } from './ordinal'; +import { preParsePostFormat } from './pre-post-format'; +import { relativeTime, pastFuture } from './relative'; +import { set } from './set'; + +proto.calendar = calendar; +proto.longDateFormat = longDateFormat; +proto.invalidDate = invalidDate; +proto.ordinal = ordinal; +proto.preparse = preParsePostFormat; +proto.postformat = preParsePostFormat; +proto.relativeTime = relativeTime; +proto.pastFuture = pastFuture; +proto.set = set; + +// Month +import { + localeMonthsParse, + localeMonths, + localeMonthsShort, + monthsRegex, + monthsShortRegex +} from '../units/month'; + +proto.months = localeMonths; +proto.monthsShort = localeMonthsShort; +proto.monthsParse = localeMonthsParse; +proto.monthsRegex = monthsRegex; +proto.monthsShortRegex = monthsShortRegex; + +// Week +import { localeWeek, localeFirstDayOfYear, localeFirstDayOfWeek } from '../units/week'; +proto.week = localeWeek; +proto.firstDayOfYear = localeFirstDayOfYear; +proto.firstDayOfWeek = localeFirstDayOfWeek; + +// Day of Week +import { + localeWeekdaysParse, + localeWeekdays, + localeWeekdaysMin, + localeWeekdaysShort, + + weekdaysRegex, + weekdaysShortRegex, + weekdaysMinRegex +} from '../units/day-of-week'; + +proto.weekdays = localeWeekdays; +proto.weekdaysMin = localeWeekdaysMin; +proto.weekdaysShort = localeWeekdaysShort; +proto.weekdaysParse = localeWeekdaysParse; + +proto.weekdaysRegex = weekdaysRegex; +proto.weekdaysShortRegex = weekdaysShortRegex; +proto.weekdaysMinRegex = weekdaysMinRegex; + +// Hours +import { localeIsPM, localeMeridiem } from '../units/hour'; + +proto.isPM = localeIsPM; +proto.meridiem = localeMeridiem; diff --git a/public/bower_components/moment/src/lib/locale/relative.js b/public/bower_components/moment/src/lib/locale/relative.js new file mode 100644 index 0000000..431466b --- /dev/null +++ b/public/bower_components/moment/src/lib/locale/relative.js @@ -0,0 +1,30 @@ +export var defaultRelativeTime = { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' +}; + +import isFunction from '../utils/is-function'; + +export function relativeTime (number, withoutSuffix, string, isFuture) { + var output = this._relativeTime[string]; + return (isFunction(output)) ? + output(number, withoutSuffix, string, isFuture) : + output.replace(/%d/i, number); +} + +export function pastFuture (diff, output) { + var format = this._relativeTime[diff > 0 ? 'future' : 'past']; + return isFunction(format) ? format(output) : format.replace(/%s/i, output); +} diff --git a/public/bower_components/moment/src/lib/locale/set.js b/public/bower_components/moment/src/lib/locale/set.js new file mode 100644 index 0000000..c63d5ad --- /dev/null +++ b/public/bower_components/moment/src/lib/locale/set.js @@ -0,0 +1,49 @@ +import isFunction from '../utils/is-function'; +import extend from '../utils/extend'; +import isObject from '../utils/is-object'; +import hasOwnProp from '../utils/has-own-prop'; + +export function set (config) { + var prop, i; + for (i in config) { + prop = config[i]; + if (isFunction(prop)) { + this[i] = prop; + } else { + this['_' + i] = prop; + } + } + this._config = config; + // Lenient ordinal parsing accepts just a number in addition to + // number + (possibly) stuff coming from _dayOfMonthOrdinalParse. + // TODO: Remove "ordinalParse" fallback in next major release. + this._dayOfMonthOrdinalParseLenient = new RegExp( + (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + + '|' + (/\d{1,2}/).source); +} + +export function mergeConfigs(parentConfig, childConfig) { + var res = extend({}, parentConfig), prop; + for (prop in childConfig) { + if (hasOwnProp(childConfig, prop)) { + if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) { + res[prop] = {}; + extend(res[prop], parentConfig[prop]); + extend(res[prop], childConfig[prop]); + } else if (childConfig[prop] != null) { + res[prop] = childConfig[prop]; + } else { + delete res[prop]; + } + } + } + for (prop in parentConfig) { + if (hasOwnProp(parentConfig, prop) && + !hasOwnProp(childConfig, prop) && + isObject(parentConfig[prop])) { + // make sure changes to properties don't modify parent config + res[prop] = extend({}, res[prop]); + } + } + return res; +} diff --git a/public/bower_components/moment/src/lib/moment/add-subtract.js b/public/bower_components/moment/src/lib/moment/add-subtract.js new file mode 100644 index 0000000..e758b5d --- /dev/null +++ b/public/bower_components/moment/src/lib/moment/add-subtract.js @@ -0,0 +1,55 @@ +import { get, set } from './get-set'; +import { setMonth } from '../units/month'; +import { createDuration } from '../duration/create'; +import { deprecateSimple } from '../utils/deprecate'; +import { hooks } from '../utils/hooks'; +import absRound from '../utils/abs-round'; + + +// TODO: remove 'name' arg after deprecation is removed +function createAdder(direction, name) { + return function (val, period) { + var dur, tmp; + //invert the arguments, but complain about it + if (period !== null && !isNaN(+period)) { + deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' + + 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'); + tmp = val; val = period; period = tmp; + } + + val = typeof val === 'string' ? +val : val; + dur = createDuration(val, period); + addSubtract(this, dur, direction); + return this; + }; +} + +export function addSubtract (mom, duration, isAdding, updateOffset) { + var milliseconds = duration._milliseconds, + days = absRound(duration._days), + months = absRound(duration._months); + + if (!mom.isValid()) { + // No op + return; + } + + updateOffset = updateOffset == null ? true : updateOffset; + + if (months) { + setMonth(mom, get(mom, 'Month') + months * isAdding); + } + if (days) { + set(mom, 'Date', get(mom, 'Date') + days * isAdding); + } + if (milliseconds) { + mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding); + } + if (updateOffset) { + hooks.updateOffset(mom, days || months); + } +} + +export var add = createAdder(1, 'add'); +export var subtract = createAdder(-1, 'subtract'); + diff --git a/public/bower_components/moment/src/lib/moment/calendar.js b/public/bower_components/moment/src/lib/moment/calendar.js new file mode 100644 index 0000000..4b5725c --- /dev/null +++ b/public/bower_components/moment/src/lib/moment/calendar.js @@ -0,0 +1,26 @@ +import { createLocal } from '../create/local'; +import { cloneWithOffset } from '../units/offset'; +import isFunction from '../utils/is-function'; +import { hooks } from '../utils/hooks'; + +export function getCalendarFormat(myMoment, now) { + var diff = myMoment.diff(now, 'days', true); + return diff < -6 ? 'sameElse' : + diff < -1 ? 'lastWeek' : + diff < 0 ? 'lastDay' : + diff < 1 ? 'sameDay' : + diff < 2 ? 'nextDay' : + diff < 7 ? 'nextWeek' : 'sameElse'; +} + +export function calendar (time, formats) { + // We want to compare the start of today, vs this. + // Getting start-of-today depends on whether we're local/utc/offset or not. + var now = time || createLocal(), + sod = cloneWithOffset(now, this).startOf('day'), + format = hooks.calendarFormat(this, sod) || 'sameElse'; + + var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]); + + return this.format(output || this.localeData().calendar(format, this, createLocal(now))); +} diff --git a/public/bower_components/moment/src/lib/moment/clone.js b/public/bower_components/moment/src/lib/moment/clone.js new file mode 100644 index 0000000..d96b328 --- /dev/null +++ b/public/bower_components/moment/src/lib/moment/clone.js @@ -0,0 +1,5 @@ +import { Moment } from './constructor'; + +export function clone () { + return new Moment(this); +} diff --git a/public/bower_components/moment/src/lib/moment/compare.js b/public/bower_components/moment/src/lib/moment/compare.js new file mode 100644 index 0000000..8b23dba --- /dev/null +++ b/public/bower_components/moment/src/lib/moment/compare.js @@ -0,0 +1,63 @@ +import { isMoment } from './constructor'; +import { normalizeUnits } from '../units/aliases'; +import { createLocal } from '../create/local'; + +export function isAfter (input, units) { + var localInput = isMoment(input) ? input : createLocal(input); + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || 'millisecond'; + if (units === 'millisecond') { + return this.valueOf() > localInput.valueOf(); + } else { + return localInput.valueOf() < this.clone().startOf(units).valueOf(); + } +} + +export function isBefore (input, units) { + var localInput = isMoment(input) ? input : createLocal(input); + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || 'millisecond'; + if (units === 'millisecond') { + return this.valueOf() < localInput.valueOf(); + } else { + return this.clone().endOf(units).valueOf() < localInput.valueOf(); + } +} + +export function isBetween (from, to, units, inclusivity) { + var localFrom = isMoment(from) ? from : createLocal(from), + localTo = isMoment(to) ? to : createLocal(to); + if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) { + return false; + } + inclusivity = inclusivity || '()'; + return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) && + (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units)); +} + +export function isSame (input, units) { + var localInput = isMoment(input) ? input : createLocal(input), + inputMs; + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || 'millisecond'; + if (units === 'millisecond') { + return this.valueOf() === localInput.valueOf(); + } else { + inputMs = localInput.valueOf(); + return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf(); + } +} + +export function isSameOrAfter (input, units) { + return this.isSame(input, units) || this.isAfter(input, units); +} + +export function isSameOrBefore (input, units) { + return this.isSame(input, units) || this.isBefore(input, units); +} diff --git a/public/bower_components/moment/src/lib/moment/constructor.js b/public/bower_components/moment/src/lib/moment/constructor.js new file mode 100644 index 0000000..bc53f81 --- /dev/null +++ b/public/bower_components/moment/src/lib/moment/constructor.js @@ -0,0 +1,77 @@ +import { hooks } from '../utils/hooks'; +import hasOwnProp from '../utils/has-own-prop'; +import isUndefined from '../utils/is-undefined'; +import getParsingFlags from '../create/parsing-flags'; + +// Plugins that add properties should also add the key here (null value), +// so we can properly clone ourselves. +var momentProperties = hooks.momentProperties = []; + +export function copyConfig(to, from) { + var i, prop, val; + + if (!isUndefined(from._isAMomentObject)) { + to._isAMomentObject = from._isAMomentObject; + } + if (!isUndefined(from._i)) { + to._i = from._i; + } + if (!isUndefined(from._f)) { + to._f = from._f; + } + if (!isUndefined(from._l)) { + to._l = from._l; + } + if (!isUndefined(from._strict)) { + to._strict = from._strict; + } + if (!isUndefined(from._tzm)) { + to._tzm = from._tzm; + } + if (!isUndefined(from._isUTC)) { + to._isUTC = from._isUTC; + } + if (!isUndefined(from._offset)) { + to._offset = from._offset; + } + if (!isUndefined(from._pf)) { + to._pf = getParsingFlags(from); + } + if (!isUndefined(from._locale)) { + to._locale = from._locale; + } + + if (momentProperties.length > 0) { + for (i = 0; i < momentProperties.length; i++) { + prop = momentProperties[i]; + val = from[prop]; + if (!isUndefined(val)) { + to[prop] = val; + } + } + } + + return to; +} + +var updateInProgress = false; + +// Moment prototype object +export function Moment(config) { + copyConfig(this, config); + this._d = new Date(config._d != null ? config._d.getTime() : NaN); + if (!this.isValid()) { + this._d = new Date(NaN); + } + // Prevent infinite loop in case updateOffset creates new moment + // objects. + if (updateInProgress === false) { + updateInProgress = true; + hooks.updateOffset(this); + updateInProgress = false; + } +} + +export function isMoment (obj) { + return obj instanceof Moment || (obj != null && obj._isAMomentObject != null); +} diff --git a/public/bower_components/moment/src/lib/moment/creation-data.js b/public/bower_components/moment/src/lib/moment/creation-data.js new file mode 100644 index 0000000..7e2d69a --- /dev/null +++ b/public/bower_components/moment/src/lib/moment/creation-data.js @@ -0,0 +1,9 @@ +export function creationData() { + return { + input: this._i, + format: this._f, + locale: this._locale, + isUTC: this._isUTC, + strict: this._strict + }; +} diff --git a/public/bower_components/moment/src/lib/moment/diff.js b/public/bower_components/moment/src/lib/moment/diff.js new file mode 100644 index 0000000..85254df --- /dev/null +++ b/public/bower_components/moment/src/lib/moment/diff.js @@ -0,0 +1,58 @@ +import absFloor from '../utils/abs-floor'; +import { cloneWithOffset } from '../units/offset'; +import { normalizeUnits } from '../units/aliases'; + +export function diff (input, units, asFloat) { + var that, + zoneDelta, + delta, output; + + if (!this.isValid()) { + return NaN; + } + + that = cloneWithOffset(input, this); + + if (!that.isValid()) { + return NaN; + } + + zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4; + + units = normalizeUnits(units); + + switch (units) { + case 'year': output = monthDiff(this, that) / 12; break; + case 'month': output = monthDiff(this, that); break; + case 'quarter': output = monthDiff(this, that) / 3; break; + case 'second': output = (this - that) / 1e3; break; // 1000 + case 'minute': output = (this - that) / 6e4; break; // 1000 * 60 + case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60 + case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst + case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst + default: output = this - that; + } + + return asFloat ? output : absFloor(output); +} + +function monthDiff (a, b) { + // difference in months + var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()), + // b is in (anchor - 1 month, anchor + 1 month) + anchor = a.clone().add(wholeMonthDiff, 'months'), + anchor2, adjust; + + if (b - anchor < 0) { + anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); + // linear across the month + adjust = (b - anchor) / (anchor - anchor2); + } else { + anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); + // linear across the month + adjust = (b - anchor) / (anchor2 - anchor); + } + + //check for negative zero, return zero if negative zero + return -(wholeMonthDiff + adjust) || 0; +} diff --git a/public/bower_components/moment/src/lib/moment/format.js b/public/bower_components/moment/src/lib/moment/format.js new file mode 100644 index 0000000..9544f51 --- /dev/null +++ b/public/bower_components/moment/src/lib/moment/format.js @@ -0,0 +1,62 @@ +import { formatMoment } from '../format/format'; +import { hooks } from '../utils/hooks'; +import isFunction from '../utils/is-function'; + +hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ'; +hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]'; + +export function toString () { + return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); +} + +export function toISOString(keepOffset) { + if (!this.isValid()) { + return null; + } + var utc = keepOffset !== true; + var m = utc ? this.clone().utc() : this; + if (m.year() < 0 || m.year() > 9999) { + return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'); + } + if (isFunction(Date.prototype.toISOString)) { + // native implementation is ~50x faster, use it when we can + if (utc) { + return this.toDate().toISOString(); + } else { + return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z')); + } + } + return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'); +} + +/** + * Return a human readable representation of a moment that can + * also be evaluated to get a new moment which is the same + * + * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects + */ +export function inspect () { + if (!this.isValid()) { + return 'moment.invalid(/* ' + this._i + ' */)'; + } + var func = 'moment'; + var zone = ''; + if (!this.isLocal()) { + func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone'; + zone = 'Z'; + } + var prefix = '[' + func + '("]'; + var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY'; + var datetime = '-MM-DD[T]HH:mm:ss.SSS'; + var suffix = zone + '[")]'; + + return this.format(prefix + year + datetime + suffix); +} + +export function format (inputString) { + if (!inputString) { + inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat; + } + var output = formatMoment(this, inputString); + return this.localeData().postformat(output); +} diff --git a/public/bower_components/moment/src/lib/moment/from.js b/public/bower_components/moment/src/lib/moment/from.js new file mode 100644 index 0000000..4fbd03e --- /dev/null +++ b/public/bower_components/moment/src/lib/moment/from.js @@ -0,0 +1,17 @@ +import { createDuration } from '../duration/create'; +import { createLocal } from '../create/local'; +import { isMoment } from '../moment/constructor'; + +export function from (time, withoutSuffix) { + if (this.isValid() && + ((isMoment(time) && time.isValid()) || + createLocal(time).isValid())) { + return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix); + } else { + return this.localeData().invalidDate(); + } +} + +export function fromNow (withoutSuffix) { + return this.from(createLocal(), withoutSuffix); +} diff --git a/public/bower_components/moment/src/lib/moment/get-set.js b/public/bower_components/moment/src/lib/moment/get-set.js new file mode 100644 index 0000000..f5035f1 --- /dev/null +++ b/public/bower_components/moment/src/lib/moment/get-set.js @@ -0,0 +1,61 @@ +import { normalizeUnits, normalizeObjectUnits } from '../units/aliases'; +import { getPrioritizedUnits } from '../units/priorities'; +import { hooks } from '../utils/hooks'; +import isFunction from '../utils/is-function'; +import { daysInMonth } from '../units/month'; +import { isLeapYear } from '../units/year'; + +export function makeGetSet (unit, keepTime) { + return function (value) { + if (value != null) { + set(this, unit, value); + hooks.updateOffset(this, keepTime); + return this; + } else { + return get(this, unit); + } + }; +} + +export function get (mom, unit) { + return mom.isValid() ? + mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN; +} + +export function set (mom, unit, value) { + if (mom.isValid() && !isNaN(value)) { + if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) { + mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month())); + } + else { + mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); + } + } +} + +// MOMENTS + +export function stringGet (units) { + units = normalizeUnits(units); + if (isFunction(this[units])) { + return this[units](); + } + return this; +} + + +export function stringSet (units, value) { + if (typeof units === 'object') { + units = normalizeObjectUnits(units); + var prioritized = getPrioritizedUnits(units); + for (var i = 0; i < prioritized.length; i++) { + this[prioritized[i].unit](units[prioritized[i].unit]); + } + } else { + units = normalizeUnits(units); + if (isFunction(this[units])) { + return this[units](value); + } + } + return this; +} diff --git a/public/bower_components/moment/src/lib/moment/locale.js b/public/bower_components/moment/src/lib/moment/locale.js new file mode 100644 index 0000000..fb46e65 --- /dev/null +++ b/public/bower_components/moment/src/lib/moment/locale.js @@ -0,0 +1,34 @@ +import { getLocale } from '../locale/locales'; +import { deprecate } from '../utils/deprecate'; + +// If passed a locale key, it will set the locale for this +// instance. Otherwise, it will return the locale configuration +// variables for this instance. +export function locale (key) { + var newLocaleData; + + if (key === undefined) { + return this._locale._abbr; + } else { + newLocaleData = getLocale(key); + if (newLocaleData != null) { + this._locale = newLocaleData; + } + return this; + } +} + +export var lang = deprecate( + 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', + function (key) { + if (key === undefined) { + return this.localeData(); + } else { + return this.locale(key); + } + } +); + +export function localeData () { + return this._locale; +} diff --git a/public/bower_components/moment/src/lib/moment/min-max.js b/public/bower_components/moment/src/lib/moment/min-max.js new file mode 100644 index 0000000..d76920a --- /dev/null +++ b/public/bower_components/moment/src/lib/moment/min-max.js @@ -0,0 +1,63 @@ +import { deprecate } from '../utils/deprecate'; +import isArray from '../utils/is-array'; +import { createLocal } from '../create/local'; +import { createInvalid } from '../create/valid'; + +export var prototypeMin = deprecate( + 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', + function () { + var other = createLocal.apply(null, arguments); + if (this.isValid() && other.isValid()) { + return other < this ? this : other; + } else { + return createInvalid(); + } + } +); + +export var prototypeMax = deprecate( + 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', + function () { + var other = createLocal.apply(null, arguments); + if (this.isValid() && other.isValid()) { + return other > this ? this : other; + } else { + return createInvalid(); + } + } +); + +// Pick a moment m from moments so that m[fn](other) is true for all +// other. This relies on the function fn to be transitive. +// +// moments should either be an array of moment objects or an array, whose +// first element is an array of moment objects. +function pickBy(fn, moments) { + var res, i; + if (moments.length === 1 && isArray(moments[0])) { + moments = moments[0]; + } + if (!moments.length) { + return createLocal(); + } + res = moments[0]; + for (i = 1; i < moments.length; ++i) { + if (!moments[i].isValid() || moments[i][fn](res)) { + res = moments[i]; + } + } + return res; +} + +// TODO: Use [].sort instead? +export function min () { + var args = [].slice.call(arguments, 0); + + return pickBy('isBefore', args); +} + +export function max () { + var args = [].slice.call(arguments, 0); + + return pickBy('isAfter', args); +} diff --git a/public/bower_components/moment/src/lib/moment/moment.js b/public/bower_components/moment/src/lib/moment/moment.js new file mode 100644 index 0000000..12eb5f1 --- /dev/null +++ b/public/bower_components/moment/src/lib/moment/moment.js @@ -0,0 +1,28 @@ +import { createLocal } from '../create/local'; +import { createUTC } from '../create/utc'; +import { createInvalid } from '../create/valid'; +import { isMoment } from './constructor'; +import { min, max } from './min-max'; +import { now } from './now'; +import momentPrototype from './prototype'; + +function createUnix (input) { + return createLocal(input * 1000); +} + +function createInZone () { + return createLocal.apply(null, arguments).parseZone(); +} + +export { + now, + min, + max, + isMoment, + createUTC, + createUnix, + createLocal, + createInZone, + createInvalid, + momentPrototype +}; diff --git a/public/bower_components/moment/src/lib/moment/now.js b/public/bower_components/moment/src/lib/moment/now.js new file mode 100644 index 0000000..0f4d0ae --- /dev/null +++ b/public/bower_components/moment/src/lib/moment/now.js @@ -0,0 +1,3 @@ +export var now = function () { + return Date.now ? Date.now() : +(new Date()); +}; diff --git a/public/bower_components/moment/src/lib/moment/prototype.js b/public/bower_components/moment/src/lib/moment/prototype.js new file mode 100644 index 0000000..bd8fff7 --- /dev/null +++ b/public/bower_components/moment/src/lib/moment/prototype.js @@ -0,0 +1,150 @@ +import { Moment } from './constructor'; + +var proto = Moment.prototype; + +import { add, subtract } from './add-subtract'; +import { calendar, getCalendarFormat } from './calendar'; +import { clone } from './clone'; +import { isBefore, isBetween, isSame, isAfter, isSameOrAfter, isSameOrBefore } from './compare'; +import { diff } from './diff'; +import { format, toString, toISOString, inspect } from './format'; +import { from, fromNow } from './from'; +import { to, toNow } from './to'; +import { stringGet, stringSet } from './get-set'; +import { locale, localeData, lang } from './locale'; +import { prototypeMin, prototypeMax } from './min-max'; +import { startOf, endOf } from './start-end-of'; +import { valueOf, toDate, toArray, toObject, toJSON, unix } from './to-type'; +import { isValid, parsingFlags, invalidAt } from './valid'; +import { creationData } from './creation-data'; + +proto.add = add; +proto.calendar = calendar; +proto.clone = clone; +proto.diff = diff; +proto.endOf = endOf; +proto.format = format; +proto.from = from; +proto.fromNow = fromNow; +proto.to = to; +proto.toNow = toNow; +proto.get = stringGet; +proto.invalidAt = invalidAt; +proto.isAfter = isAfter; +proto.isBefore = isBefore; +proto.isBetween = isBetween; +proto.isSame = isSame; +proto.isSameOrAfter = isSameOrAfter; +proto.isSameOrBefore = isSameOrBefore; +proto.isValid = isValid; +proto.lang = lang; +proto.locale = locale; +proto.localeData = localeData; +proto.max = prototypeMax; +proto.min = prototypeMin; +proto.parsingFlags = parsingFlags; +proto.set = stringSet; +proto.startOf = startOf; +proto.subtract = subtract; +proto.toArray = toArray; +proto.toObject = toObject; +proto.toDate = toDate; +proto.toISOString = toISOString; +proto.inspect = inspect; +proto.toJSON = toJSON; +proto.toString = toString; +proto.unix = unix; +proto.valueOf = valueOf; +proto.creationData = creationData; + +// Year +import { getSetYear, getIsLeapYear } from '../units/year'; +proto.year = getSetYear; +proto.isLeapYear = getIsLeapYear; + +// Week Year +import { getSetWeekYear, getSetISOWeekYear, getWeeksInYear, getISOWeeksInYear } from '../units/week-year'; +proto.weekYear = getSetWeekYear; +proto.isoWeekYear = getSetISOWeekYear; + +// Quarter +import { getSetQuarter } from '../units/quarter'; +proto.quarter = proto.quarters = getSetQuarter; + +// Month +import { getSetMonth, getDaysInMonth } from '../units/month'; +proto.month = getSetMonth; +proto.daysInMonth = getDaysInMonth; + +// Week +import { getSetWeek, getSetISOWeek } from '../units/week'; +proto.week = proto.weeks = getSetWeek; +proto.isoWeek = proto.isoWeeks = getSetISOWeek; +proto.weeksInYear = getWeeksInYear; +proto.isoWeeksInYear = getISOWeeksInYear; + +// Day +import { getSetDayOfMonth } from '../units/day-of-month'; +import { getSetDayOfWeek, getSetISODayOfWeek, getSetLocaleDayOfWeek } from '../units/day-of-week'; +import { getSetDayOfYear } from '../units/day-of-year'; +proto.date = getSetDayOfMonth; +proto.day = proto.days = getSetDayOfWeek; +proto.weekday = getSetLocaleDayOfWeek; +proto.isoWeekday = getSetISODayOfWeek; +proto.dayOfYear = getSetDayOfYear; + +// Hour +import { getSetHour } from '../units/hour'; +proto.hour = proto.hours = getSetHour; + +// Minute +import { getSetMinute } from '../units/minute'; +proto.minute = proto.minutes = getSetMinute; + +// Second +import { getSetSecond } from '../units/second'; +proto.second = proto.seconds = getSetSecond; + +// Millisecond +import { getSetMillisecond } from '../units/millisecond'; +proto.millisecond = proto.milliseconds = getSetMillisecond; + +// Offset +import { + getSetOffset, + setOffsetToUTC, + setOffsetToLocal, + setOffsetToParsedOffset, + hasAlignedHourOffset, + isDaylightSavingTime, + isDaylightSavingTimeShifted, + getSetZone, + isLocal, + isUtcOffset, + isUtc +} from '../units/offset'; +proto.utcOffset = getSetOffset; +proto.utc = setOffsetToUTC; +proto.local = setOffsetToLocal; +proto.parseZone = setOffsetToParsedOffset; +proto.hasAlignedHourOffset = hasAlignedHourOffset; +proto.isDST = isDaylightSavingTime; +proto.isLocal = isLocal; +proto.isUtcOffset = isUtcOffset; +proto.isUtc = isUtc; +proto.isUTC = isUtc; + +// Timezone +import { getZoneAbbr, getZoneName } from '../units/timezone'; +proto.zoneAbbr = getZoneAbbr; +proto.zoneName = getZoneName; + +// Deprecations +import { deprecate } from '../utils/deprecate'; +proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth); +proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth); +proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear); +proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone); +proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted); + +export default proto; diff --git a/public/bower_components/moment/src/lib/moment/start-end-of.js b/public/bower_components/moment/src/lib/moment/start-end-of.js new file mode 100644 index 0000000..42c19cb --- /dev/null +++ b/public/bower_components/moment/src/lib/moment/start-end-of.js @@ -0,0 +1,128 @@ +import { normalizeUnits } from '../units/aliases'; +import { hooks } from '../utils/hooks'; + +var MS_PER_SECOND = 1000; +var MS_PER_MINUTE = 60 * MS_PER_SECOND; +var MS_PER_HOUR = 60 * MS_PER_MINUTE; +var MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR; + +// actual modulo - handles negative numbers (for dates before 1970): +function mod(dividend, divisor) { + return (dividend % divisor + divisor) % divisor; +} + +function localStartOfDate(y, m, d) { + // the date constructor remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + return new Date(y + 400, m, d) - MS_PER_400_YEARS; + } else { + return new Date(y, m, d).valueOf(); + } +} + +function utcStartOfDate(y, m, d) { + // Date.UTC remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS; + } else { + return Date.UTC(y, m, d); + } +} + +export function startOf (units) { + var time; + units = normalizeUnits(units); + if (units === undefined || units === 'millisecond' || !this.isValid()) { + return this; + } + + var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; + + switch (units) { + case 'year': + time = startOfDate(this.year(), 0, 1); + break; + case 'quarter': + time = startOfDate(this.year(), this.month() - this.month() % 3, 1); + break; + case 'month': + time = startOfDate(this.year(), this.month(), 1); + break; + case 'week': + time = startOfDate(this.year(), this.month(), this.date() - this.weekday()); + break; + case 'isoWeek': + time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1)); + break; + case 'day': + case 'date': + time = startOfDate(this.year(), this.month(), this.date()); + break; + case 'hour': + time = this._d.valueOf(); + time -= mod(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR); + break; + case 'minute': + time = this._d.valueOf(); + time -= mod(time, MS_PER_MINUTE); + break; + case 'second': + time = this._d.valueOf(); + time -= mod(time, MS_PER_SECOND); + break; + } + + this._d.setTime(time); + hooks.updateOffset(this, true); + return this; +} + +export function endOf (units) { + var time; + units = normalizeUnits(units); + if (units === undefined || units === 'millisecond' || !this.isValid()) { + return this; + } + + var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; + + switch (units) { + case 'year': + time = startOfDate(this.year() + 1, 0, 1) - 1; + break; + case 'quarter': + time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1; + break; + case 'month': + time = startOfDate(this.year(), this.month() + 1, 1) - 1; + break; + case 'week': + time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1; + break; + case 'isoWeek': + time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1; + break; + case 'day': + case 'date': + time = startOfDate(this.year(), this.month(), this.date() + 1) - 1; + break; + case 'hour': + time = this._d.valueOf(); + time += MS_PER_HOUR - mod(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1; + break; + case 'minute': + time = this._d.valueOf(); + time += MS_PER_MINUTE - mod(time, MS_PER_MINUTE) - 1; + break; + case 'second': + time = this._d.valueOf(); + time += MS_PER_SECOND - mod(time, MS_PER_SECOND) - 1; + break; + } + + this._d.setTime(time); + hooks.updateOffset(this, true); + return this; +} diff --git a/public/bower_components/moment/src/lib/moment/to-type.js b/public/bower_components/moment/src/lib/moment/to-type.js new file mode 100644 index 0000000..a990dd2 --- /dev/null +++ b/public/bower_components/moment/src/lib/moment/to-type.js @@ -0,0 +1,34 @@ +export function valueOf () { + return this._d.valueOf() - ((this._offset || 0) * 60000); +} + +export function unix () { + return Math.floor(this.valueOf() / 1000); +} + +export function toDate () { + return new Date(this.valueOf()); +} + +export function toArray () { + var m = this; + return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()]; +} + +export function toObject () { + var m = this; + return { + years: m.year(), + months: m.month(), + date: m.date(), + hours: m.hours(), + minutes: m.minutes(), + seconds: m.seconds(), + milliseconds: m.milliseconds() + }; +} + +export function toJSON () { + // new Date(NaN).toJSON() === null + return this.isValid() ? this.toISOString() : null; +} diff --git a/public/bower_components/moment/src/lib/moment/to.js b/public/bower_components/moment/src/lib/moment/to.js new file mode 100644 index 0000000..7ad667e --- /dev/null +++ b/public/bower_components/moment/src/lib/moment/to.js @@ -0,0 +1,17 @@ +import { createDuration } from '../duration/create'; +import { createLocal } from '../create/local'; +import { isMoment } from '../moment/constructor'; + +export function to (time, withoutSuffix) { + if (this.isValid() && + ((isMoment(time) && time.isValid()) || + createLocal(time).isValid())) { + return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix); + } else { + return this.localeData().invalidDate(); + } +} + +export function toNow (withoutSuffix) { + return this.to(createLocal(), withoutSuffix); +} diff --git a/public/bower_components/moment/src/lib/moment/valid.js b/public/bower_components/moment/src/lib/moment/valid.js new file mode 100644 index 0000000..6c00742 --- /dev/null +++ b/public/bower_components/moment/src/lib/moment/valid.js @@ -0,0 +1,15 @@ +import { isValid as _isValid } from '../create/valid'; +import extend from '../utils/extend'; +import getParsingFlags from '../create/parsing-flags'; + +export function isValid () { + return _isValid(this); +} + +export function parsingFlags () { + return extend({}, getParsingFlags(this)); +} + +export function invalidAt () { + return getParsingFlags(this).overflow; +} diff --git a/public/bower_components/moment/src/lib/parse/regex.js b/public/bower_components/moment/src/lib/parse/regex.js new file mode 100644 index 0000000..4b86f34 --- /dev/null +++ b/public/bower_components/moment/src/lib/parse/regex.js @@ -0,0 +1,54 @@ +export var match1 = /\d/; // 0 - 9 +export var match2 = /\d\d/; // 00 - 99 +export var match3 = /\d{3}/; // 000 - 999 +export var match4 = /\d{4}/; // 0000 - 9999 +export var match6 = /[+-]?\d{6}/; // -999999 - 999999 +export var match1to2 = /\d\d?/; // 0 - 99 +export var match3to4 = /\d\d\d\d?/; // 999 - 9999 +export var match5to6 = /\d\d\d\d\d\d?/; // 99999 - 999999 +export var match1to3 = /\d{1,3}/; // 0 - 999 +export var match1to4 = /\d{1,4}/; // 0 - 9999 +export var match1to6 = /[+-]?\d{1,6}/; // -999999 - 999999 + +export var matchUnsigned = /\d+/; // 0 - inf +export var matchSigned = /[+-]?\d+/; // -inf - inf + +export var matchOffset = /Z|[+-]\d\d:?\d\d/gi; // +00:00 -00:00 +0000 -0000 or Z +export var matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z + +export var matchTimestamp = /[+-]?\d+(\.\d{1,3})?/; // 123456789 123456789.123 + +// any word (or two) characters or numbers including two/three word month in arabic. +// includes scottish gaelic two word and hyphenated months +export var matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i; + + +import hasOwnProp from '../utils/has-own-prop'; +import isFunction from '../utils/is-function'; + +var regexes = {}; + +export function addRegexToken (token, regex, strictRegex) { + regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) { + return (isStrict && strictRegex) ? strictRegex : regex; + }; +} + +export function getParseRegexForToken (token, config) { + if (!hasOwnProp(regexes, token)) { + return new RegExp(unescapeFormat(token)); + } + + return regexes[token](config._strict, config._locale); +} + +// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript +function unescapeFormat(s) { + return regexEscape(s.replace('\\', '').replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) { + return p1 || p2 || p3 || p4; + })); +} + +export function regexEscape(s) { + return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); +} diff --git a/public/bower_components/moment/src/lib/parse/token.js b/public/bower_components/moment/src/lib/parse/token.js new file mode 100644 index 0000000..24b4474 --- /dev/null +++ b/public/bower_components/moment/src/lib/parse/token.js @@ -0,0 +1,33 @@ +import hasOwnProp from '../utils/has-own-prop'; +import isNumber from '../utils/is-number'; +import toInt from '../utils/to-int'; + +var tokens = {}; + +export function addParseToken (token, callback) { + var i, func = callback; + if (typeof token === 'string') { + token = [token]; + } + if (isNumber(callback)) { + func = function (input, array) { + array[callback] = toInt(input); + }; + } + for (i = 0; i < token.length; i++) { + tokens[token[i]] = func; + } +} + +export function addWeekParseToken (token, callback) { + addParseToken(token, function (input, array, config, token) { + config._w = config._w || {}; + callback(input, config._w, config, token); + }); +} + +export function addTimeToArrayFromToken(token, input, config) { + if (input != null && hasOwnProp(tokens, token)) { + tokens[token](input, config._a, config, token); + } +} diff --git a/public/bower_components/moment/src/lib/units/aliases.js b/public/bower_components/moment/src/lib/units/aliases.js new file mode 100644 index 0000000..0d8b88a --- /dev/null +++ b/public/bower_components/moment/src/lib/units/aliases.js @@ -0,0 +1,30 @@ +import hasOwnProp from '../utils/has-own-prop'; + +var aliases = {}; + +export function addUnitAlias (unit, shorthand) { + var lowerCase = unit.toLowerCase(); + aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit; +} + +export function normalizeUnits(units) { + return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined; +} + +export function normalizeObjectUnits(inputObject) { + var normalizedInput = {}, + normalizedProp, + prop; + + for (prop in inputObject) { + if (hasOwnProp(inputObject, prop)) { + normalizedProp = normalizeUnits(prop); + if (normalizedProp) { + normalizedInput[normalizedProp] = inputObject[prop]; + } + } + } + + return normalizedInput; +} + diff --git a/public/bower_components/moment/src/lib/units/constants.js b/public/bower_components/moment/src/lib/units/constants.js new file mode 100644 index 0000000..70bf1b2 --- /dev/null +++ b/public/bower_components/moment/src/lib/units/constants.js @@ -0,0 +1,9 @@ +export var YEAR = 0; +export var MONTH = 1; +export var DATE = 2; +export var HOUR = 3; +export var MINUTE = 4; +export var SECOND = 5; +export var MILLISECOND = 6; +export var WEEK = 7; +export var WEEKDAY = 8; diff --git a/public/bower_components/moment/src/lib/units/day-of-month.js b/public/bower_components/moment/src/lib/units/day-of-month.js new file mode 100644 index 0000000..cbd1e40 --- /dev/null +++ b/public/bower_components/moment/src/lib/units/day-of-month.js @@ -0,0 +1,39 @@ +import { makeGetSet } from '../moment/get-set'; +import { addFormatToken } from '../format/format'; +import { addUnitAlias } from './aliases'; +import { addUnitPriority } from './priorities'; +import { addRegexToken, match1to2, match2 } from '../parse/regex'; +import { addParseToken } from '../parse/token'; +import { DATE } from './constants'; +import toInt from '../utils/to-int'; + +// FORMATTING + +addFormatToken('D', ['DD', 2], 'Do', 'date'); + +// ALIASES + +addUnitAlias('date', 'D'); + +// PRIORITY +addUnitPriority('date', 9); + +// PARSING + +addRegexToken('D', match1to2); +addRegexToken('DD', match1to2, match2); +addRegexToken('Do', function (isStrict, locale) { + // TODO: Remove "ordinalParse" fallback in next major release. + return isStrict ? + (locale._dayOfMonthOrdinalParse || locale._ordinalParse) : + locale._dayOfMonthOrdinalParseLenient; +}); + +addParseToken(['D', 'DD'], DATE); +addParseToken('Do', function (input, array) { + array[DATE] = toInt(input.match(match1to2)[0]); +}); + +// MOMENTS + +export var getSetDayOfMonth = makeGetSet('Date', true); diff --git a/public/bower_components/moment/src/lib/units/day-of-week.js b/public/bower_components/moment/src/lib/units/day-of-week.js new file mode 100644 index 0000000..e4c4498 --- /dev/null +++ b/public/bower_components/moment/src/lib/units/day-of-week.js @@ -0,0 +1,367 @@ +import { addFormatToken } from '../format/format'; +import { addUnitAlias } from './aliases'; +import { addUnitPriority } from './priorities'; +import { addRegexToken, match1to2, matchWord, regexEscape } from '../parse/regex'; +import { addWeekParseToken } from '../parse/token'; +import toInt from '../utils/to-int'; +import isArray from '../utils/is-array'; +import indexOf from '../utils/index-of'; +import hasOwnProp from '../utils/has-own-prop'; +import { createUTC } from '../create/utc'; +import getParsingFlags from '../create/parsing-flags'; + +// FORMATTING + +addFormatToken('d', 0, 'do', 'day'); + +addFormatToken('dd', 0, 0, function (format) { + return this.localeData().weekdaysMin(this, format); +}); + +addFormatToken('ddd', 0, 0, function (format) { + return this.localeData().weekdaysShort(this, format); +}); + +addFormatToken('dddd', 0, 0, function (format) { + return this.localeData().weekdays(this, format); +}); + +addFormatToken('e', 0, 0, 'weekday'); +addFormatToken('E', 0, 0, 'isoWeekday'); + +// ALIASES + +addUnitAlias('day', 'd'); +addUnitAlias('weekday', 'e'); +addUnitAlias('isoWeekday', 'E'); + +// PRIORITY +addUnitPriority('day', 11); +addUnitPriority('weekday', 11); +addUnitPriority('isoWeekday', 11); + +// PARSING + +addRegexToken('d', match1to2); +addRegexToken('e', match1to2); +addRegexToken('E', match1to2); +addRegexToken('dd', function (isStrict, locale) { + return locale.weekdaysMinRegex(isStrict); +}); +addRegexToken('ddd', function (isStrict, locale) { + return locale.weekdaysShortRegex(isStrict); +}); +addRegexToken('dddd', function (isStrict, locale) { + return locale.weekdaysRegex(isStrict); +}); + +addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) { + var weekday = config._locale.weekdaysParse(input, token, config._strict); + // if we didn't get a weekday name, mark the date as invalid + if (weekday != null) { + week.d = weekday; + } else { + getParsingFlags(config).invalidWeekday = input; + } +}); + +addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) { + week[token] = toInt(input); +}); + +// HELPERS + +function parseWeekday(input, locale) { + if (typeof input !== 'string') { + return input; + } + + if (!isNaN(input)) { + return parseInt(input, 10); + } + + input = locale.weekdaysParse(input); + if (typeof input === 'number') { + return input; + } + + return null; +} + +function parseIsoWeekday(input, locale) { + if (typeof input === 'string') { + return locale.weekdaysParse(input) % 7 || 7; + } + return isNaN(input) ? null : input; +} + +// LOCALES +function shiftWeekdays (ws, n) { + return ws.slice(n, 7).concat(ws.slice(0, n)); +} + +export var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'); +export function localeWeekdays (m, format) { + var weekdays = isArray(this._weekdays) ? this._weekdays : + this._weekdays[(m && m !== true && this._weekdays.isFormat.test(format)) ? 'format' : 'standalone']; + return (m === true) ? shiftWeekdays(weekdays, this._week.dow) + : (m) ? weekdays[m.day()] : weekdays; +} + +export var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'); +export function localeWeekdaysShort (m) { + return (m === true) ? shiftWeekdays(this._weekdaysShort, this._week.dow) + : (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort; +} + +export var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'); +export function localeWeekdaysMin (m) { + return (m === true) ? shiftWeekdays(this._weekdaysMin, this._week.dow) + : (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin; +} + +function handleStrictParse(weekdayName, format, strict) { + var i, ii, mom, llc = weekdayName.toLocaleLowerCase(); + if (!this._weekdaysParse) { + this._weekdaysParse = []; + this._shortWeekdaysParse = []; + this._minWeekdaysParse = []; + + for (i = 0; i < 7; ++i) { + mom = createUTC([2000, 1]).day(i); + this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase(); + this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase(); + this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase(); + } + } + + if (strict) { + if (format === 'dddd') { + ii = indexOf.call(this._weekdaysParse, llc); + return ii !== -1 ? ii : null; + } else if (format === 'ddd') { + ii = indexOf.call(this._shortWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } + } else { + if (format === 'dddd') { + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else if (format === 'ddd') { + ii = indexOf.call(this._shortWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._minWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } + } +} + +export function localeWeekdaysParse (weekdayName, format, strict) { + var i, mom, regex; + + if (this._weekdaysParseExact) { + return handleStrictParse.call(this, weekdayName, format, strict); + } + + if (!this._weekdaysParse) { + this._weekdaysParse = []; + this._minWeekdaysParse = []; + this._shortWeekdaysParse = []; + this._fullWeekdaysParse = []; + } + + for (i = 0; i < 7; i++) { + // make the regex if we don't have it already + + mom = createUTC([2000, 1]).day(i); + if (strict && !this._fullWeekdaysParse[i]) { + this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', 'i'); + this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', 'i'); + this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', 'i'); + } + if (!this._weekdaysParse[i]) { + regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, ''); + this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i'); + } + // test the regex + if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) { + return i; + } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) { + return i; + } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) { + return i; + } else if (!strict && this._weekdaysParse[i].test(weekdayName)) { + return i; + } + } +} + +// MOMENTS + +export function getSetDayOfWeek (input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); + if (input != null) { + input = parseWeekday(input, this.localeData()); + return this.add(input - day, 'd'); + } else { + return day; + } +} + +export function getSetLocaleDayOfWeek (input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; + return input == null ? weekday : this.add(input - weekday, 'd'); +} + +export function getSetISODayOfWeek (input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + + // behaves the same as moment#day except + // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6) + // as a setter, sunday should belong to the previous week. + + if (input != null) { + var weekday = parseIsoWeekday(input, this.localeData()); + return this.day(this.day() % 7 ? weekday : weekday - 7); + } else { + return this.day() || 7; + } +} + +var defaultWeekdaysRegex = matchWord; +export function weekdaysRegex (isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysStrictRegex; + } else { + return this._weekdaysRegex; + } + } else { + if (!hasOwnProp(this, '_weekdaysRegex')) { + this._weekdaysRegex = defaultWeekdaysRegex; + } + return this._weekdaysStrictRegex && isStrict ? + this._weekdaysStrictRegex : this._weekdaysRegex; + } +} + +var defaultWeekdaysShortRegex = matchWord; +export function weekdaysShortRegex (isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysShortStrictRegex; + } else { + return this._weekdaysShortRegex; + } + } else { + if (!hasOwnProp(this, '_weekdaysShortRegex')) { + this._weekdaysShortRegex = defaultWeekdaysShortRegex; + } + return this._weekdaysShortStrictRegex && isStrict ? + this._weekdaysShortStrictRegex : this._weekdaysShortRegex; + } +} + +var defaultWeekdaysMinRegex = matchWord; +export function weekdaysMinRegex (isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysMinStrictRegex; + } else { + return this._weekdaysMinRegex; + } + } else { + if (!hasOwnProp(this, '_weekdaysMinRegex')) { + this._weekdaysMinRegex = defaultWeekdaysMinRegex; + } + return this._weekdaysMinStrictRegex && isStrict ? + this._weekdaysMinStrictRegex : this._weekdaysMinRegex; + } +} + + +function computeWeekdaysParse () { + function cmpLenRev(a, b) { + return b.length - a.length; + } + + var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [], + i, mom, minp, shortp, longp; + for (i = 0; i < 7; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, 1]).day(i); + minp = this.weekdaysMin(mom, ''); + shortp = this.weekdaysShort(mom, ''); + longp = this.weekdays(mom, ''); + minPieces.push(minp); + shortPieces.push(shortp); + longPieces.push(longp); + mixedPieces.push(minp); + mixedPieces.push(shortp); + mixedPieces.push(longp); + } + // Sorting makes sure if one weekday (or abbr) is a prefix of another it + // will match the longer piece. + minPieces.sort(cmpLenRev); + shortPieces.sort(cmpLenRev); + longPieces.sort(cmpLenRev); + mixedPieces.sort(cmpLenRev); + for (i = 0; i < 7; i++) { + shortPieces[i] = regexEscape(shortPieces[i]); + longPieces[i] = regexEscape(longPieces[i]); + mixedPieces[i] = regexEscape(mixedPieces[i]); + } + + this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); + this._weekdaysShortRegex = this._weekdaysRegex; + this._weekdaysMinRegex = this._weekdaysRegex; + + this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i'); + this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i'); + this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i'); +} diff --git a/public/bower_components/moment/src/lib/units/day-of-year.js b/public/bower_components/moment/src/lib/units/day-of-year.js new file mode 100644 index 0000000..6fe931c --- /dev/null +++ b/public/bower_components/moment/src/lib/units/day-of-year.js @@ -0,0 +1,36 @@ +import { addFormatToken } from '../format/format'; +import { addUnitAlias } from './aliases'; +import { addUnitPriority } from './priorities'; +import { addRegexToken, match3, match1to3 } from '../parse/regex'; +import { daysInYear } from './year'; +import { createUTCDate } from '../create/date-from-array'; +import { addParseToken } from '../parse/token'; +import toInt from '../utils/to-int'; + +// FORMATTING + +addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); + +// ALIASES + +addUnitAlias('dayOfYear', 'DDD'); + +// PRIORITY +addUnitPriority('dayOfYear', 4); + +// PARSING + +addRegexToken('DDD', match1to3); +addRegexToken('DDDD', match3); +addParseToken(['DDD', 'DDDD'], function (input, array, config) { + config._dayOfYear = toInt(input); +}); + +// HELPERS + +// MOMENTS + +export function getSetDayOfYear (input) { + var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1; + return input == null ? dayOfYear : this.add((input - dayOfYear), 'd'); +} diff --git a/public/bower_components/moment/src/lib/units/hour.js b/public/bower_components/moment/src/lib/units/hour.js new file mode 100644 index 0000000..d717a79 --- /dev/null +++ b/public/bower_components/moment/src/lib/units/hour.js @@ -0,0 +1,144 @@ +import { makeGetSet } from '../moment/get-set'; +import { addFormatToken } from '../format/format'; +import { addUnitAlias } from './aliases'; +import { addUnitPriority } from './priorities'; +import { addRegexToken, match1to2, match2, match3to4, match5to6 } from '../parse/regex'; +import { addParseToken } from '../parse/token'; +import { HOUR, MINUTE, SECOND } from './constants'; +import toInt from '../utils/to-int'; +import zeroFill from '../utils/zero-fill'; +import getParsingFlags from '../create/parsing-flags'; + +// FORMATTING + +function hFormat() { + return this.hours() % 12 || 12; +} + +function kFormat() { + return this.hours() || 24; +} + +addFormatToken('H', ['HH', 2], 0, 'hour'); +addFormatToken('h', ['hh', 2], 0, hFormat); +addFormatToken('k', ['kk', 2], 0, kFormat); + +addFormatToken('hmm', 0, 0, function () { + return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2); +}); + +addFormatToken('hmmss', 0, 0, function () { + return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) + + zeroFill(this.seconds(), 2); +}); + +addFormatToken('Hmm', 0, 0, function () { + return '' + this.hours() + zeroFill(this.minutes(), 2); +}); + +addFormatToken('Hmmss', 0, 0, function () { + return '' + this.hours() + zeroFill(this.minutes(), 2) + + zeroFill(this.seconds(), 2); +}); + +function meridiem (token, lowercase) { + addFormatToken(token, 0, 0, function () { + return this.localeData().meridiem(this.hours(), this.minutes(), lowercase); + }); +} + +meridiem('a', true); +meridiem('A', false); + +// ALIASES + +addUnitAlias('hour', 'h'); + +// PRIORITY +addUnitPriority('hour', 13); + +// PARSING + +function matchMeridiem (isStrict, locale) { + return locale._meridiemParse; +} + +addRegexToken('a', matchMeridiem); +addRegexToken('A', matchMeridiem); +addRegexToken('H', match1to2); +addRegexToken('h', match1to2); +addRegexToken('k', match1to2); +addRegexToken('HH', match1to2, match2); +addRegexToken('hh', match1to2, match2); +addRegexToken('kk', match1to2, match2); + +addRegexToken('hmm', match3to4); +addRegexToken('hmmss', match5to6); +addRegexToken('Hmm', match3to4); +addRegexToken('Hmmss', match5to6); + +addParseToken(['H', 'HH'], HOUR); +addParseToken(['k', 'kk'], function (input, array, config) { + var kInput = toInt(input); + array[HOUR] = kInput === 24 ? 0 : kInput; +}); +addParseToken(['a', 'A'], function (input, array, config) { + config._isPm = config._locale.isPM(input); + config._meridiem = input; +}); +addParseToken(['h', 'hh'], function (input, array, config) { + array[HOUR] = toInt(input); + getParsingFlags(config).bigHour = true; +}); +addParseToken('hmm', function (input, array, config) { + var pos = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos)); + array[MINUTE] = toInt(input.substr(pos)); + getParsingFlags(config).bigHour = true; +}); +addParseToken('hmmss', function (input, array, config) { + var pos1 = input.length - 4; + var pos2 = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos1)); + array[MINUTE] = toInt(input.substr(pos1, 2)); + array[SECOND] = toInt(input.substr(pos2)); + getParsingFlags(config).bigHour = true; +}); +addParseToken('Hmm', function (input, array, config) { + var pos = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos)); + array[MINUTE] = toInt(input.substr(pos)); +}); +addParseToken('Hmmss', function (input, array, config) { + var pos1 = input.length - 4; + var pos2 = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos1)); + array[MINUTE] = toInt(input.substr(pos1, 2)); + array[SECOND] = toInt(input.substr(pos2)); +}); + +// LOCALES + +export function localeIsPM (input) { + // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays + // Using charAt should be more compatible. + return ((input + '').toLowerCase().charAt(0) === 'p'); +} + +export var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i; +export function localeMeridiem (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'pm' : 'PM'; + } else { + return isLower ? 'am' : 'AM'; + } +} + + +// MOMENTS + +// Setting the hour should keep the time, because the user explicitly +// specified which hour they want. So trying to maintain the same hour (in +// a new timezone) makes sense. Adding/subtracting hours does not follow +// this rule. +export var getSetHour = makeGetSet('Hours', true); diff --git a/public/bower_components/moment/src/lib/units/millisecond.js b/public/bower_components/moment/src/lib/units/millisecond.js new file mode 100644 index 0000000..27c9512 --- /dev/null +++ b/public/bower_components/moment/src/lib/units/millisecond.js @@ -0,0 +1,69 @@ +import { makeGetSet } from '../moment/get-set'; +import { addFormatToken } from '../format/format'; +import { addUnitAlias } from './aliases'; +import { addUnitPriority } from './priorities'; +import { addRegexToken, match1, match2, match3, match1to3, matchUnsigned } from '../parse/regex'; +import { addParseToken } from '../parse/token'; +import { MILLISECOND } from './constants'; +import toInt from '../utils/to-int'; + +// FORMATTING + +addFormatToken('S', 0, 0, function () { + return ~~(this.millisecond() / 100); +}); + +addFormatToken(0, ['SS', 2], 0, function () { + return ~~(this.millisecond() / 10); +}); + +addFormatToken(0, ['SSS', 3], 0, 'millisecond'); +addFormatToken(0, ['SSSS', 4], 0, function () { + return this.millisecond() * 10; +}); +addFormatToken(0, ['SSSSS', 5], 0, function () { + return this.millisecond() * 100; +}); +addFormatToken(0, ['SSSSSS', 6], 0, function () { + return this.millisecond() * 1000; +}); +addFormatToken(0, ['SSSSSSS', 7], 0, function () { + return this.millisecond() * 10000; +}); +addFormatToken(0, ['SSSSSSSS', 8], 0, function () { + return this.millisecond() * 100000; +}); +addFormatToken(0, ['SSSSSSSSS', 9], 0, function () { + return this.millisecond() * 1000000; +}); + + +// ALIASES + +addUnitAlias('millisecond', 'ms'); + +// PRIORITY + +addUnitPriority('millisecond', 16); + +// PARSING + +addRegexToken('S', match1to3, match1); +addRegexToken('SS', match1to3, match2); +addRegexToken('SSS', match1to3, match3); + +var token; +for (token = 'SSSS'; token.length <= 9; token += 'S') { + addRegexToken(token, matchUnsigned); +} + +function parseMs(input, array) { + array[MILLISECOND] = toInt(('0.' + input) * 1000); +} + +for (token = 'S'; token.length <= 9; token += 'S') { + addParseToken(token, parseMs); +} +// MOMENTS + +export var getSetMillisecond = makeGetSet('Milliseconds', false); diff --git a/public/bower_components/moment/src/lib/units/minute.js b/public/bower_components/moment/src/lib/units/minute.js new file mode 100644 index 0000000..9f76032 --- /dev/null +++ b/public/bower_components/moment/src/lib/units/minute.js @@ -0,0 +1,29 @@ +import { makeGetSet } from '../moment/get-set'; +import { addFormatToken } from '../format/format'; +import { addUnitAlias } from './aliases'; +import { addUnitPriority } from './priorities'; +import { addRegexToken, match1to2, match2 } from '../parse/regex'; +import { addParseToken } from '../parse/token'; +import { MINUTE } from './constants'; + +// FORMATTING + +addFormatToken('m', ['mm', 2], 0, 'minute'); + +// ALIASES + +addUnitAlias('minute', 'm'); + +// PRIORITY + +addUnitPriority('minute', 14); + +// PARSING + +addRegexToken('m', match1to2); +addRegexToken('mm', match1to2, match2); +addParseToken(['m', 'mm'], MINUTE); + +// MOMENTS + +export var getSetMinute = makeGetSet('Minutes', false); diff --git a/public/bower_components/moment/src/lib/units/month.js b/public/bower_components/moment/src/lib/units/month.js new file mode 100644 index 0000000..f504ed3 --- /dev/null +++ b/public/bower_components/moment/src/lib/units/month.js @@ -0,0 +1,290 @@ +import { get } from '../moment/get-set'; +import hasOwnProp from '../utils/has-own-prop'; +import { addFormatToken } from '../format/format'; +import { addUnitAlias } from './aliases'; +import { addUnitPriority } from './priorities'; +import { addRegexToken, match1to2, match2, matchWord, regexEscape } from '../parse/regex'; +import { addParseToken } from '../parse/token'; +import { hooks } from '../utils/hooks'; +import { MONTH } from './constants'; +import toInt from '../utils/to-int'; +import isArray from '../utils/is-array'; +import isNumber from '../utils/is-number'; +import mod from '../utils/mod'; +import indexOf from '../utils/index-of'; +import { createUTC } from '../create/utc'; +import getParsingFlags from '../create/parsing-flags'; +import { isLeapYear } from '../units/year'; + +export function daysInMonth(year, month) { + if (isNaN(year) || isNaN(month)) { + return NaN; + } + var modMonth = mod(month, 12); + year += (month - modMonth) / 12; + return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2); +} + +// FORMATTING + +addFormatToken('M', ['MM', 2], 'Mo', function () { + return this.month() + 1; +}); + +addFormatToken('MMM', 0, 0, function (format) { + return this.localeData().monthsShort(this, format); +}); + +addFormatToken('MMMM', 0, 0, function (format) { + return this.localeData().months(this, format); +}); + +// ALIASES + +addUnitAlias('month', 'M'); + +// PRIORITY + +addUnitPriority('month', 8); + +// PARSING + +addRegexToken('M', match1to2); +addRegexToken('MM', match1to2, match2); +addRegexToken('MMM', function (isStrict, locale) { + return locale.monthsShortRegex(isStrict); +}); +addRegexToken('MMMM', function (isStrict, locale) { + return locale.monthsRegex(isStrict); +}); + +addParseToken(['M', 'MM'], function (input, array) { + array[MONTH] = toInt(input) - 1; +}); + +addParseToken(['MMM', 'MMMM'], function (input, array, config, token) { + var month = config._locale.monthsParse(input, token, config._strict); + // if we didn't find a month name, mark the date as invalid. + if (month != null) { + array[MONTH] = month; + } else { + getParsingFlags(config).invalidMonth = input; + } +}); + +// LOCALES + +var MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/; +export var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'); +export function localeMonths (m, format) { + if (!m) { + return isArray(this._months) ? this._months : + this._months['standalone']; + } + return isArray(this._months) ? this._months[m.month()] : + this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()]; +} + +export var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'); +export function localeMonthsShort (m, format) { + if (!m) { + return isArray(this._monthsShort) ? this._monthsShort : + this._monthsShort['standalone']; + } + return isArray(this._monthsShort) ? this._monthsShort[m.month()] : + this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()]; +} + +function handleStrictParse(monthName, format, strict) { + var i, ii, mom, llc = monthName.toLocaleLowerCase(); + if (!this._monthsParse) { + // this is not used + this._monthsParse = []; + this._longMonthsParse = []; + this._shortMonthsParse = []; + for (i = 0; i < 12; ++i) { + mom = createUTC([2000, i]); + this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase(); + this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase(); + } + } + + if (strict) { + if (format === 'MMM') { + ii = indexOf.call(this._shortMonthsParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._longMonthsParse, llc); + return ii !== -1 ? ii : null; + } + } else { + if (format === 'MMM') { + ii = indexOf.call(this._shortMonthsParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._longMonthsParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._longMonthsParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortMonthsParse, llc); + return ii !== -1 ? ii : null; + } + } +} + +export function localeMonthsParse (monthName, format, strict) { + var i, mom, regex; + + if (this._monthsParseExact) { + return handleStrictParse.call(this, monthName, format, strict); + } + + if (!this._monthsParse) { + this._monthsParse = []; + this._longMonthsParse = []; + this._shortMonthsParse = []; + } + + // TODO: add sorting + // Sorting makes sure if one month (or abbr) is a prefix of another + // see sorting in computeMonthsParse + for (i = 0; i < 12; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, i]); + if (strict && !this._longMonthsParse[i]) { + this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i'); + this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i'); + } + if (!strict && !this._monthsParse[i]) { + regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, ''); + this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i'); + } + // test the regex + if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) { + return i; + } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) { + return i; + } else if (!strict && this._monthsParse[i].test(monthName)) { + return i; + } + } +} + +// MOMENTS + +export function setMonth (mom, value) { + var dayOfMonth; + + if (!mom.isValid()) { + // No op + return mom; + } + + if (typeof value === 'string') { + if (/^\d+$/.test(value)) { + value = toInt(value); + } else { + value = mom.localeData().monthsParse(value); + // TODO: Another silent failure? + if (!isNumber(value)) { + return mom; + } + } + } + + dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value)); + mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth); + return mom; +} + +export function getSetMonth (value) { + if (value != null) { + setMonth(this, value); + hooks.updateOffset(this, true); + return this; + } else { + return get(this, 'Month'); + } +} + +export function getDaysInMonth () { + return daysInMonth(this.year(), this.month()); +} + +var defaultMonthsShortRegex = matchWord; +export function monthsShortRegex (isStrict) { + if (this._monthsParseExact) { + if (!hasOwnProp(this, '_monthsRegex')) { + computeMonthsParse.call(this); + } + if (isStrict) { + return this._monthsShortStrictRegex; + } else { + return this._monthsShortRegex; + } + } else { + if (!hasOwnProp(this, '_monthsShortRegex')) { + this._monthsShortRegex = defaultMonthsShortRegex; + } + return this._monthsShortStrictRegex && isStrict ? + this._monthsShortStrictRegex : this._monthsShortRegex; + } +} + +var defaultMonthsRegex = matchWord; +export function monthsRegex (isStrict) { + if (this._monthsParseExact) { + if (!hasOwnProp(this, '_monthsRegex')) { + computeMonthsParse.call(this); + } + if (isStrict) { + return this._monthsStrictRegex; + } else { + return this._monthsRegex; + } + } else { + if (!hasOwnProp(this, '_monthsRegex')) { + this._monthsRegex = defaultMonthsRegex; + } + return this._monthsStrictRegex && isStrict ? + this._monthsStrictRegex : this._monthsRegex; + } +} + +function computeMonthsParse () { + function cmpLenRev(a, b) { + return b.length - a.length; + } + + var shortPieces = [], longPieces = [], mixedPieces = [], + i, mom; + for (i = 0; i < 12; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, i]); + shortPieces.push(this.monthsShort(mom, '')); + longPieces.push(this.months(mom, '')); + mixedPieces.push(this.months(mom, '')); + mixedPieces.push(this.monthsShort(mom, '')); + } + // Sorting makes sure if one month (or abbr) is a prefix of another it + // will match the longer piece. + shortPieces.sort(cmpLenRev); + longPieces.sort(cmpLenRev); + mixedPieces.sort(cmpLenRev); + for (i = 0; i < 12; i++) { + shortPieces[i] = regexEscape(shortPieces[i]); + longPieces[i] = regexEscape(longPieces[i]); + } + for (i = 0; i < 24; i++) { + mixedPieces[i] = regexEscape(mixedPieces[i]); + } + + this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); + this._monthsShortRegex = this._monthsRegex; + this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i'); + this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i'); +} diff --git a/public/bower_components/moment/src/lib/units/offset.js b/public/bower_components/moment/src/lib/units/offset.js new file mode 100644 index 0000000..752358f --- /dev/null +++ b/public/bower_components/moment/src/lib/units/offset.js @@ -0,0 +1,235 @@ +import zeroFill from '../utils/zero-fill'; +import { createDuration } from '../duration/create'; +import { addSubtract } from '../moment/add-subtract'; +import { isMoment, copyConfig } from '../moment/constructor'; +import { addFormatToken } from '../format/format'; +import { addRegexToken, matchOffset, matchShortOffset } from '../parse/regex'; +import { addParseToken } from '../parse/token'; +import { createLocal } from '../create/local'; +import { prepareConfig } from '../create/from-anything'; +import { createUTC } from '../create/utc'; +import isDate from '../utils/is-date'; +import toInt from '../utils/to-int'; +import isUndefined from '../utils/is-undefined'; +import compareArrays from '../utils/compare-arrays'; +import { hooks } from '../utils/hooks'; + +// FORMATTING + +function offset (token, separator) { + addFormatToken(token, 0, 0, function () { + var offset = this.utcOffset(); + var sign = '+'; + if (offset < 0) { + offset = -offset; + sign = '-'; + } + return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2); + }); +} + +offset('Z', ':'); +offset('ZZ', ''); + +// PARSING + +addRegexToken('Z', matchShortOffset); +addRegexToken('ZZ', matchShortOffset); +addParseToken(['Z', 'ZZ'], function (input, array, config) { + config._useUTC = true; + config._tzm = offsetFromString(matchShortOffset, input); +}); + +// HELPERS + +// timezone chunker +// '+10:00' > ['10', '00'] +// '-1530' > ['-15', '30'] +var chunkOffset = /([\+\-]|\d\d)/gi; + +function offsetFromString(matcher, string) { + var matches = (string || '').match(matcher); + + if (matches === null) { + return null; + } + + var chunk = matches[matches.length - 1] || []; + var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0]; + var minutes = +(parts[1] * 60) + toInt(parts[2]); + + return minutes === 0 ? + 0 : + parts[0] === '+' ? minutes : -minutes; +} + +// Return a moment from input, that is local/utc/zone equivalent to model. +export function cloneWithOffset(input, model) { + var res, diff; + if (model._isUTC) { + res = model.clone(); + diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf(); + // Use low-level api, because this fn is low-level api. + res._d.setTime(res._d.valueOf() + diff); + hooks.updateOffset(res, false); + return res; + } else { + return createLocal(input).local(); + } +} + +function getDateOffset (m) { + // On Firefox.24 Date#getTimezoneOffset returns a floating point. + // https://github.com/moment/moment/pull/1871 + return -Math.round(m._d.getTimezoneOffset() / 15) * 15; +} + +// HOOKS + +// This function will be called whenever a moment is mutated. +// It is intended to keep the offset in sync with the timezone. +hooks.updateOffset = function () {}; + +// MOMENTS + +// keepLocalTime = true means only change the timezone, without +// affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]--> +// 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset +// +0200, so we adjust the time as needed, to be valid. +// +// Keeping the time actually adds/subtracts (one hour) +// from the actual represented time. That is why we call updateOffset +// a second time. In case it wants us to change the offset again +// _changeInProgress == true case, then we have to adjust, because +// there is no such time in the given timezone. +export function getSetOffset (input, keepLocalTime, keepMinutes) { + var offset = this._offset || 0, + localAdjust; + if (!this.isValid()) { + return input != null ? this : NaN; + } + if (input != null) { + if (typeof input === 'string') { + input = offsetFromString(matchShortOffset, input); + if (input === null) { + return this; + } + } else if (Math.abs(input) < 16 && !keepMinutes) { + input = input * 60; + } + if (!this._isUTC && keepLocalTime) { + localAdjust = getDateOffset(this); + } + this._offset = input; + this._isUTC = true; + if (localAdjust != null) { + this.add(localAdjust, 'm'); + } + if (offset !== input) { + if (!keepLocalTime || this._changeInProgress) { + addSubtract(this, createDuration(input - offset, 'm'), 1, false); + } else if (!this._changeInProgress) { + this._changeInProgress = true; + hooks.updateOffset(this, true); + this._changeInProgress = null; + } + } + return this; + } else { + return this._isUTC ? offset : getDateOffset(this); + } +} + +export function getSetZone (input, keepLocalTime) { + if (input != null) { + if (typeof input !== 'string') { + input = -input; + } + + this.utcOffset(input, keepLocalTime); + + return this; + } else { + return -this.utcOffset(); + } +} + +export function setOffsetToUTC (keepLocalTime) { + return this.utcOffset(0, keepLocalTime); +} + +export function setOffsetToLocal (keepLocalTime) { + if (this._isUTC) { + this.utcOffset(0, keepLocalTime); + this._isUTC = false; + + if (keepLocalTime) { + this.subtract(getDateOffset(this), 'm'); + } + } + return this; +} + +export function setOffsetToParsedOffset () { + if (this._tzm != null) { + this.utcOffset(this._tzm, false, true); + } else if (typeof this._i === 'string') { + var tZone = offsetFromString(matchOffset, this._i); + if (tZone != null) { + this.utcOffset(tZone); + } + else { + this.utcOffset(0, true); + } + } + return this; +} + +export function hasAlignedHourOffset (input) { + if (!this.isValid()) { + return false; + } + input = input ? createLocal(input).utcOffset() : 0; + + return (this.utcOffset() - input) % 60 === 0; +} + +export function isDaylightSavingTime () { + return ( + this.utcOffset() > this.clone().month(0).utcOffset() || + this.utcOffset() > this.clone().month(5).utcOffset() + ); +} + +export function isDaylightSavingTimeShifted () { + if (!isUndefined(this._isDSTShifted)) { + return this._isDSTShifted; + } + + var c = {}; + + copyConfig(c, this); + c = prepareConfig(c); + + if (c._a) { + var other = c._isUTC ? createUTC(c._a) : createLocal(c._a); + this._isDSTShifted = this.isValid() && + compareArrays(c._a, other.toArray()) > 0; + } else { + this._isDSTShifted = false; + } + + return this._isDSTShifted; +} + +export function isLocal () { + return this.isValid() ? !this._isUTC : false; +} + +export function isUtcOffset () { + return this.isValid() ? this._isUTC : false; +} + +export function isUtc () { + return this.isValid() ? this._isUTC && this._offset === 0 : false; +} diff --git a/public/bower_components/moment/src/lib/units/priorities.js b/public/bower_components/moment/src/lib/units/priorities.js new file mode 100644 index 0000000..699017c --- /dev/null +++ b/public/bower_components/moment/src/lib/units/priorities.js @@ -0,0 +1,16 @@ +var priorities = {}; + +export function addUnitPriority(unit, priority) { + priorities[unit] = priority; +} + +export function getPrioritizedUnits(unitsObj) { + var units = []; + for (var u in unitsObj) { + units.push({unit: u, priority: priorities[u]}); + } + units.sort(function (a, b) { + return a.priority - b.priority; + }); + return units; +} diff --git a/public/bower_components/moment/src/lib/units/quarter.js b/public/bower_components/moment/src/lib/units/quarter.js new file mode 100644 index 0000000..a6d409a --- /dev/null +++ b/public/bower_components/moment/src/lib/units/quarter.js @@ -0,0 +1,32 @@ +import { addFormatToken } from '../format/format'; +import { addUnitAlias } from './aliases'; +import { addUnitPriority } from './priorities'; +import { addRegexToken, match1 } from '../parse/regex'; +import { addParseToken } from '../parse/token'; +import { MONTH } from './constants'; +import toInt from '../utils/to-int'; + +// FORMATTING + +addFormatToken('Q', 0, 'Qo', 'quarter'); + +// ALIASES + +addUnitAlias('quarter', 'Q'); + +// PRIORITY + +addUnitPriority('quarter', 7); + +// PARSING + +addRegexToken('Q', match1); +addParseToken('Q', function (input, array) { + array[MONTH] = (toInt(input) - 1) * 3; +}); + +// MOMENTS + +export function getSetQuarter (input) { + return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3); +} diff --git a/public/bower_components/moment/src/lib/units/second.js b/public/bower_components/moment/src/lib/units/second.js new file mode 100644 index 0000000..1793711 --- /dev/null +++ b/public/bower_components/moment/src/lib/units/second.js @@ -0,0 +1,29 @@ +import { makeGetSet } from '../moment/get-set'; +import { addFormatToken } from '../format/format'; +import { addUnitAlias } from './aliases'; +import { addUnitPriority } from './priorities'; +import { addRegexToken, match1to2, match2 } from '../parse/regex'; +import { addParseToken } from '../parse/token'; +import { SECOND } from './constants'; + +// FORMATTING + +addFormatToken('s', ['ss', 2], 0, 'second'); + +// ALIASES + +addUnitAlias('second', 's'); + +// PRIORITY + +addUnitPriority('second', 15); + +// PARSING + +addRegexToken('s', match1to2); +addRegexToken('ss', match1to2, match2); +addParseToken(['s', 'ss'], SECOND); + +// MOMENTS + +export var getSetSecond = makeGetSet('Seconds', false); diff --git a/public/bower_components/moment/src/lib/units/timestamp.js b/public/bower_components/moment/src/lib/units/timestamp.js new file mode 100644 index 0000000..a49e1e4 --- /dev/null +++ b/public/bower_components/moment/src/lib/units/timestamp.js @@ -0,0 +1,20 @@ +import { addFormatToken } from '../format/format'; +import { addRegexToken, matchTimestamp, matchSigned } from '../parse/regex'; +import { addParseToken } from '../parse/token'; +import toInt from '../utils/to-int'; + +// FORMATTING + +addFormatToken('X', 0, 0, 'unix'); +addFormatToken('x', 0, 0, 'valueOf'); + +// PARSING + +addRegexToken('x', matchSigned); +addRegexToken('X', matchTimestamp); +addParseToken('X', function (input, array, config) { + config._d = new Date(parseFloat(input, 10) * 1000); +}); +addParseToken('x', function (input, array, config) { + config._d = new Date(toInt(input)); +}); diff --git a/public/bower_components/moment/src/lib/units/timezone.js b/public/bower_components/moment/src/lib/units/timezone.js new file mode 100644 index 0000000..20c81cd --- /dev/null +++ b/public/bower_components/moment/src/lib/units/timezone.js @@ -0,0 +1,16 @@ +import { addFormatToken } from '../format/format'; + +// FORMATTING + +addFormatToken('z', 0, 0, 'zoneAbbr'); +addFormatToken('zz', 0, 0, 'zoneName'); + +// MOMENTS + +export function getZoneAbbr () { + return this._isUTC ? 'UTC' : ''; +} + +export function getZoneName () { + return this._isUTC ? 'Coordinated Universal Time' : ''; +} diff --git a/public/bower_components/moment/src/lib/units/units.js b/public/bower_components/moment/src/lib/units/units.js new file mode 100644 index 0000000..6f45f1c --- /dev/null +++ b/public/bower_components/moment/src/lib/units/units.js @@ -0,0 +1,20 @@ +// Side effect imports +import './day-of-month'; +import './day-of-week'; +import './day-of-year'; +import './hour'; +import './millisecond'; +import './minute'; +import './month'; +import './offset'; +import './quarter'; +import './second'; +import './timestamp'; +import './timezone'; +import './week-year'; +import './week'; +import './year'; + +import { normalizeUnits } from './aliases'; + +export { normalizeUnits }; diff --git a/public/bower_components/moment/src/lib/units/week-calendar-utils.js b/public/bower_components/moment/src/lib/units/week-calendar-utils.js new file mode 100644 index 0000000..5be8a5f --- /dev/null +++ b/public/bower_components/moment/src/lib/units/week-calendar-utils.js @@ -0,0 +1,65 @@ +import { daysInYear } from './year'; +import { createLocal } from '../create/local'; +import { createUTCDate } from '../create/date-from-array'; + +// start-of-first-week - start-of-year +function firstWeekOffset(year, dow, doy) { + var // first-week day -- which january is always in the first week (4 for iso, 1 for other) + fwd = 7 + dow - doy, + // first-week day local weekday -- which local weekday is fwd + fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7; + + return -fwdlw + fwd - 1; +} + +// https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday +export function dayOfYearFromWeeks(year, week, weekday, dow, doy) { + var localWeekday = (7 + weekday - dow) % 7, + weekOffset = firstWeekOffset(year, dow, doy), + dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset, + resYear, resDayOfYear; + + if (dayOfYear <= 0) { + resYear = year - 1; + resDayOfYear = daysInYear(resYear) + dayOfYear; + } else if (dayOfYear > daysInYear(year)) { + resYear = year + 1; + resDayOfYear = dayOfYear - daysInYear(year); + } else { + resYear = year; + resDayOfYear = dayOfYear; + } + + return { + year: resYear, + dayOfYear: resDayOfYear + }; +} + +export function weekOfYear(mom, dow, doy) { + var weekOffset = firstWeekOffset(mom.year(), dow, doy), + week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1, + resWeek, resYear; + + if (week < 1) { + resYear = mom.year() - 1; + resWeek = week + weeksInYear(resYear, dow, doy); + } else if (week > weeksInYear(mom.year(), dow, doy)) { + resWeek = week - weeksInYear(mom.year(), dow, doy); + resYear = mom.year() + 1; + } else { + resYear = mom.year(); + resWeek = week; + } + + return { + week: resWeek, + year: resYear + }; +} + +export function weeksInYear(year, dow, doy) { + var weekOffset = firstWeekOffset(year, dow, doy), + weekOffsetNext = firstWeekOffset(year + 1, dow, doy); + return (daysInYear(year) - weekOffset + weekOffsetNext) / 7; +} diff --git a/public/bower_components/moment/src/lib/units/week-year.js b/public/bower_components/moment/src/lib/units/week-year.js new file mode 100644 index 0000000..7fa5425 --- /dev/null +++ b/public/bower_components/moment/src/lib/units/week-year.js @@ -0,0 +1,107 @@ +import { addFormatToken } from '../format/format'; +import { addUnitAlias } from './aliases'; +import { addUnitPriority } from './priorities'; +import { addRegexToken, match1to2, match1to4, match1to6, match2, match4, match6, matchSigned } from '../parse/regex'; +import { addWeekParseToken } from '../parse/token'; +import { weekOfYear, weeksInYear, dayOfYearFromWeeks } from './week-calendar-utils'; +import toInt from '../utils/to-int'; +import { hooks } from '../utils/hooks'; +import { createLocal } from '../create/local'; +import { createUTCDate } from '../create/date-from-array'; + +// FORMATTING + +addFormatToken(0, ['gg', 2], 0, function () { + return this.weekYear() % 100; +}); + +addFormatToken(0, ['GG', 2], 0, function () { + return this.isoWeekYear() % 100; +}); + +function addWeekYearFormatToken (token, getter) { + addFormatToken(0, [token, token.length], 0, getter); +} + +addWeekYearFormatToken('gggg', 'weekYear'); +addWeekYearFormatToken('ggggg', 'weekYear'); +addWeekYearFormatToken('GGGG', 'isoWeekYear'); +addWeekYearFormatToken('GGGGG', 'isoWeekYear'); + +// ALIASES + +addUnitAlias('weekYear', 'gg'); +addUnitAlias('isoWeekYear', 'GG'); + +// PRIORITY + +addUnitPriority('weekYear', 1); +addUnitPriority('isoWeekYear', 1); + + +// PARSING + +addRegexToken('G', matchSigned); +addRegexToken('g', matchSigned); +addRegexToken('GG', match1to2, match2); +addRegexToken('gg', match1to2, match2); +addRegexToken('GGGG', match1to4, match4); +addRegexToken('gggg', match1to4, match4); +addRegexToken('GGGGG', match1to6, match6); +addRegexToken('ggggg', match1to6, match6); + +addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) { + week[token.substr(0, 2)] = toInt(input); +}); + +addWeekParseToken(['gg', 'GG'], function (input, week, config, token) { + week[token] = hooks.parseTwoDigitYear(input); +}); + +// MOMENTS + +export function getSetWeekYear (input) { + return getSetWeekYearHelper.call(this, + input, + this.week(), + this.weekday(), + this.localeData()._week.dow, + this.localeData()._week.doy); +} + +export function getSetISOWeekYear (input) { + return getSetWeekYearHelper.call(this, + input, this.isoWeek(), this.isoWeekday(), 1, 4); +} + +export function getISOWeeksInYear () { + return weeksInYear(this.year(), 1, 4); +} + +export function getWeeksInYear () { + var weekInfo = this.localeData()._week; + return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); +} + +function getSetWeekYearHelper(input, week, weekday, dow, doy) { + var weeksTarget; + if (input == null) { + return weekOfYear(this, dow, doy).year; + } else { + weeksTarget = weeksInYear(input, dow, doy); + if (week > weeksTarget) { + week = weeksTarget; + } + return setWeekAll.call(this, input, week, weekday, dow, doy); + } +} + +function setWeekAll(weekYear, week, weekday, dow, doy) { + var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy), + date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear); + + this.year(date.getUTCFullYear()); + this.month(date.getUTCMonth()); + this.date(date.getUTCDate()); + return this; +} diff --git a/public/bower_components/moment/src/lib/units/week.js b/public/bower_components/moment/src/lib/units/week.js new file mode 100644 index 0000000..fbb669e --- /dev/null +++ b/public/bower_components/moment/src/lib/units/week.js @@ -0,0 +1,67 @@ +import { addFormatToken } from '../format/format'; +import { addUnitAlias } from './aliases'; +import { addUnitPriority } from './priorities'; +import { addRegexToken, match1to2, match2 } from '../parse/regex'; +import { addWeekParseToken } from '../parse/token'; +import toInt from '../utils/to-int'; +import { createLocal } from '../create/local'; +import { weekOfYear } from './week-calendar-utils'; + +// FORMATTING + +addFormatToken('w', ['ww', 2], 'wo', 'week'); +addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek'); + +// ALIASES + +addUnitAlias('week', 'w'); +addUnitAlias('isoWeek', 'W'); + +// PRIORITIES + +addUnitPriority('week', 5); +addUnitPriority('isoWeek', 5); + +// PARSING + +addRegexToken('w', match1to2); +addRegexToken('ww', match1to2, match2); +addRegexToken('W', match1to2); +addRegexToken('WW', match1to2, match2); + +addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) { + week[token.substr(0, 1)] = toInt(input); +}); + +// HELPERS + +// LOCALES + +export function localeWeek (mom) { + return weekOfYear(mom, this._week.dow, this._week.doy).week; +} + +export var defaultLocaleWeek = { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. +}; + +export function localeFirstDayOfWeek () { + return this._week.dow; +} + +export function localeFirstDayOfYear () { + return this._week.doy; +} + +// MOMENTS + +export function getSetWeek (input) { + var week = this.localeData().week(this); + return input == null ? week : this.add((input - week) * 7, 'd'); +} + +export function getSetISOWeek (input) { + var week = weekOfYear(this, 1, 4).week; + return input == null ? week : this.add((input - week) * 7, 'd'); +} diff --git a/public/bower_components/moment/src/lib/units/year.js b/public/bower_components/moment/src/lib/units/year.js new file mode 100644 index 0000000..8f3f94c --- /dev/null +++ b/public/bower_components/moment/src/lib/units/year.js @@ -0,0 +1,75 @@ +import { makeGetSet } from '../moment/get-set'; +import { addFormatToken } from '../format/format'; +import { addUnitAlias } from './aliases'; +import { addUnitPriority } from './priorities'; +import { addRegexToken, match1to2, match1to4, match1to6, match2, match4, match6, matchSigned } from '../parse/regex'; +import { addParseToken } from '../parse/token'; +import { hooks } from '../utils/hooks'; +import { YEAR } from './constants'; +import toInt from '../utils/to-int'; + +// FORMATTING + +addFormatToken('Y', 0, 0, function () { + var y = this.year(); + return y <= 9999 ? '' + y : '+' + y; +}); + +addFormatToken(0, ['YY', 2], 0, function () { + return this.year() % 100; +}); + +addFormatToken(0, ['YYYY', 4], 0, 'year'); +addFormatToken(0, ['YYYYY', 5], 0, 'year'); +addFormatToken(0, ['YYYYYY', 6, true], 0, 'year'); + +// ALIASES + +addUnitAlias('year', 'y'); + +// PRIORITIES + +addUnitPriority('year', 1); + +// PARSING + +addRegexToken('Y', matchSigned); +addRegexToken('YY', match1to2, match2); +addRegexToken('YYYY', match1to4, match4); +addRegexToken('YYYYY', match1to6, match6); +addRegexToken('YYYYYY', match1to6, match6); + +addParseToken(['YYYYY', 'YYYYYY'], YEAR); +addParseToken('YYYY', function (input, array) { + array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input); +}); +addParseToken('YY', function (input, array) { + array[YEAR] = hooks.parseTwoDigitYear(input); +}); +addParseToken('Y', function (input, array) { + array[YEAR] = parseInt(input, 10); +}); + +// HELPERS + +export function daysInYear(year) { + return isLeapYear(year) ? 366 : 365; +} + +export function isLeapYear(year) { + return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; +} + +// HOOKS + +hooks.parseTwoDigitYear = function (input) { + return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); +}; + +// MOMENTS + +export var getSetYear = makeGetSet('FullYear', true); + +export function getIsLeapYear () { + return isLeapYear(this.year()); +} diff --git a/public/bower_components/moment/src/lib/utils/abs-ceil.js b/public/bower_components/moment/src/lib/utils/abs-ceil.js new file mode 100644 index 0000000..7cf9329 --- /dev/null +++ b/public/bower_components/moment/src/lib/utils/abs-ceil.js @@ -0,0 +1,7 @@ +export default function absCeil (number) { + if (number < 0) { + return Math.floor(number); + } else { + return Math.ceil(number); + } +} diff --git a/public/bower_components/moment/src/lib/utils/abs-floor.js b/public/bower_components/moment/src/lib/utils/abs-floor.js new file mode 100644 index 0000000..401c7f0 --- /dev/null +++ b/public/bower_components/moment/src/lib/utils/abs-floor.js @@ -0,0 +1,8 @@ +export default function absFloor (number) { + if (number < 0) { + // -0 -> 0 + return Math.ceil(number) || 0; + } else { + return Math.floor(number); + } +} diff --git a/public/bower_components/moment/src/lib/utils/abs-round.js b/public/bower_components/moment/src/lib/utils/abs-round.js new file mode 100644 index 0000000..98f54bc --- /dev/null +++ b/public/bower_components/moment/src/lib/utils/abs-round.js @@ -0,0 +1,7 @@ +export default function absRound (number) { + if (number < 0) { + return Math.round(-1 * number) * -1; + } else { + return Math.round(number); + } +} diff --git a/public/bower_components/moment/src/lib/utils/compare-arrays.js b/public/bower_components/moment/src/lib/utils/compare-arrays.js new file mode 100644 index 0000000..2eb274b --- /dev/null +++ b/public/bower_components/moment/src/lib/utils/compare-arrays.js @@ -0,0 +1,16 @@ +import toInt from './to-int'; + +// compare two arrays, return the number of differences +export default function compareArrays(array1, array2, dontConvert) { + var len = Math.min(array1.length, array2.length), + lengthDiff = Math.abs(array1.length - array2.length), + diffs = 0, + i; + for (i = 0; i < len; i++) { + if ((dontConvert && array1[i] !== array2[i]) || + (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) { + diffs++; + } + } + return diffs + lengthDiff; +} diff --git a/public/bower_components/moment/src/lib/utils/defaults.js b/public/bower_components/moment/src/lib/utils/defaults.js new file mode 100644 index 0000000..45c5e87 --- /dev/null +++ b/public/bower_components/moment/src/lib/utils/defaults.js @@ -0,0 +1,10 @@ +// Pick the first defined of two or three arguments. +export default function defaults(a, b, c) { + if (a != null) { + return a; + } + if (b != null) { + return b; + } + return c; +} diff --git a/public/bower_components/moment/src/lib/utils/deprecate.js b/public/bower_components/moment/src/lib/utils/deprecate.js new file mode 100644 index 0000000..8b4c87a --- /dev/null +++ b/public/bower_components/moment/src/lib/utils/deprecate.js @@ -0,0 +1,55 @@ +import extend from './extend'; +import { hooks } from './hooks'; +import isUndefined from './is-undefined'; + +function warn(msg) { + if (hooks.suppressDeprecationWarnings === false && + (typeof console !== 'undefined') && console.warn) { + console.warn('Deprecation warning: ' + msg); + } +} + +export function deprecate(msg, fn) { + var firstTime = true; + + return extend(function () { + if (hooks.deprecationHandler != null) { + hooks.deprecationHandler(null, msg); + } + if (firstTime) { + var args = []; + var arg; + for (var i = 0; i < arguments.length; i++) { + arg = ''; + if (typeof arguments[i] === 'object') { + arg += '\n[' + i + '] '; + for (var key in arguments[0]) { + arg += key + ': ' + arguments[0][key] + ', '; + } + arg = arg.slice(0, -2); // Remove trailing comma and space + } else { + arg = arguments[i]; + } + args.push(arg); + } + warn(msg + '\nArguments: ' + Array.prototype.slice.call(args).join('') + '\n' + (new Error()).stack); + firstTime = false; + } + return fn.apply(this, arguments); + }, fn); +} + +var deprecations = {}; + +export function deprecateSimple(name, msg) { + if (hooks.deprecationHandler != null) { + hooks.deprecationHandler(name, msg); + } + if (!deprecations[name]) { + warn(msg); + deprecations[name] = true; + } +} + +hooks.suppressDeprecationWarnings = false; +hooks.deprecationHandler = null; diff --git a/public/bower_components/moment/src/lib/utils/extend.js b/public/bower_components/moment/src/lib/utils/extend.js new file mode 100644 index 0000000..ba74a0b --- /dev/null +++ b/public/bower_components/moment/src/lib/utils/extend.js @@ -0,0 +1,19 @@ +import hasOwnProp from './has-own-prop'; + +export default function extend(a, b) { + for (var i in b) { + if (hasOwnProp(b, i)) { + a[i] = b[i]; + } + } + + if (hasOwnProp(b, 'toString')) { + a.toString = b.toString; + } + + if (hasOwnProp(b, 'valueOf')) { + a.valueOf = b.valueOf; + } + + return a; +} diff --git a/public/bower_components/moment/src/lib/utils/has-own-prop.js b/public/bower_components/moment/src/lib/utils/has-own-prop.js new file mode 100644 index 0000000..4d2403c --- /dev/null +++ b/public/bower_components/moment/src/lib/utils/has-own-prop.js @@ -0,0 +1,3 @@ +export default function hasOwnProp(a, b) { + return Object.prototype.hasOwnProperty.call(a, b); +} diff --git a/public/bower_components/moment/src/lib/utils/hooks.js b/public/bower_components/moment/src/lib/utils/hooks.js new file mode 100644 index 0000000..02a5bd3 --- /dev/null +++ b/public/bower_components/moment/src/lib/utils/hooks.js @@ -0,0 +1,13 @@ +export { hooks, setHookCallback }; + +var hookCallback; + +function hooks () { + return hookCallback.apply(null, arguments); +} + +// This is done to register the method called with moment() +// without creating circular dependencies. +function setHookCallback (callback) { + hookCallback = callback; +} diff --git a/public/bower_components/moment/src/lib/utils/index-of.js b/public/bower_components/moment/src/lib/utils/index-of.js new file mode 100644 index 0000000..92298cf --- /dev/null +++ b/public/bower_components/moment/src/lib/utils/index-of.js @@ -0,0 +1,18 @@ +var indexOf; + +if (Array.prototype.indexOf) { + indexOf = Array.prototype.indexOf; +} else { + indexOf = function (o) { + // I know + var i; + for (i = 0; i < this.length; ++i) { + if (this[i] === o) { + return i; + } + } + return -1; + }; +} + +export { indexOf as default }; diff --git a/public/bower_components/moment/src/lib/utils/is-array.js b/public/bower_components/moment/src/lib/utils/is-array.js new file mode 100644 index 0000000..2d0e0f3 --- /dev/null +++ b/public/bower_components/moment/src/lib/utils/is-array.js @@ -0,0 +1,3 @@ +export default function isArray(input) { + return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]'; +} diff --git a/public/bower_components/moment/src/lib/utils/is-date.js b/public/bower_components/moment/src/lib/utils/is-date.js new file mode 100644 index 0000000..69c4d0e --- /dev/null +++ b/public/bower_components/moment/src/lib/utils/is-date.js @@ -0,0 +1,3 @@ +export default function isDate(input) { + return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]'; +} diff --git a/public/bower_components/moment/src/lib/utils/is-function.js b/public/bower_components/moment/src/lib/utils/is-function.js new file mode 100644 index 0000000..12304b1 --- /dev/null +++ b/public/bower_components/moment/src/lib/utils/is-function.js @@ -0,0 +1,3 @@ +export default function isFunction(input) { + return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]'; +} diff --git a/public/bower_components/moment/src/lib/utils/is-number.js b/public/bower_components/moment/src/lib/utils/is-number.js new file mode 100644 index 0000000..74d6137 --- /dev/null +++ b/public/bower_components/moment/src/lib/utils/is-number.js @@ -0,0 +1,3 @@ +export default function isNumber(input) { + return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]'; +} diff --git a/public/bower_components/moment/src/lib/utils/is-object-empty.js b/public/bower_components/moment/src/lib/utils/is-object-empty.js new file mode 100644 index 0000000..695c3d2 --- /dev/null +++ b/public/bower_components/moment/src/lib/utils/is-object-empty.js @@ -0,0 +1,13 @@ +export default function isObjectEmpty(obj) { + if (Object.getOwnPropertyNames) { + return (Object.getOwnPropertyNames(obj).length === 0); + } else { + var k; + for (k in obj) { + if (obj.hasOwnProperty(k)) { + return false; + } + } + return true; + } +} diff --git a/public/bower_components/moment/src/lib/utils/is-object.js b/public/bower_components/moment/src/lib/utils/is-object.js new file mode 100644 index 0000000..1113538 --- /dev/null +++ b/public/bower_components/moment/src/lib/utils/is-object.js @@ -0,0 +1,5 @@ +export default function isObject(input) { + // IE8 will treat undefined and null as object if it wasn't for + // input != null + return input != null && Object.prototype.toString.call(input) === '[object Object]'; +} diff --git a/public/bower_components/moment/src/lib/utils/is-undefined.js b/public/bower_components/moment/src/lib/utils/is-undefined.js new file mode 100644 index 0000000..de57a8b --- /dev/null +++ b/public/bower_components/moment/src/lib/utils/is-undefined.js @@ -0,0 +1,3 @@ +export default function isUndefined(input) { + return input === void 0; +} diff --git a/public/bower_components/moment/src/lib/utils/keys.js b/public/bower_components/moment/src/lib/utils/keys.js new file mode 100644 index 0000000..2da4e32 --- /dev/null +++ b/public/bower_components/moment/src/lib/utils/keys.js @@ -0,0 +1,19 @@ +import hasOwnProp from './has-own-prop'; + +var keys; + +if (Object.keys) { + keys = Object.keys; +} else { + keys = function (obj) { + var i, res = []; + for (i in obj) { + if (hasOwnProp(obj, i)) { + res.push(i); + } + } + return res; + }; +} + +export { keys as default }; diff --git a/public/bower_components/moment/src/lib/utils/map.js b/public/bower_components/moment/src/lib/utils/map.js new file mode 100644 index 0000000..1cbc563 --- /dev/null +++ b/public/bower_components/moment/src/lib/utils/map.js @@ -0,0 +1,7 @@ +export default function map(arr, fn) { + var res = [], i; + for (i = 0; i < arr.length; ++i) { + res.push(fn(arr[i], i)); + } + return res; +} diff --git a/public/bower_components/moment/src/lib/utils/mod.js b/public/bower_components/moment/src/lib/utils/mod.js new file mode 100644 index 0000000..8046cda --- /dev/null +++ b/public/bower_components/moment/src/lib/utils/mod.js @@ -0,0 +1,3 @@ +export default function mod(n, x) { + return ((n % x) + x) % x; +} diff --git a/public/bower_components/moment/src/lib/utils/some.js b/public/bower_components/moment/src/lib/utils/some.js new file mode 100644 index 0000000..1bd3186 --- /dev/null +++ b/public/bower_components/moment/src/lib/utils/some.js @@ -0,0 +1,19 @@ +var some; +if (Array.prototype.some) { + some = Array.prototype.some; +} else { + some = function (fun) { + var t = Object(this); + var len = t.length >>> 0; + + for (var i = 0; i < len; i++) { + if (i in t && fun.call(this, t[i], i, t)) { + return true; + } + } + + return false; + }; +} + +export { some as default }; diff --git a/public/bower_components/moment/src/lib/utils/to-int.js b/public/bower_components/moment/src/lib/utils/to-int.js new file mode 100644 index 0000000..fb48941 --- /dev/null +++ b/public/bower_components/moment/src/lib/utils/to-int.js @@ -0,0 +1,12 @@ +import absFloor from './abs-floor'; + +export default function toInt(argumentForCoercion) { + var coercedNumber = +argumentForCoercion, + value = 0; + + if (coercedNumber !== 0 && isFinite(coercedNumber)) { + value = absFloor(coercedNumber); + } + + return value; +} diff --git a/public/bower_components/moment/src/lib/utils/zero-fill.js b/public/bower_components/moment/src/lib/utils/zero-fill.js new file mode 100644 index 0000000..7009ec9 --- /dev/null +++ b/public/bower_components/moment/src/lib/utils/zero-fill.js @@ -0,0 +1,7 @@ +export default function zeroFill(number, targetLength, forceSign) { + var absNumber = '' + Math.abs(number), + zerosToFill = targetLength - absNumber.length, + sign = number >= 0; + return (sign ? (forceSign ? '+' : '') : '-') + + Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber; +} diff --git a/public/bower_components/moment/src/locale/af.js b/public/bower_components/moment/src/locale/af.js new file mode 100644 index 0000000..7af0324 --- /dev/null +++ b/public/bower_components/moment/src/locale/af.js @@ -0,0 +1,64 @@ +//! moment.js locale configuration +//! locale : Afrikaans [af] +//! author : Werner Mollentze : https://github.com/wernerm + +import moment from '../moment'; + +export default moment.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 (input) { + return /^nm$/i.test(input); + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 12) { + return isLower ? 'vm' : 'VM'; + } else { + return isLower ? '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 (number) { + return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter + }, + week : { + dow : 1, // Maandag is die eerste dag van die week. + doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar. + } +}); diff --git a/public/bower_components/moment/src/locale/ar-dz.js b/public/bower_components/moment/src/locale/ar-dz.js new file mode 100644 index 0000000..b485b5a --- /dev/null +++ b/public/bower_components/moment/src/locale/ar-dz.js @@ -0,0 +1,51 @@ +//! moment.js locale configuration +//! locale : Arabic (Algeria) [ar-dz] +//! author : Noureddine LOUAHEDJ : https://github.com/noureddineme + +import moment from '../moment'; + +export default moment.defineLocale('ar-dz', { + months : 'جانÙÙŠ_ÙÙŠÙØ±ÙŠ_مارس_Ø£ÙØ±ÙŠÙ„_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), + monthsShort : 'جانÙÙŠ_ÙÙŠÙØ±ÙŠ_مارس_Ø£ÙØ±ÙŠÙ„_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), + weekdays : 'Ø§Ù„Ø£ØØ¯_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort : 'Ø§ØØ¯_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin : 'Ø£Ø_إث_ثلا_أر_خم_جم_سب'.split('_'), + weekdaysParseExact : true, + 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 سنوات' + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/ar-kw.js b/public/bower_components/moment/src/locale/ar-kw.js new file mode 100644 index 0000000..90df0ed --- /dev/null +++ b/public/bower_components/moment/src/locale/ar-kw.js @@ -0,0 +1,50 @@ +//! moment.js locale configuration +//! locale : Arabic (Kuwait) [ar-kw] +//! author : Nusret Parlak: https://github.com/nusretparlak + +import moment from '../moment'; + +export default moment.defineLocale('ar-kw', { + months : 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), + monthsShort : 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), + weekdays : 'Ø§Ù„Ø£ØØ¯_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort : 'Ø§ØØ¯_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin : 'Ø_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), + weekdaysParseExact : true, + 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 سنوات' + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/ar-ly.js b/public/bower_components/moment/src/locale/ar-ly.js new file mode 100644 index 0000000..77fe8d8 --- /dev/null +++ b/public/bower_components/moment/src/locale/ar-ly.js @@ -0,0 +1,113 @@ +//! moment.js locale configuration +//! locale : Arabic (Lybia) [ar-ly] +//! author : Ali Hmer: https://github.com/kikoanis + +import moment from '../moment'; + +var symbolMap = { + '1': '1', + '2': '2', + '3': '3', + '4': '4', + '5': '5', + '6': '6', + '7': '7', + '8': '8', + '9': '9', + '0': '0' +}, pluralForm = function (n) { + return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5; +}, plurals = { + s : ['أقل من ثانية', 'ثانية ÙˆØ§ØØ¯Ø©', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'], + m : ['أقل من دقيقة', 'دقيقة ÙˆØ§ØØ¯Ø©', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'], + h : ['أقل من ساعة', 'ساعة ÙˆØ§ØØ¯Ø©', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'], + d : ['أقل من يوم', 'يوم ÙˆØ§ØØ¯', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'], + M : ['أقل من شهر', 'شهر ÙˆØ§ØØ¯', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'], + y : ['أقل من عام', 'عام ÙˆØ§ØØ¯', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام'] +}, pluralize = function (u) { + return function (number, withoutSuffix, string, isFuture) { + var f = pluralForm(number), + str = plurals[u][pluralForm(number)]; + if (f === 2) { + str = str[withoutSuffix ? 0 : 1]; + } + return str.replace(/%d/i, number); + }; +}, months = [ + 'يناير', + 'ÙØ¨Ø±Ø§ÙŠØ±', + 'مارس', + 'أبريل', + 'مايو', + 'يونيو', + 'يوليو', + 'أغسطس', + 'سبتمبر', + 'أكتوبر', + 'نوÙمبر', + 'ديسمبر' +]; + +export default moment.defineLocale('ar-ly', { + months : months, + monthsShort : months, + weekdays : 'Ø§Ù„Ø£ØØ¯_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort : 'Ø£ØØ¯_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin : 'Ø_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'D/\u200FM/\u200FYYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY HH:mm', + LLLL : 'dddd D MMMM YYYY HH:mm' + }, + meridiemParse: /ص|Ù…/, + isPM : function (input) { + return 'Ù…' === input; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'ص'; + } else { + return 'Ù…'; + } + }, + calendar : { + sameDay: '[اليوم عند الساعة] LT', + nextDay: '[غدًا عند الساعة] LT', + nextWeek: 'dddd [عند الساعة] LT', + lastDay: '[أمس عند الساعة] LT', + lastWeek: 'dddd [عند الساعة] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'بعد %s', + past : 'منذ %s', + s : pluralize('s'), + ss : pluralize('s'), + m : pluralize('m'), + mm : pluralize('m'), + h : pluralize('h'), + hh : pluralize('h'), + d : pluralize('d'), + dd : pluralize('d'), + M : pluralize('M'), + MM : pluralize('M'), + y : pluralize('y'), + yy : pluralize('y') + }, + preparse: function (string) { + return string.replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }).replace(/,/g, 'ØŒ'); + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/ar-ma.js b/public/bower_components/moment/src/locale/ar-ma.js new file mode 100644 index 0000000..fa99b07 --- /dev/null +++ b/public/bower_components/moment/src/locale/ar-ma.js @@ -0,0 +1,52 @@ +//! moment.js locale configuration +//! locale : Arabic (Morocco) [ar-ma] +//! author : ElFadili Yassine : https://github.com/ElFadiliY +//! author : Abdel Said : https://github.com/abdelsaid + +import moment from '../moment'; + +export default moment.defineLocale('ar-ma', { + months : 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), + monthsShort : 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), + weekdays : 'Ø§Ù„Ø£ØØ¯_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort : 'Ø§ØØ¯_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin : 'Ø_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), + weekdaysParseExact : true, + 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 سنوات' + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/ar-sa.js b/public/bower_components/moment/src/locale/ar-sa.js new file mode 100644 index 0000000..129c367 --- /dev/null +++ b/public/bower_components/moment/src/locale/ar-sa.js @@ -0,0 +1,96 @@ +//! moment.js locale configuration +//! locale : Arabic (Saudi Arabia) [ar-sa] +//! author : Suhail Alkowaileet : https://github.com/xsoh + +import moment from '../moment'; + +var symbolMap = { + '1': 'Ù¡', + '2': 'Ù¢', + '3': 'Ù£', + '4': 'Ù¤', + '5': 'Ù¥', + '6': 'Ù¦', + '7': 'Ù§', + '8': 'Ù¨', + '9': 'Ù©', + '0': 'Ù ' +}, numberMap = { + 'Ù¡': '1', + 'Ù¢': '2', + 'Ù£': '3', + 'Ù¤': '4', + 'Ù¥': '5', + 'Ù¦': '6', + 'Ù§': '7', + 'Ù¨': '8', + 'Ù©': '9', + 'Ù ': '0' +}; + +export default moment.defineLocale('ar-sa', { + months : 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), + monthsShort : 'يناير_ÙØ¨Ø±Ø§ÙŠØ±_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), + weekdays : 'Ø§Ù„Ø£ØØ¯_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort : 'Ø£ØØ¯_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin : 'Ø_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), + weekdaysParseExact : true, + 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 (input) { + return 'Ù…' === input; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'ص'; + } else { + return 'Ù…'; + } + }, + 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 (string) { + return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { + return numberMap[match]; + }).replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }).replace(/,/g, 'ØŒ'); + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/ar-tn.js b/public/bower_components/moment/src/locale/ar-tn.js new file mode 100644 index 0000000..952f3bf --- /dev/null +++ b/public/bower_components/moment/src/locale/ar-tn.js @@ -0,0 +1,51 @@ +//! moment.js locale configuration +//! locale : Arabic (Tunisia) [ar-tn] +//! author : Nader Toukabri : https://github.com/naderio + +import moment from '../moment'; + +export default moment.defineLocale('ar-tn', { + months: 'جانÙÙŠ_ÙÙŠÙØ±ÙŠ_مارس_Ø£ÙØ±ÙŠÙ„_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), + monthsShort: 'جانÙÙŠ_ÙÙŠÙØ±ÙŠ_مارس_Ø£ÙØ±ÙŠÙ„_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split('_'), + weekdays: 'Ø§Ù„Ø£ØØ¯_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort: 'Ø£ØØ¯_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin: 'Ø_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), + weekdaysParseExact : true, + 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 سنوات' + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/ar.js b/public/bower_components/moment/src/locale/ar.js new file mode 100644 index 0000000..bbae8d5 --- /dev/null +++ b/public/bower_components/moment/src/locale/ar.js @@ -0,0 +1,128 @@ +//! moment.js locale configuration +//! locale : Arabic [ar] +//! author : Abdel Said: https://github.com/abdelsaid +//! author : Ahmed Elkhatib +//! author : forabi https://github.com/forabi + +import moment from '../moment'; + +var symbolMap = { + '1': 'Ù¡', + '2': 'Ù¢', + '3': 'Ù£', + '4': 'Ù¤', + '5': 'Ù¥', + '6': 'Ù¦', + '7': 'Ù§', + '8': 'Ù¨', + '9': 'Ù©', + '0': 'Ù ' +}, numberMap = { + 'Ù¡': '1', + 'Ù¢': '2', + 'Ù£': '3', + 'Ù¤': '4', + 'Ù¥': '5', + 'Ù¦': '6', + 'Ù§': '7', + 'Ù¨': '8', + 'Ù©': '9', + 'Ù ': '0' +}, pluralForm = function (n) { + return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5; +}, plurals = { + s : ['أقل من ثانية', 'ثانية ÙˆØ§ØØ¯Ø©', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'], + m : ['أقل من دقيقة', 'دقيقة ÙˆØ§ØØ¯Ø©', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'], + h : ['أقل من ساعة', 'ساعة ÙˆØ§ØØ¯Ø©', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'], + d : ['أقل من يوم', 'يوم ÙˆØ§ØØ¯', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'], + M : ['أقل من شهر', 'شهر ÙˆØ§ØØ¯', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'], + y : ['أقل من عام', 'عام ÙˆØ§ØØ¯', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام'] +}, pluralize = function (u) { + return function (number, withoutSuffix, string, isFuture) { + var f = pluralForm(number), + str = plurals[u][pluralForm(number)]; + if (f === 2) { + str = str[withoutSuffix ? 0 : 1]; + } + return str.replace(/%d/i, number); + }; +}, months = [ + 'يناير', + 'ÙØ¨Ø±Ø§ÙŠØ±', + 'مارس', + 'أبريل', + 'مايو', + 'يونيو', + 'يوليو', + 'أغسطس', + 'سبتمبر', + 'أكتوبر', + 'نوÙمبر', + 'ديسمبر' +]; + +export default moment.defineLocale('ar', { + months : months, + monthsShort : months, + weekdays : 'Ø§Ù„Ø£ØØ¯_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort : 'Ø£ØØ¯_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin : 'Ø_Ù†_Ø«_ر_Ø®_ج_س'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'D/\u200FM/\u200FYYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY HH:mm', + LLLL : 'dddd D MMMM YYYY HH:mm' + }, + meridiemParse: /ص|Ù…/, + isPM : function (input) { + return 'Ù…' === input; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'ص'; + } else { + return 'Ù…'; + } + }, + calendar : { + sameDay: '[اليوم عند الساعة] LT', + nextDay: '[غدًا عند الساعة] LT', + nextWeek: 'dddd [عند الساعة] LT', + lastDay: '[أمس عند الساعة] LT', + lastWeek: 'dddd [عند الساعة] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'بعد %s', + past : 'منذ %s', + s : pluralize('s'), + ss : pluralize('s'), + m : pluralize('m'), + mm : pluralize('m'), + h : pluralize('h'), + hh : pluralize('h'), + d : pluralize('d'), + dd : pluralize('d'), + M : pluralize('M'), + MM : pluralize('M'), + y : pluralize('y'), + yy : pluralize('y') + }, + preparse: function (string) { + return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { + return numberMap[match]; + }).replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }).replace(/,/g, 'ØŒ'); + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/az.js b/public/bower_components/moment/src/locale/az.js new file mode 100644 index 0000000..09acef7 --- /dev/null +++ b/public/bower_components/moment/src/locale/az.js @@ -0,0 +1,97 @@ +//! moment.js locale configuration +//! locale : Azerbaijani [az] +//! author : topchiyev : https://github.com/topchiyev + +import moment from '../moment'; + +var suffixes = { + 1: '-inci', + 5: '-inci', + 8: '-inci', + 70: '-inci', + 80: '-inci', + 2: '-nci', + 7: '-nci', + 20: '-nci', + 50: '-nci', + 3: '-üncü', + 4: '-üncü', + 100: '-üncü', + 6: '-ncı', + 9: '-uncu', + 10: '-uncu', + 30: '-uncu', + 60: '-ıncı', + 90: '-ıncı' +}; + +export default moment.defineLocale('az', { + months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'), + monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'), + weekdays : 'Bazar_Bazar ertÉ™si_ÇərÅŸÉ™nbÉ™ axÅŸamı_ÇərÅŸÉ™nbÉ™_CümÉ™ axÅŸamı_CümÉ™_ŞənbÉ™'.split('_'), + weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'), + weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'), + weekdaysParseExact : true, + 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 : '[bugün saat] LT', + nextDay : '[sabah saat] LT', + nextWeek : '[gÉ™lÉ™n hÉ™ftÉ™] dddd [saat] LT', + lastDay : '[dünÉ™n] LT', + lastWeek : '[keçən hÉ™ftÉ™] dddd [saat] LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s sonra', + past : '%s É™vvÉ™l', + s : 'birneçə saniyÉ™', + ss : '%d saniyÉ™', + m : 'bir dÉ™qiqÉ™', + mm : '%d dÉ™qiqÉ™', + h : 'bir saat', + hh : '%d saat', + d : 'bir gün', + dd : '%d gün', + M : 'bir ay', + MM : '%d ay', + y : 'bir il', + yy : '%d il' + }, + meridiemParse: /gecÉ™|sÉ™hÉ™r|gündüz|axÅŸam/, + isPM : function (input) { + return /^(gündüz|axÅŸam)$/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'gecÉ™'; + } else if (hour < 12) { + return 'sÉ™hÉ™r'; + } else if (hour < 17) { + return 'gündüz'; + } else { + return 'axÅŸam'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/, + ordinal : function (number) { + if (number === 0) { // special case for zero + return number + '-ıncı'; + } + var a = number % 10, + b = number % 100 - a, + c = number >= 100 ? 100 : null; + return number + (suffixes[a] || suffixes[b] || suffixes[c]); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/be.js b/public/bower_components/moment/src/locale/be.js new file mode 100644 index 0000000..e163c01 --- /dev/null +++ b/public/bower_components/moment/src/locale/be.js @@ -0,0 +1,126 @@ +//! moment.js locale configuration +//! locale : Belarusian [be] +//! author : Dmitry Demidov : https://github.com/demidov91 +//! author: Praleska: http://praleska.pro/ +//! Author : Menelion Elensúle : https://github.com/Oire + +import moment from '../moment'; + +function plural(word, num) { + var forms = word.split('_'); + return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]); +} +function relativeTimeWithPlural(number, withoutSuffix, key) { + var format = { + 'ss': withoutSuffix ? 'Ñекунда_Ñекунды_Ñекунд' : 'Ñекунду_Ñекунды_Ñекунд', + 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін', + 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін', + 'dd': 'дзень_дні_дзён', + 'MM': 'меÑÑц_меÑÑцы_меÑÑцаў', + 'yy': 'год_гады_гадоў' + }; + if (key === 'm') { + return withoutSuffix ? 'хвіліна' : 'хвіліну'; + } + else if (key === 'h') { + return withoutSuffix ? 'гадзіна' : 'гадзіну'; + } + else { + return number + ' ' + plural(format[key], +number); + } +} + +export default moment.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 : relativeTimeWithPlural, + mm : relativeTimeWithPlural, + h : relativeTimeWithPlural, + hh : relativeTimeWithPlural, + d : 'дзень', + dd : relativeTimeWithPlural, + M : 'меÑÑц', + MM : relativeTimeWithPlural, + y : 'год', + yy : relativeTimeWithPlural + }, + meridiemParse: /ночы|раніцы|днÑ|вечара/, + isPM : function (input) { + return /^(днÑ|вечара)$/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'ночы'; + } else if (hour < 12) { + return 'раніцы'; + } else if (hour < 17) { + return 'днÑ'; + } else { + return 'вечара'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(Ñ–|Ñ‹|га)/, + ordinal: function (number, period) { + switch (period) { + case 'M': + case 'd': + case 'DDD': + case 'w': + case 'W': + return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-Ñ–' : number + '-Ñ‹'; + case 'D': + return number + '-га'; + default: + return number; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/bg.js b/public/bower_components/moment/src/locale/bg.js new file mode 100644 index 0000000..ebe9a90 --- /dev/null +++ b/public/bower_components/moment/src/locale/bg.js @@ -0,0 +1,82 @@ +//! moment.js locale configuration +//! locale : Bulgarian [bg] +//! author : Krasen Borisov : https://github.com/kraz + +import moment from '../moment'; + +export default moment.defineLocale('bg', { + months : 'Ñнуари_февруари_март_април_май_юни_юли_авгуÑÑ‚_Ñептември_октомври_ноември_декември'.split('_'), + monthsShort : 'Ñнр_фев_мар_апр_май_юни_юли_авг_Ñеп_окт_ное_дек'.split('_'), + weekdays : 'неделÑ_понеделник_вторник_ÑÑ€Ñда_четвъртък_петък_Ñъбота'.split('_'), + weekdaysShort : 'нед_пон_вто_ÑÑ€Ñ_чет_пет_Ñъб'.split('_'), + weekdaysMin : 'нд_пн_вт_ÑÑ€_чт_пт_Ñб'.split('_'), + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'D.MM.YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY H:mm', + LLLL : 'dddd, D MMMM YYYY H:mm' + }, + calendar : { + sameDay : '[Ð”Ð½ÐµÑ Ð²] LT', + nextDay : '[Утре в] LT', + nextWeek : 'dddd [в] LT', + lastDay : '[Вчера в] LT', + lastWeek : function () { + switch (this.day()) { + case 0: + case 3: + case 6: + return '[Ð’ изминалата] dddd [в] LT'; + case 1: + case 2: + case 4: + case 5: + return '[Ð’ изминалиÑ] 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 (number) { + var lastDigit = number % 10, + last2Digits = number % 100; + if (number === 0) { + return number + '-ев'; + } else if (last2Digits === 0) { + return number + '-ен'; + } else if (last2Digits > 10 && last2Digits < 20) { + return number + '-ти'; + } else if (lastDigit === 1) { + return number + '-ви'; + } else if (lastDigit === 2) { + return number + '-ри'; + } else if (lastDigit === 7 || lastDigit === 8) { + return number + '-ми'; + } else { + return number + '-ти'; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/bm.js b/public/bower_components/moment/src/locale/bm.js new file mode 100644 index 0000000..887a750 --- /dev/null +++ b/public/bower_components/moment/src/locale/bm.js @@ -0,0 +1,50 @@ +//! moment.js locale configuration +//! locale : Bambara [bm] +//! author : Estelle Comment : https://github.com/estellecomment +// Language contact person : Abdoufata Kane : https://github.com/abdoufata + +import moment from '../moment'; + +export default moment.defineLocale('bm', { + months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_MÉ›kalo_ZuwÉ›nkalo_Zuluyekalo_Utikalo_SÉ›tanburukalo_É”kutÉ”burukalo_Nowanburukalo_Desanburukalo'.split('_'), + monthsShort : 'Zan_Few_Mar_Awi_MÉ›_Zuw_Zul_Uti_SÉ›t_É”ku_Now_Des'.split('_'), + weekdays : 'Kari_NtÉ›nÉ›n_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'), + weekdaysShort : 'Kar_NtÉ›_Tar_Ara_Ala_Jum_Sib'.split('_'), + weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD/MM/YYYY', + LL : 'MMMM [tile] D [san] YYYY', + LLL : 'MMMM [tile] D [san] YYYY [lÉ›rÉ›] HH:mm', + LLLL : 'dddd MMMM [tile] D [san] YYYY [lÉ›rÉ›] HH:mm' + }, + calendar : { + sameDay : '[Bi lÉ›rÉ›] LT', + nextDay : '[Sini lÉ›rÉ›] LT', + nextWeek : 'dddd [don lÉ›rÉ›] LT', + lastDay : '[Kunu lÉ›rÉ›] LT', + lastWeek : 'dddd [tÉ›mÉ›nen lÉ›rÉ›] LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s kÉ”nÉ”', + past : 'a bÉ› %s bÉ”', + s : 'sanga dama dama', + ss : 'sekondi %d', + m : 'miniti kelen', + mm : 'miniti %d', + h : 'lÉ›rÉ› kelen', + hh : 'lÉ›rÉ› %d', + d : 'tile kelen', + dd : 'tile %d', + M : 'kalo kelen', + MM : 'kalo %d', + y : 'san kelen', + yy : 'san %d' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/bn.js b/public/bower_components/moment/src/locale/bn.js new file mode 100644 index 0000000..b0db27e --- /dev/null +++ b/public/bower_components/moment/src/locale/bn.js @@ -0,0 +1,110 @@ +//! moment.js locale configuration +//! locale : Bengali [bn] +//! author : Kaushik Gandhi : https://github.com/kaushikgandhi + +import moment from '../moment'; + +var symbolMap = { + '1': 'à§§', + '2': '২', + '3': 'à§©', + '4': '৪', + '5': 'à§«', + '6': '৬', + '7': 'à§', + '8': 'à§®', + '9': '৯', + '0': '০' +}, +numberMap = { + 'à§§': '1', + '২': '2', + 'à§©': '3', + '৪': '4', + 'à§«': '5', + '৬': '6', + 'à§': '7', + 'à§®': '8', + '৯': '9', + '০': '0' +}; + +export default moment.defineLocale('bn', { + months : 'জানà§à§Ÿà¦¾à¦°à§€_ফেবà§à¦°à§à§Ÿà¦¾à¦°à¦¿_মারà§à¦š_à¦à¦ªà§à¦°à¦¿à¦²_মে_জà§à¦¨_জà§à¦²à¦¾à¦‡_আগসà§à¦Ÿ_সেপà§à¦Ÿà§‡à¦®à§à¦¬à¦°_অকà§à¦Ÿà§‹à¦¬à¦°_নà¦à§‡à¦®à§à¦¬à¦°_ডিসেমà§à¦¬à¦°'.split('_'), + monthsShort : 'জানà§_ফেব_মারà§à¦š_à¦à¦ªà§à¦°_মে_জà§à¦¨_জà§à¦²_আগ_সেপà§à¦Ÿ_অকà§à¦Ÿà§‹_নà¦à§‡_ডিসে'.split('_'), + 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 : 'কয়েক সেকেনà§à¦¡', + ss : '%d সেকেনà§à¦¡', + m : 'à¦à¦• মিনিট', + mm : '%d মিনিট', + h : 'à¦à¦• ঘনà§à¦Ÿà¦¾', + hh : '%d ঘনà§à¦Ÿà¦¾', + d : 'à¦à¦• দিন', + dd : '%d দিন', + M : 'à¦à¦• মাস', + MM : '%d মাস', + y : 'à¦à¦• বছর', + yy : '%d বছর' + }, + preparse: function (string) { + return string.replace(/[১২৩৪৫৬à§à§®à§¯à§¦]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + meridiemParse: /রাত|সকাল|দà§à¦ªà§à¦°|বিকাল|রাত/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if ((meridiem === 'রাত' && hour >= 4) || + (meridiem === 'দà§à¦ªà§à¦°' && hour < 5) || + meridiem === 'বিকাল') { + return hour + 12; + } else { + return hour; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'রাত'; + } else if (hour < 10) { + return 'সকাল'; + } else if (hour < 17) { + return 'দà§à¦ªà§à¦°'; + } else if (hour < 20) { + return 'বিকাল'; + } else { + return 'রাত'; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/bo.js b/public/bower_components/moment/src/locale/bo.js new file mode 100644 index 0000000..b4a04be --- /dev/null +++ b/public/bower_components/moment/src/locale/bo.js @@ -0,0 +1,111 @@ +//! moment.js locale configuration +//! locale : Tibetan [bo] +//! author : Thupten N. Chakrishar : https://github.com/vajradog + +import moment from '../moment'; + +var symbolMap = { + '1': '༡', + '2': '༢', + '3': '༣', + '4': '༤', + '5': '༥', + '6': '༦', + '7': '༧', + '8': '༨', + '9': '༩', + '0': '༠' +}, +numberMap = { + '༡': '1', + '༢': '2', + '༣': '3', + '༤': '4', + '༥': '5', + '༦': '6', + '༧': '7', + '༨': '8', + '༩': '9', + '༠': '0' +}; + +export default moment.defineLocale('bo', { + months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'), + monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'), + 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 : '[བདུན་ཕྲག་རྗེས་མ], 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 (string) { + return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if ((meridiem === 'མཚན་མོ' && hour >= 4) || + (meridiem === 'ཉིན་གུང' && hour < 5) || + meridiem === 'དགོང་དག') { + return hour + 12; + } else { + return hour; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'མཚན་མོ'; + } else if (hour < 10) { + return 'ཞོགས་ཀས'; + } else if (hour < 17) { + return 'ཉིན་གུང'; + } else if (hour < 20) { + return 'དགོང་དག'; + } else { + return 'མཚན་མོ'; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/br.js b/public/bower_components/moment/src/locale/br.js new file mode 100644 index 0000000..7208f79 --- /dev/null +++ b/public/bower_components/moment/src/locale/br.js @@ -0,0 +1,100 @@ +//! moment.js locale configuration +//! locale : Breton [br] +//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou + +import moment from '../moment'; + +function relativeTimeWithMutation(number, withoutSuffix, key) { + var format = { + 'mm': 'munutenn', + 'MM': 'miz', + 'dd': 'devezh' + }; + return number + ' ' + mutation(format[key], number); +} +function specialMutationForYears(number) { + switch (lastNumber(number)) { + case 1: + case 3: + case 4: + case 5: + case 9: + return number + ' bloaz'; + default: + return number + ' vloaz'; + } +} +function lastNumber(number) { + if (number > 9) { + return lastNumber(number % 10); + } + return number; +} +function mutation(text, number) { + if (number === 2) { + return softMutation(text); + } + return text; +} +function softMutation(text) { + var mutationTable = { + 'm': 'v', + 'b': 'v', + 'd': 'z' + }; + if (mutationTable[text.charAt(0)] === undefined) { + return text; + } + return mutationTable[text.charAt(0)] + text.substring(1); +} + +export default moment.defineLocale('br', { + months : 'Genver_C\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'), + monthsShort : 'Gen_C\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'), + weekdays : 'Sul_Lun_Meurzh_Merc\'her_Yaou_Gwener_Sadorn'.split('_'), + weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'), + weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'h[e]mm A', + LTS : 'h[e]mm:ss A', + L : 'DD/MM/YYYY', + LL : 'D [a viz] MMMM YYYY', + LLL : 'D [a viz] MMMM YYYY h[e]mm A', + LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A' + }, + calendar : { + sameDay : '[Hiziv da] LT', + nextDay : '[Warc\'hoazh da] LT', + nextWeek : 'dddd [da] LT', + lastDay : '[Dec\'h da] LT', + lastWeek : 'dddd [paset da] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'a-benn %s', + past : '%s \'zo', + s : 'un nebeud segondennoù', + ss : '%d eilenn', + m : 'ur vunutenn', + mm : relativeTimeWithMutation, + h : 'un eur', + hh : '%d eur', + d : 'un devezh', + dd : relativeTimeWithMutation, + M : 'ur miz', + MM : relativeTimeWithMutation, + y : 'ur bloaz', + yy : specialMutationForYears + }, + dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/, + ordinal : function (number) { + var output = (number === 1) ? 'añ' : 'vet'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/bs.js b/public/bower_components/moment/src/locale/bs.js new file mode 100644 index 0000000..8a0f640 --- /dev/null +++ b/public/bower_components/moment/src/locale/bs.js @@ -0,0 +1,143 @@ +//! moment.js locale configuration +//! locale : Bosnian [bs] +//! author : Nedim Cholich : https://github.com/frontyard +//! based on (hr) translation by Bojan Marković + +import moment from '../moment'; + +function translate(number, withoutSuffix, key) { + var result = number + ' '; + switch (key) { + case 'ss': + if (number === 1) { + result += 'sekunda'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'sekunde'; + } else { + result += 'sekundi'; + } + return result; + case 'm': + return withoutSuffix ? 'jedna minuta' : 'jedne minute'; + case 'mm': + if (number === 1) { + result += 'minuta'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'minute'; + } else { + result += 'minuta'; + } + return result; + case 'h': + return withoutSuffix ? 'jedan sat' : 'jednog sata'; + case 'hh': + if (number === 1) { + result += 'sat'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'sata'; + } else { + result += 'sati'; + } + return result; + case 'dd': + if (number === 1) { + result += 'dan'; + } else { + result += 'dana'; + } + return result; + case 'MM': + if (number === 1) { + result += 'mjesec'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'mjeseca'; + } else { + result += 'mjeseci'; + } + return result; + case 'yy': + if (number === 1) { + result += 'godina'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'godine'; + } else { + result += 'godina'; + } + return result; + } +} + +export default moment.defineLocale('bs', { + months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'), + monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'), + monthsParseExact: true, + weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota'.split('_'), + weekdaysShort : 'ned._pon._uto._sri._Äet._pet._sub.'.split('_'), + weekdaysMin : 'ne_po_ut_sr_Äe_pe_su'.split('_'), + weekdaysParseExact : true, + 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 : '[danas u] LT', + nextDay : '[sutra u] LT', + nextWeek : function () { + switch (this.day()) { + case 0: + return '[u] [nedjelju] [u] LT'; + case 3: + return '[u] [srijedu] [u] LT'; + case 6: + return '[u] [subotu] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[u] dddd [u] LT'; + } + }, + lastDay : '[juÄer u] LT', + lastWeek : function () { + switch (this.day()) { + case 0: + case 3: + return '[proÅ¡lu] dddd [u] LT'; + case 6: + return '[proÅ¡le] [subote] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[proÅ¡li] dddd [u] LT'; + } + }, + sameElse : 'L' + }, + relativeTime : { + future : 'za %s', + past : 'prije %s', + s : 'par sekundi', + ss : translate, + m : translate, + mm : translate, + h : translate, + hh : translate, + d : 'dan', + dd : translate, + M : 'mjesec', + MM : translate, + y : 'godinu', + yy : translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/ca.js b/public/bower_components/moment/src/locale/ca.js new file mode 100644 index 0000000..8d1df57 --- /dev/null +++ b/public/bower_components/moment/src/locale/ca.js @@ -0,0 +1,80 @@ +//! moment.js locale configuration +//! locale : Catalan [ca] +//! author : Juan G. Hurtado : https://github.com/juanghurtado + +import moment from '../moment'; + +export default moment.defineLocale('ca', { + months : { + standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'), + format: 'de gener_de febrer_de març_d\'abril_de maig_de juny_de juliol_d\'agost_de setembre_d\'octubre_de novembre_de desembre'.split('_'), + isFormat: /D[oD]?(\s)+MMMM/ + }, + monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'), + monthsParseExact : true, + weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'), + weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'), + weekdaysMin : 'dg_dl_dt_dc_dj_dv_ds'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'DD/MM/YYYY', + LL : 'D MMMM [de] YYYY', + ll : 'D MMM YYYY', + LLL : 'D MMMM [de] YYYY [a les] H:mm', + lll : 'D MMM YYYY, H:mm', + LLLL : 'dddd D MMMM [de] YYYY [a les] H:mm', + llll : 'ddd D MMM YYYY, H:mm' + }, + calendar : { + sameDay : function () { + return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; + }, + nextDay : function () { + return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; + }, + nextWeek : function () { + return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; + }, + lastDay : function () { + return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; + }, + lastWeek : function () { + return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; + }, + sameElse : 'L' + }, + relativeTime : { + future : 'd\'aquà %s', + past : 'fa %s', + s : 'uns segons', + ss : '%d segons', + m : 'un minut', + mm : '%d minuts', + h : 'una hora', + hh : '%d hores', + d : 'un dia', + dd : '%d dies', + M : 'un mes', + MM : '%d mesos', + y : 'un any', + yy : '%d anys' + }, + dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/, + ordinal : function (number, period) { + var output = (number === 1) ? 'r' : + (number === 2) ? 'n' : + (number === 3) ? 'r' : + (number === 4) ? 't' : 'è'; + if (period === 'w' || period === 'W') { + output = 'a'; + } + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/cs.js b/public/bower_components/moment/src/locale/cs.js new file mode 100644 index 0000000..143a709 --- /dev/null +++ b/public/bower_components/moment/src/locale/cs.js @@ -0,0 +1,164 @@ +//! moment.js locale configuration +//! locale : Czech [cs] +//! author : petrbela : https://github.com/petrbela + +import moment from '../moment'; + +var months = 'leden_únor_bÅ™ezen_duben_kvÄ›ten_Äerven_Äervenec_srpen_zářÃ_Å™Ãjen_listopad_prosinec'.split('_'), + monthsShort = 'led_úno_bÅ™e_dub_kvÄ›_Ävn_Ävc_srp_zář_Å™Ãj_lis_pro'.split('_'); + +var monthsParse = [/^led/i, /^úno/i, /^bÅ™e/i, /^dub/i, /^kvÄ›/i, /^(Ävn|Äerven$|Äervna)/i, /^(Ävc|Äervenec|Äervence)/i, /^srp/i, /^zář/i, /^Å™Ãj/i, /^lis/i, /^pro/i]; +// NOTE: 'Äerven' is substring of 'Äervenec'; therefore 'Äervenec' must precede 'Äerven' in the regex to be fully matched. +// Otherwise parser matches '1. Äervenec' as '1. Äerven' + 'ec'. +var monthsRegex = /^(leden|únor|bÅ™ezen|duben|kvÄ›ten|Äervenec|Äervence|Äerven|Äervna|srpen|zářÃ|Å™Ãjen|listopad|prosinec|led|úno|bÅ™e|dub|kvÄ›|Ävn|Ävc|srp|zář|Å™Ãj|lis|pro)/i; + +function plural(n) { + return (n > 1) && (n < 5) && (~~(n / 10) !== 1); +} +function translate(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + switch (key) { + case 's': // a few seconds / in a few seconds / a few seconds ago + return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami'; + case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'sekundy' : 'sekund'); + } else { + return result + 'sekundami'; + } + break; + case 'm': // a minute / in a minute / a minute ago + return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou'); + case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'minuty' : 'minut'); + } else { + return result + 'minutami'; + } + break; + case 'h': // an hour / in an hour / an hour ago + return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou'); + case 'hh': // 9 hours / in 9 hours / 9 hours ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'hodiny' : 'hodin'); + } else { + return result + 'hodinami'; + } + break; + case 'd': // a day / in a day / a day ago + return (withoutSuffix || isFuture) ? 'den' : 'dnem'; + case 'dd': // 9 days / in 9 days / 9 days ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'dny' : 'dnÃ'); + } else { + return result + 'dny'; + } + break; + case 'M': // a month / in a month / a month ago + return (withoutSuffix || isFuture) ? 'mÄ›sÃc' : 'mÄ›sÃcem'; + case 'MM': // 9 months / in 9 months / 9 months ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'mÄ›sÃce' : 'mÄ›sÃců'); + } else { + return result + 'mÄ›sÃci'; + } + break; + case 'y': // a year / in a year / a year ago + return (withoutSuffix || isFuture) ? 'rok' : 'rokem'; + case 'yy': // 9 years / in 9 years / 9 years ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'roky' : 'let'); + } else { + return result + 'lety'; + } + break; + } +} + +export default moment.defineLocale('cs', { + months : months, + monthsShort : monthsShort, + monthsRegex : monthsRegex, + monthsShortRegex : monthsRegex, + // NOTE: 'Äerven' is substring of 'Äervenec'; therefore 'Äervenec' must precede 'Äerven' in the regex to be fully matched. + // Otherwise parser matches '1. Äervenec' as '1. Äerven' + 'ec'. + monthsStrictRegex : /^(leden|ledna|února|únor|bÅ™ezen|bÅ™ezna|duben|dubna|kvÄ›ten|kvÄ›tna|Äervenec|Äervence|Äerven|Äervna|srpen|srpna|zářÃ|Å™Ãjen|Å™Ãjna|listopadu|listopad|prosinec|prosince)/i, + monthsShortStrictRegex : /^(led|úno|bÅ™e|dub|kvÄ›|Ävn|Ävc|srp|zář|Å™Ãj|lis|pro)/i, + monthsParse : monthsParse, + longMonthsParse : monthsParse, + shortMonthsParse : monthsParse, + weekdays : 'nedÄ›le_pondÄ›lÃ_úterý_stÅ™eda_Ätvrtek_pátek_sobota'.split('_'), + weekdaysShort : 'ne_po_út_st_Ät_pá_so'.split('_'), + weekdaysMin : 'ne_po_út_st_Ät_pá_so'.split('_'), + 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', + l : 'D. M. YYYY' + }, + calendar : { + sameDay: '[dnes v] LT', + nextDay: '[zÃtra v] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[v nedÄ›li v] LT'; + case 1: + case 2: + return '[v] dddd [v] LT'; + case 3: + return '[ve stÅ™edu v] LT'; + case 4: + return '[ve Ätvrtek v] LT'; + case 5: + return '[v pátek v] LT'; + case 6: + return '[v sobotu v] LT'; + } + }, + lastDay: '[vÄera v] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[minulou nedÄ›li v] LT'; + case 1: + case 2: + return '[minulé] dddd [v] LT'; + case 3: + return '[minulou stÅ™edu v] LT'; + case 4: + case 5: + return '[minulý] dddd [v] LT'; + case 6: + return '[minulou sobotu v] LT'; + } + }, + sameElse: 'L' + }, + relativeTime : { + future : 'za %s', + past : 'pÅ™ed %s', + s : translate, + ss : translate, + m : translate, + mm : translate, + h : translate, + hh : translate, + d : translate, + dd : translate, + M : translate, + MM : translate, + y : translate, + yy : translate + }, + dayOfMonthOrdinalParse : /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/cv.js b/public/bower_components/moment/src/locale/cv.js new file mode 100644 index 0000000..2443f0a --- /dev/null +++ b/public/bower_components/moment/src/locale/cv.js @@ -0,0 +1,54 @@ +//! moment.js locale configuration +//! locale : Chuvash [cv] +//! author : Anatoly Mironov : https://github.com/mirontoli + +import moment from '../moment'; + +export default moment.defineLocale('cv', { + months : 'кӑрлач_нарӑÑ_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'), + monthsShort : 'кӑр_нар_пуш_ака_май_Ò«Ó—Ñ€_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'), + weekdays : 'вырÑарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_Ñрнекун_шӑматкун'.split('_'), + weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_Ñрн_шӑм'.split('_'), + weekdaysMin : 'вр_тн_ыт_юн_кҫ_ÑÑ€_шм'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD-MM-YYYY', + LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]', + LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', + LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm' + }, + calendar : { + sameDay: '[ПаÑн] LT [Ñехетре]', + nextDay: '[Ыран] LT [Ñехетре]', + lastDay: '[Ӗнер] LT [Ñехетре]', + nextWeek: '[ҪитеÑ] dddd LT [Ñехетре]', + lastWeek: '[Иртнӗ] dddd LT [Ñехетре]', + sameElse: 'L' + }, + relativeTime : { + future : function (output) { + var affix = /Ñехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран'; + return output + affix; + }, + 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-мӗш', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/cy.js b/public/bower_components/moment/src/locale/cy.js new file mode 100644 index 0000000..eb2e54c --- /dev/null +++ b/public/bower_components/moment/src/locale/cy.js @@ -0,0 +1,73 @@ +//! moment.js locale configuration +//! locale : Welsh [cy] +//! author : Robert Allen : https://github.com/robgallen +//! author : https://github.com/ryangreaves + +import moment from '../moment'; + +export default moment.defineLocale('cy', { + months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'), + monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'), + weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'), + weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'), + weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'), + weekdaysParseExact : true, + // time formats are the same as en-gb + 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: '[Heddiw am] LT', + nextDay: '[Yfory am] LT', + nextWeek: 'dddd [am] LT', + lastDay: '[Ddoe am] LT', + lastWeek: 'dddd [diwethaf am] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'mewn %s', + past: '%s yn ôl', + s: 'ychydig eiliadau', + ss: '%d eiliad', + m: 'munud', + mm: '%d munud', + h: 'awr', + hh: '%d awr', + d: 'diwrnod', + dd: '%d diwrnod', + M: 'mis', + MM: '%d mis', + y: 'blwyddyn', + yy: '%d flynedd' + }, + dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/, + // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh + ordinal: function (number) { + var b = number, + output = '', + lookup = [ + '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed + 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed + ]; + if (b > 20) { + if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) { + output = 'fed'; // not 30ain, 70ain or 90ain + } else { + output = 'ain'; + } + } else if (b > 0) { + output = lookup[b]; + } + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/da.js b/public/bower_components/moment/src/locale/da.js new file mode 100644 index 0000000..a06c6e0 --- /dev/null +++ b/public/bower_components/moment/src/locale/da.js @@ -0,0 +1,51 @@ +//! moment.js locale configuration +//! locale : Danish [da] +//! author : Ulrik Nielsen : https://github.com/mrbase + +import moment from '../moment'; + +export default moment.defineLocale('da', { + months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'), + monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), + weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), + weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'), + weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.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.] D. MMMM YYYY [kl.] HH:mm' + }, + calendar : { + sameDay : '[i dag kl.] LT', + nextDay : '[i morgen kl.] LT', + nextWeek : 'pÃ¥ dddd [kl.] LT', + lastDay : '[i gÃ¥r kl.] LT', + lastWeek : '[i] dddd[s kl.] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'om %s', + past : '%s siden', + s : 'fÃ¥ sekunder', + ss : '%d sekunder', + m : 'et minut', + mm : '%d minutter', + h : 'en time', + hh : '%d timer', + d : 'en dag', + dd : '%d dage', + M : 'en mÃ¥ned', + MM : '%d mÃ¥neder', + y : 'et Ã¥r', + yy : '%d Ã¥r' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/de-at.js b/public/bower_components/moment/src/locale/de-at.js new file mode 100644 index 0000000..4ed974c --- /dev/null +++ b/public/bower_components/moment/src/locale/de-at.js @@ -0,0 +1,70 @@ +//! moment.js locale configuration +//! locale : German (Austria) [de-at] +//! author : lluchs : https://github.com/lluchs +//! author: Menelion Elensúle: https://github.com/Oire +//! author : Martin Groller : https://github.com/MadMG +//! author : Mikolaj Dadela : https://github.com/mik01aj + +import moment from '../moment'; + +function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + 'm': ['eine Minute', 'einer Minute'], + 'h': ['eine Stunde', 'einer Stunde'], + 'd': ['ein Tag', 'einem Tag'], + 'dd': [number + ' Tage', number + ' Tagen'], + 'M': ['ein Monat', 'einem Monat'], + 'MM': [number + ' Monate', number + ' Monaten'], + 'y': ['ein Jahr', 'einem Jahr'], + 'yy': [number + ' Jahre', number + ' Jahren'] + }; + return withoutSuffix ? format[key][0] : format[key][1]; +} + +export default moment.defineLocale('de-at', { + months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), + monthsShort : 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), + monthsParseExact : true, + weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), + weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), + weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), + weekdaysParseExact : true, + 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: '[heute um] LT [Uhr]', + sameElse: 'L', + nextDay: '[morgen um] LT [Uhr]', + nextWeek: 'dddd [um] LT [Uhr]', + lastDay: '[gestern um] LT [Uhr]', + lastWeek: '[letzten] dddd [um] LT [Uhr]' + }, + relativeTime : { + future : 'in %s', + past : 'vor %s', + s : 'ein paar Sekunden', + ss : '%d Sekunden', + m : processRelativeTime, + mm : '%d Minuten', + h : processRelativeTime, + hh : '%d Stunden', + d : processRelativeTime, + dd : processRelativeTime, + M : processRelativeTime, + MM : processRelativeTime, + y : processRelativeTime, + yy : processRelativeTime + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/de-ch.js b/public/bower_components/moment/src/locale/de-ch.js new file mode 100644 index 0000000..c448345 --- /dev/null +++ b/public/bower_components/moment/src/locale/de-ch.js @@ -0,0 +1,69 @@ +//! moment.js locale configuration +//! locale : German (Switzerland) [de-ch] +//! author : sschueller : https://github.com/sschueller + +// based on: https://www.bk.admin.ch/dokumentation/sprachen/04915/05016/index.html?lang=de# + +import moment from '../moment'; + +function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + 'm': ['eine Minute', 'einer Minute'], + 'h': ['eine Stunde', 'einer Stunde'], + 'd': ['ein Tag', 'einem Tag'], + 'dd': [number + ' Tage', number + ' Tagen'], + 'M': ['ein Monat', 'einem Monat'], + 'MM': [number + ' Monate', number + ' Monaten'], + 'y': ['ein Jahr', 'einem Jahr'], + 'yy': [number + ' Jahre', number + ' Jahren'] + }; + return withoutSuffix ? format[key][0] : format[key][1]; +} + +export default moment.defineLocale('de-ch', { + months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), + monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), + monthsParseExact : true, + weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), + weekdaysShort : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), + weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), + weekdaysParseExact : true, + 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: '[heute um] LT [Uhr]', + sameElse: 'L', + nextDay: '[morgen um] LT [Uhr]', + nextWeek: 'dddd [um] LT [Uhr]', + lastDay: '[gestern um] LT [Uhr]', + lastWeek: '[letzten] dddd [um] LT [Uhr]' + }, + relativeTime : { + future : 'in %s', + past : 'vor %s', + s : 'ein paar Sekunden', + ss : '%d Sekunden', + m : processRelativeTime, + mm : '%d Minuten', + h : processRelativeTime, + hh : '%d Stunden', + d : processRelativeTime, + dd : processRelativeTime, + M : processRelativeTime, + MM : processRelativeTime, + y : processRelativeTime, + yy : processRelativeTime + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/de.js b/public/bower_components/moment/src/locale/de.js new file mode 100644 index 0000000..4574656 --- /dev/null +++ b/public/bower_components/moment/src/locale/de.js @@ -0,0 +1,69 @@ +//! moment.js locale configuration +//! locale : German [de] +//! author : lluchs : https://github.com/lluchs +//! author: Menelion Elensúle: https://github.com/Oire +//! author : Mikolaj Dadela : https://github.com/mik01aj + +import moment from '../moment'; + +function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + 'm': ['eine Minute', 'einer Minute'], + 'h': ['eine Stunde', 'einer Stunde'], + 'd': ['ein Tag', 'einem Tag'], + 'dd': [number + ' Tage', number + ' Tagen'], + 'M': ['ein Monat', 'einem Monat'], + 'MM': [number + ' Monate', number + ' Monaten'], + 'y': ['ein Jahr', 'einem Jahr'], + 'yy': [number + ' Jahre', number + ' Jahren'] + }; + return withoutSuffix ? format[key][0] : format[key][1]; +} + +export default moment.defineLocale('de', { + months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), + monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), + monthsParseExact : true, + weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), + weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), + weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), + weekdaysParseExact : true, + 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: '[heute um] LT [Uhr]', + sameElse: 'L', + nextDay: '[morgen um] LT [Uhr]', + nextWeek: 'dddd [um] LT [Uhr]', + lastDay: '[gestern um] LT [Uhr]', + lastWeek: '[letzten] dddd [um] LT [Uhr]' + }, + relativeTime : { + future : 'in %s', + past : 'vor %s', + s : 'ein paar Sekunden', + ss : '%d Sekunden', + m : processRelativeTime, + mm : '%d Minuten', + h : processRelativeTime, + hh : '%d Stunden', + d : processRelativeTime, + dd : processRelativeTime, + M : processRelativeTime, + MM : processRelativeTime, + y : processRelativeTime, + yy : processRelativeTime + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/dv.js b/public/bower_components/moment/src/locale/dv.js new file mode 100644 index 0000000..67c40be --- /dev/null +++ b/public/bower_components/moment/src/locale/dv.js @@ -0,0 +1,90 @@ +//! moment.js locale configuration +//! locale : Maldivian [dv] +//! author : Jawish Hameed : https://github.com/jawish + +import moment from '../moment'; + +var months = [ + 'Þ–Þ¬Þ‚ÞªÞ‡Þ¦ÞƒÞ©', + 'ÞŠÞ¬Þ„Þ°ÞƒÞªÞ‡Þ¦ÞƒÞ©', + 'Þ‰Þ§ÞƒÞ¨Þ—Þª', + 'Þ‡ÞÞ•Þ°ÞƒÞ©ÞÞª', + 'Þ‰Þ', + 'Þ–Þ«Þ‚Þ°', + 'Þ–ÞªÞÞ¦Þ‡Þ¨', + 'Þ‡Þ¯ÞŽÞ¦ÞÞ°Þ“Þª', + 'ÞÞ¬Þ•Þ°Þ“Þ¬Þ‰Þ°Þ„Þ¦ÞƒÞª', + 'Þ‡Þ®Þ†Þ°Þ“Þ¯Þ„Þ¦ÞƒÞª', + 'Þ‚Þ®ÞˆÞ¬Þ‰Þ°Þ„Þ¦ÞƒÞª', + 'Þ‘Þ¨ÞÞ¬Þ‰Þ°Þ„Þ¦ÞƒÞª' +], weekdays = [ + 'އާދިއްތަ', + 'Þ€Þ¯Þ‰Þ¦', + 'Þ‡Þ¦Þ‚Þ°ÞŽÞ§ÞƒÞ¦', + 'Þ„ÞªÞ‹Þ¦', + 'Þ„ÞªÞƒÞ§Þްފަތި', + 'Þ€ÞªÞ†ÞªÞƒÞª', + 'Þ€Þ®Þ‚Þ¨Þ€Þ¨ÞƒÞª' +]; + +export default moment.defineLocale('dv', { + months : months, + monthsShort : months, + weekdays : weekdays, + weekdaysShort : weekdays, + weekdaysMin : 'Þ‡Þ§Þ‹Þ¨_Þ€Þ¯Þ‰Þ¦_Þ‡Þ¦Þ‚Þ°_Þ„ÞªÞ‹Þ¦_Þ„ÞªÞƒÞ§_Þ€ÞªÞ†Þª_Þ€Þ®Þ‚Þ¨'.split('_'), + 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 (input) { + return 'Þ‰ÞŠ' === input; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'Þ‰Þ†'; + } else { + return 'Þ‰ÞŠ'; + } + }, + 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 (string) { + return string.replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/,/g, 'ØŒ'); + }, + week : { + dow : 7, // Sunday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/el.js b/public/bower_components/moment/src/locale/el.js new file mode 100644 index 0000000..5e43ae3 --- /dev/null +++ b/public/bower_components/moment/src/locale/el.js @@ -0,0 +1,89 @@ +//! moment.js locale configuration +//! locale : Greek [el] +//! author : Aggelos Karalias : https://github.com/mehiel + +import moment from '../moment'; +import isFunction from '../lib/utils/is-function'; + +export default moment.defineLocale('el', { + monthsNominativeEl : 'ΙανουάÏιος_ΦεβÏουάÏιος_ΜάÏτιος_ΑπÏίλιος_Μάιος_ΙοÏνιος_ΙοÏλιος_ΑÏγουστος_ΣεπτÎμβÏιος_ΟκτώβÏιος_ÎοÎμβÏιος_ΔεκÎμβÏιος'.split('_'), + monthsGenitiveEl : 'ΙανουαÏίου_ΦεβÏουαÏίου_ΜαÏτίου_ΑπÏιλίου_ΜαÎου_Ιουνίου_Ιουλίου_ΑυγοÏστου_ΣεπτεμβÏίου_ΟκτωβÏίου_ÎοεμβÏίου_ΔεκεμβÏίου'.split('_'), + months : function (momentToFormat, format) { + if (!momentToFormat) { + return this._monthsNominativeEl; + } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM' + return this._monthsGenitiveEl[momentToFormat.month()]; + } else { + return this._monthsNominativeEl[momentToFormat.month()]; + } + }, + monthsShort : 'Ιαν_Φεβ_ΜαÏ_ΑπÏ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Îοε_Δεκ'.split('_'), + weekdays : 'ΚυÏιακή_ΔευτÎÏα_ΤÏίτη_ΤετάÏτη_Î Îμπτη_ΠαÏασκευή_Σάββατο'.split('_'), + weekdaysShort : 'ΚυÏ_Δευ_ΤÏι_Τετ_Πεμ_ΠαÏ_Σαβ'.split('_'), + weekdaysMin : 'Κυ_Δε_ΤÏ_Τε_Πε_Πα_Σα'.split('_'), + meridiem : function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'μμ' : 'ΜΜ'; + } else { + return isLower ? 'πμ' : 'ΠΜ'; + } + }, + isPM : function (input) { + return ((input + '').toLowerCase()[0] === 'μ'); + }, + meridiemParse : /[ΠΜ]\.?Μ?\.?/i, + 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' + }, + calendarEl : { + sameDay : '[ΣήμεÏα {}] LT', + nextDay : '[ΑÏÏιο {}] LT', + nextWeek : 'dddd [{}] LT', + lastDay : '[Χθες {}] LT', + lastWeek : function () { + switch (this.day()) { + case 6: + return '[το Ï€ÏοηγοÏμενο] dddd [{}] LT'; + default: + return '[την Ï€ÏοηγοÏμενη] dddd [{}] LT'; + } + }, + sameElse : 'L' + }, + calendar : function (key, mom) { + var output = this._calendarEl[key], + hours = mom && mom.hours(); + if (isFunction(output)) { + output = output.apply(mom); + } + return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις')); + }, + 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η', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4st is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/en-SG.js b/public/bower_components/moment/src/locale/en-SG.js new file mode 100644 index 0000000..1cab9d6 --- /dev/null +++ b/public/bower_components/moment/src/locale/en-SG.js @@ -0,0 +1,59 @@ +//! moment.js locale configuration +//! locale : English (Singapore) [en-SG] +//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension + +import moment from '../moment'; + +export default moment.defineLocale('en-SG', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.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 : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/en-au.js b/public/bower_components/moment/src/locale/en-au.js new file mode 100644 index 0000000..0e2e425 --- /dev/null +++ b/public/bower_components/moment/src/locale/en-au.js @@ -0,0 +1,58 @@ +//! moment.js locale configuration +//! locale : English (Australia) [en-au] +//! author : Jared Morse : https://github.com/jarcoal + +import moment from '../moment'; + +export default moment.defineLocale('en-au', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + 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 : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/en-ca.js b/public/bower_components/moment/src/locale/en-ca.js new file mode 100644 index 0000000..008baed --- /dev/null +++ b/public/bower_components/moment/src/locale/en-ca.js @@ -0,0 +1,54 @@ +//! moment.js locale configuration +//! locale : English (Canada) [en-ca] +//! author : Jonathan Abourbih : https://github.com/jonbca + +import moment from '../moment'; + +export default moment.defineLocale('en-ca', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + longDateFormat : { + LT : 'h:mm A', + LTS : 'h:mm:ss A', + L : 'YYYY-MM-DD', + LL : 'MMMM D, YYYY', + LLL : 'MMMM D, YYYY h:mm A', + LLLL : 'dddd, MMMM D, YYYY h:mm A' + }, + calendar : { + sameDay : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + } +}); diff --git a/public/bower_components/moment/src/locale/en-gb.js b/public/bower_components/moment/src/locale/en-gb.js new file mode 100644 index 0000000..da235be --- /dev/null +++ b/public/bower_components/moment/src/locale/en-gb.js @@ -0,0 +1,59 @@ +//! moment.js locale configuration +//! locale : English (United Kingdom) [en-gb] +//! author : Chris Gedrim : https://github.com/chrisgedrim + +import moment from '../moment'; + +export default moment.defineLocale('en-gb', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.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 : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/en-ie.js b/public/bower_components/moment/src/locale/en-ie.js new file mode 100644 index 0000000..38166ad --- /dev/null +++ b/public/bower_components/moment/src/locale/en-ie.js @@ -0,0 +1,59 @@ +//! moment.js locale configuration +//! locale : English (Ireland) [en-ie] +//! author : Chris Cartlidge : https://github.com/chriscartlidge + +import moment from '../moment'; + +export default moment.defineLocale('en-ie', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.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 : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/en-il.js b/public/bower_components/moment/src/locale/en-il.js new file mode 100644 index 0000000..da293eb --- /dev/null +++ b/public/bower_components/moment/src/locale/en-il.js @@ -0,0 +1,54 @@ +//! moment.js locale configuration +//! locale : English (Israel) [en-il] +//! author : Chris Gedrim : https://github.com/chrisgedrim + +import moment from '../moment'; + +export default moment.defineLocale('en-il', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.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 : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + } +}); + diff --git a/public/bower_components/moment/src/locale/en-nz.js b/public/bower_components/moment/src/locale/en-nz.js new file mode 100644 index 0000000..ee7c468 --- /dev/null +++ b/public/bower_components/moment/src/locale/en-nz.js @@ -0,0 +1,58 @@ +//! moment.js locale configuration +//! locale : English (New Zealand) [en-nz] +//! author : Luke McGregor : https://github.com/lukemcgregor + +import moment from '../moment'; + +export default moment.defineLocale('en-nz', { + months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + 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 : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/eo.js b/public/bower_components/moment/src/locale/eo.js new file mode 100644 index 0000000..0345d8c --- /dev/null +++ b/public/bower_components/moment/src/locale/eo.js @@ -0,0 +1,65 @@ +//! moment.js locale configuration +//! locale : Esperanto [eo] +//! author : Colin Dean : https://github.com/colindean +//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia +//! comment : miestasmia corrected the translation by colindean + +import moment from '../moment'; + +export default moment.defineLocale('eo', { + months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aÅgusto_septembro_oktobro_novembro_decembro'.split('_'), + monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aÅg_sep_okt_nov_dec'.split('_'), + weekdays : 'dimanĉo_lundo_mardo_merkredo_ĵaÅdo_vendredo_sabato'.split('_'), + weekdaysShort : 'dim_lun_mard_merk_ĵaÅ_ven_sab'.split('_'), + weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY-MM-DD', + LL : 'D[-a de] MMMM, YYYY', + LLL : 'D[-a de] MMMM, YYYY HH:mm', + LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm' + }, + meridiemParse: /[ap]\.t\.m/i, + isPM: function (input) { + return input.charAt(0).toLowerCase() === 'p'; + }, + meridiem : function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'p.t.m.' : 'P.T.M.'; + } else { + return isLower ? 'a.t.m.' : 'A.T.M.'; + } + }, + calendar : { + sameDay : '[HodiaÅ je] LT', + nextDay : '[MorgaÅ je] LT', + nextWeek : 'dddd [je] LT', + lastDay : '[HieraÅ je] LT', + lastWeek : '[pasinta] dddd [je] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'post %s', + past : 'antaÅ %s', + s : 'sekundoj', + ss : '%d sekundoj', + m : 'minuto', + mm : '%d minutoj', + h : 'horo', + hh : '%d horoj', + d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo + dd : '%d tagoj', + M : 'monato', + MM : '%d monatoj', + y : 'jaro', + yy : '%d jaroj' + }, + dayOfMonthOrdinalParse: /\d{1,2}a/, + ordinal : '%da', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/es-do.js b/public/bower_components/moment/src/locale/es-do.js new file mode 100644 index 0000000..c839785 --- /dev/null +++ b/public/bower_components/moment/src/locale/es-do.js @@ -0,0 +1,83 @@ +//! moment.js locale configuration +//! locale : Spanish (Dominican Republic) [es-do] + +import moment from '../moment'; + +var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'), + monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'); + +var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i]; +var monthsRegex = /^(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; + +export default moment.defineLocale('es-do', { + months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), + monthsShort : function (m, format) { + if (!m) { + return monthsShortDot; + } else if (/-MMM-/.test(format)) { + return monthsShort[m.month()]; + } else { + return monthsShortDot[m.month()]; + } + }, + monthsRegex: monthsRegex, + monthsShortRegex: monthsRegex, + 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: monthsParse, + longMonthsParse: monthsParse, + shortMonthsParse: monthsParse, + 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 : true, + 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' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + nextDay : function () { + return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + nextWeek : function () { + return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + lastDay : function () { + return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + lastWeek : function () { + return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? '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, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/es-us.js b/public/bower_components/moment/src/locale/es-us.js new file mode 100644 index 0000000..498ae67 --- /dev/null +++ b/public/bower_components/moment/src/locale/es-us.js @@ -0,0 +1,84 @@ +//! moment.js locale configuration +//! locale : Spanish (United States) [es-us] +//! author : bustta : https://github.com/bustta +//! author : chrisrodz : https://github.com/chrisrodz + +import moment from '../moment'; + +var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'), + monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'); + +var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i]; +var monthsRegex = /^(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; + +export default moment.defineLocale('es-us', { + months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), + monthsShort : function (m, format) { + if (!m) { + return monthsShortDot; + } else if (/-MMM-/.test(format)) { + return monthsShort[m.month()]; + } else { + return monthsShortDot[m.month()]; + } + }, + monthsRegex: monthsRegex, + monthsShortRegex: monthsRegex, + 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: monthsParse, + longMonthsParse: monthsParse, + shortMonthsParse: monthsParse, + 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 : true, + longDateFormat : { + LT : 'h:mm A', + LTS : 'h:mm:ss A', + L : 'MM/DD/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' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + nextDay : function () { + return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + nextWeek : function () { + return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + lastDay : function () { + return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + lastWeek : function () { + return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? '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 : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/es.js b/public/bower_components/moment/src/locale/es.js new file mode 100644 index 0000000..4dc588a --- /dev/null +++ b/public/bower_components/moment/src/locale/es.js @@ -0,0 +1,83 @@ +//! moment.js locale configuration +//! locale : Spanish [es] +//! author : Julio Napurà : https://github.com/julionc + +import moment from '../moment'; + +var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'), + monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'); + +var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i]; +var monthsRegex = /^(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; + +export default moment.defineLocale('es', { + months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), + monthsShort : function (m, format) { + if (!m) { + return monthsShortDot; + } else if (/-MMM-/.test(format)) { + return monthsShort[m.month()]; + } else { + return monthsShortDot[m.month()]; + } + }, + monthsRegex : monthsRegex, + monthsShortRegex : monthsRegex, + 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 : monthsParse, + longMonthsParse : monthsParse, + shortMonthsParse : monthsParse, + 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 : true, + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'DD/MM/YYYY', + LL : 'D [de] MMMM [de] YYYY', + LLL : 'D [de] MMMM [de] YYYY H:mm', + LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm' + }, + calendar : { + sameDay : function () { + return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + nextDay : function () { + return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + nextWeek : function () { + return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + lastDay : function () { + return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; + }, + lastWeek : function () { + return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? '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, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/et.js b/public/bower_components/moment/src/locale/et.js new file mode 100644 index 0000000..22415e7 --- /dev/null +++ b/public/bower_components/moment/src/locale/et.js @@ -0,0 +1,73 @@ +//! moment.js locale configuration +//! locale : Estonian [et] +//! author : Henry Kehlmann : https://github.com/madhenry +//! improvements : Illimar Tambek : https://github.com/ragulka + +import moment from '../moment'; + +function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + 's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'], + 'ss': [number + 'sekundi', number + 'sekundit'], + 'm' : ['ühe minuti', 'üks minut'], + 'mm': [number + ' minuti', number + ' minutit'], + 'h' : ['ühe tunni', 'tund aega', 'üks tund'], + 'hh': [number + ' tunni', number + ' tundi'], + 'd' : ['ühe päeva', 'üks päev'], + 'M' : ['kuu aja', 'kuu aega', 'üks kuu'], + 'MM': [number + ' kuu', number + ' kuud'], + 'y' : ['ühe aasta', 'aasta', 'üks aasta'], + 'yy': [number + ' aasta', number + ' aastat'] + }; + if (withoutSuffix) { + return format[key][2] ? format[key][2] : format[key][1]; + } + return isFuture ? format[key][0] : format[key][1]; +} + +export default moment.defineLocale('et', { + months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'), + monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'), + weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'), + weekdaysShort : 'P_E_T_K_N_R_L'.split('_'), + weekdaysMin : 'P_E_T_K_N_R_L'.split('_'), + 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 : '[Täna,] LT', + nextDay : '[Homme,] LT', + nextWeek : '[Järgmine] dddd LT', + lastDay : '[Eile,] LT', + lastWeek : '[Eelmine] dddd LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s pärast', + past : '%s tagasi', + s : processRelativeTime, + ss : processRelativeTime, + m : processRelativeTime, + mm : processRelativeTime, + h : processRelativeTime, + hh : processRelativeTime, + d : processRelativeTime, + dd : '%d päeva', + M : processRelativeTime, + MM : processRelativeTime, + y : processRelativeTime, + yy : processRelativeTime + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/eu.js b/public/bower_components/moment/src/locale/eu.js new file mode 100644 index 0000000..d7658de --- /dev/null +++ b/public/bower_components/moment/src/locale/eu.js @@ -0,0 +1,58 @@ +//! moment.js locale configuration +//! locale : Basque [eu] +//! author : Eneko Illarramendi : https://github.com/eillarra + +import moment from '../moment'; + +export default moment.defineLocale('eu', { + months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'), + monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'), + monthsParseExact : true, + weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'), + weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'), + weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY-MM-DD', + LL : 'YYYY[ko] MMMM[ren] D[a]', + LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm', + LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm', + l : 'YYYY-M-D', + ll : 'YYYY[ko] MMM D[a]', + lll : 'YYYY[ko] MMM D[a] HH:mm', + llll : 'ddd, YYYY[ko] MMM D[a] HH:mm' + }, + calendar : { + sameDay : '[gaur] LT[etan]', + nextDay : '[bihar] LT[etan]', + nextWeek : 'dddd LT[etan]', + lastDay : '[atzo] LT[etan]', + lastWeek : '[aurreko] dddd LT[etan]', + sameElse : 'L' + }, + relativeTime : { + future : '%s barru', + past : 'duela %s', + s : 'segundo batzuk', + ss : '%d segundo', + m : 'minutu bat', + mm : '%d minutu', + h : 'ordu bat', + hh : '%d ordu', + d : 'egun bat', + dd : '%d egun', + M : 'hilabete bat', + MM : '%d hilabete', + y : 'urte bat', + yy : '%d urte' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/fa.js b/public/bower_components/moment/src/locale/fa.js new file mode 100644 index 0000000..0d377a5 --- /dev/null +++ b/public/bower_components/moment/src/locale/fa.js @@ -0,0 +1,98 @@ +//! moment.js locale configuration +//! locale : Persian [fa] +//! author : Ebrahim Byagowi : https://github.com/ebraminio + +import moment from '../moment'; + +var symbolMap = { + '1': 'Û±', + '2': 'Û²', + '3': 'Û³', + '4': 'Û´', + '5': 'Ûµ', + '6': 'Û¶', + '7': 'Û·', + '8': 'Û¸', + '9': 'Û¹', + '0': 'Û°' +}, numberMap = { + 'Û±': '1', + 'Û²': '2', + 'Û³': '3', + 'Û´': '4', + 'Ûµ': '5', + 'Û¶': '6', + 'Û·': '7', + 'Û¸': '8', + 'Û¹': '9', + 'Û°': '0' +}; + +export default moment.defineLocale('fa', { + months : 'ژانویه_Ùوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'), + monthsShort : 'ژانویه_Ùوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'), + weekdays : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'), + weekdaysShort : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'), + weekdaysMin : 'ÛŒ_د_س_Ú†_Ù¾_ج_Ø´'.split('_'), + weekdaysParseExact : true, + 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 (input) { + return /بعد از ظهر/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'قبل از ظهر'; + } else { + return 'بعد از ظهر'; + } + }, + 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 (string) { + return string.replace(/[Û°-Û¹]/g, function (match) { + return numberMap[match]; + }).replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }).replace(/,/g, 'ØŒ'); + }, + dayOfMonthOrdinalParse: /\d{1,2}Ù…/, + ordinal : '%dÙ…', + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/fi.js b/public/bower_components/moment/src/locale/fi.js new file mode 100644 index 0000000..c505292 --- /dev/null +++ b/public/bower_components/moment/src/locale/fi.js @@ -0,0 +1,101 @@ +//! moment.js locale configuration +//! locale : Finnish [fi] +//! author : Tarmo Aidantausta : https://github.com/bleadof + +import moment from '../moment'; + +var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '), + numbersFuture = [ + 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden', + numbersPast[7], numbersPast[8], numbersPast[9] + ]; +function translate(number, withoutSuffix, key, isFuture) { + var result = ''; + switch (key) { + case 's': + return isFuture ? 'muutaman sekunnin' : 'muutama sekunti'; + case 'ss': + return isFuture ? 'sekunnin' : 'sekuntia'; + case 'm': + return isFuture ? 'minuutin' : 'minuutti'; + case 'mm': + result = isFuture ? 'minuutin' : 'minuuttia'; + break; + case 'h': + return isFuture ? 'tunnin' : 'tunti'; + case 'hh': + result = isFuture ? 'tunnin' : 'tuntia'; + break; + case 'd': + return isFuture ? 'päivän' : 'päivä'; + case 'dd': + result = isFuture ? 'päivän' : 'päivää'; + break; + case 'M': + return isFuture ? 'kuukauden' : 'kuukausi'; + case 'MM': + result = isFuture ? 'kuukauden' : 'kuukautta'; + break; + case 'y': + return isFuture ? 'vuoden' : 'vuosi'; + case 'yy': + result = isFuture ? 'vuoden' : 'vuotta'; + break; + } + result = verbalNumber(number, isFuture) + ' ' + result; + return result; +} +function verbalNumber(number, isFuture) { + return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number; +} + +export default moment.defineLocale('fi', { + months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'), + monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'), + weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'), + weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'), + weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'), + longDateFormat : { + LT : 'HH.mm', + LTS : 'HH.mm.ss', + L : 'DD.MM.YYYY', + LL : 'Do MMMM[ta] YYYY', + LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm', + LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm', + l : 'D.M.YYYY', + ll : 'Do MMM YYYY', + lll : 'Do MMM YYYY, [klo] HH.mm', + llll : 'ddd, Do MMM YYYY, [klo] HH.mm' + }, + calendar : { + sameDay : '[tänään] [klo] LT', + nextDay : '[huomenna] [klo] LT', + nextWeek : 'dddd [klo] LT', + lastDay : '[eilen] [klo] LT', + lastWeek : '[viime] dddd[na] [klo] LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s päästä', + past : '%s sitten', + s : translate, + ss : translate, + m : translate, + mm : translate, + h : translate, + hh : translate, + d : translate, + dd : translate, + M : translate, + MM : translate, + y : translate, + yy : translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/fo.js b/public/bower_components/moment/src/locale/fo.js new file mode 100644 index 0000000..039563f --- /dev/null +++ b/public/bower_components/moment/src/locale/fo.js @@ -0,0 +1,53 @@ +//! moment.js locale configuration +//! locale : Faroese [fo] +//! author : Ragnar Johannesen : https://github.com/ragnar123 +//! author : Kristian Sakarisson : https://github.com/sakarisson + +import moment from '../moment'; + +export default moment.defineLocale('fo', { + months : 'januar_februar_mars_aprÃl_mai_juni_juli_august_september_oktober_november_desember'.split('_'), + monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), + weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_frÃggjadagur_leygardagur'.split('_'), + weekdaysShort : 'sun_mán_týs_mik_hós_frÃ_ley'.split('_'), + weekdaysMin : 'su_má_tý_mi_hó_fr_le'.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 : '[à dag kl.] LT', + nextDay : '[à morgin kl.] LT', + nextWeek : 'dddd [kl.] LT', + lastDay : '[à gjár kl.] LT', + lastWeek : '[sÃðstu] dddd [kl] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'um %s', + past : '%s sÃðani', + s : 'fá sekund', + ss : '%d sekundir', + m : 'ein minuttur', + mm : '%d minuttir', + h : 'ein tÃmi', + hh : '%d tÃmar', + d : 'ein dagur', + dd : '%d dagar', + M : 'ein mánaður', + MM : '%d mánaðir', + y : 'eitt ár', + yy : '%d ár' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/fr-ca.js b/public/bower_components/moment/src/locale/fr-ca.js new file mode 100644 index 0000000..4825a6d --- /dev/null +++ b/public/bower_components/moment/src/locale/fr-ca.js @@ -0,0 +1,66 @@ +//! moment.js locale configuration +//! locale : French (Canada) [fr-ca] +//! author : Jonathan Abourbih : https://github.com/jonbca + +import moment from '../moment'; + +export default moment.defineLocale('fr-ca', { + months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), + monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), + monthsParseExact : true, + weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), + weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), + weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY-MM-DD', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY HH:mm', + LLLL : 'dddd D MMMM YYYY HH:mm' + }, + calendar : { + sameDay : '[Aujourd’hui à ] LT', + nextDay : '[Demain à ] LT', + nextWeek : 'dddd [à ] LT', + lastDay : '[Hier à ] LT', + lastWeek : 'dddd [dernier à ] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'dans %s', + past : 'il y a %s', + s : 'quelques secondes', + ss : '%d secondes', + m : 'une minute', + mm : '%d minutes', + h : 'une heure', + hh : '%d heures', + d : 'un jour', + dd : '%d jours', + M : 'un mois', + MM : '%d mois', + y : 'un an', + yy : '%d ans' + }, + dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, + ordinal : function (number, period) { + switch (period) { + // Words with masculine grammatical gender: mois, trimestre, jour + default: + case 'M': + case 'Q': + case 'D': + case 'DDD': + case 'd': + return number + (number === 1 ? 'er' : 'e'); + + // Words with feminine grammatical gender: semaine + case 'w': + case 'W': + return number + (number === 1 ? 're' : 'e'); + } + } +}); + diff --git a/public/bower_components/moment/src/locale/fr-ch.js b/public/bower_components/moment/src/locale/fr-ch.js new file mode 100644 index 0000000..febd401 --- /dev/null +++ b/public/bower_components/moment/src/locale/fr-ch.js @@ -0,0 +1,70 @@ +//! moment.js locale configuration +//! locale : French (Switzerland) [fr-ch] +//! author : Gaspard Bucher : https://github.com/gaspard + +import moment from '../moment'; + +export default moment.defineLocale('fr-ch', { + months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), + monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), + monthsParseExact : true, + weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), + weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), + weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'), + weekdaysParseExact : true, + 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 : '[Aujourd’hui à ] LT', + nextDay : '[Demain à ] LT', + nextWeek : 'dddd [à ] LT', + lastDay : '[Hier à ] LT', + lastWeek : 'dddd [dernier à ] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'dans %s', + past : 'il y a %s', + s : 'quelques secondes', + ss : '%d secondes', + m : 'une minute', + mm : '%d minutes', + h : 'une heure', + hh : '%d heures', + d : 'un jour', + dd : '%d jours', + M : 'un mois', + MM : '%d mois', + y : 'un an', + yy : '%d ans' + }, + dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, + ordinal : function (number, period) { + switch (period) { + // Words with masculine grammatical gender: mois, trimestre, jour + default: + case 'M': + case 'Q': + case 'D': + case 'DDD': + case 'd': + return number + (number === 1 ? 'er' : 'e'); + + // Words with feminine grammatical gender: semaine + case 'w': + case 'W': + return number + (number === 1 ? 're' : 'e'); + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/fr.js b/public/bower_components/moment/src/locale/fr.js new file mode 100644 index 0000000..81399dc --- /dev/null +++ b/public/bower_components/moment/src/locale/fr.js @@ -0,0 +1,75 @@ +//! moment.js locale configuration +//! locale : French [fr] +//! author : John Fischer : https://github.com/jfroffice + +import moment from '../moment'; + +export default moment.defineLocale('fr', { + months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), + monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), + monthsParseExact : true, + weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), + weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), + weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'), + weekdaysParseExact : true, + 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 : '[Aujourd’hui à ] LT', + nextDay : '[Demain à ] LT', + nextWeek : 'dddd [à ] LT', + lastDay : '[Hier à ] LT', + lastWeek : 'dddd [dernier à ] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'dans %s', + past : 'il y a %s', + s : 'quelques secondes', + ss : '%d secondes', + m : 'une minute', + mm : '%d minutes', + h : 'une heure', + hh : '%d heures', + d : 'un jour', + dd : '%d jours', + M : 'un mois', + MM : '%d mois', + y : 'un an', + yy : '%d ans' + }, + dayOfMonthOrdinalParse: /\d{1,2}(er|)/, + ordinal : function (number, period) { + switch (period) { + // TODO: Return 'e' when day of month > 1. Move this case inside + // block for masculine words below. + // See https://github.com/moment/moment/issues/3375 + case 'D': + return number + (number === 1 ? 'er' : ''); + + // Words with masculine grammatical gender: mois, trimestre, jour + default: + case 'M': + case 'Q': + case 'DDD': + case 'd': + return number + (number === 1 ? 'er' : 'e'); + + // Words with feminine grammatical gender: semaine + case 'w': + case 'W': + return number + (number === 1 ? 're' : 'e'); + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/fy.js b/public/bower_components/moment/src/locale/fy.js new file mode 100644 index 0000000..b4b2096 --- /dev/null +++ b/public/bower_components/moment/src/locale/fy.js @@ -0,0 +1,67 @@ +//! moment.js locale configuration +//! locale : Frisian [fy] +//! author : Robin van der Vliet : https://github.com/robin0van0der0v + +import moment from '../moment'; + +var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'), + monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'); + +export default moment.defineLocale('fy', { + months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'), + monthsShort : function (m, format) { + if (!m) { + return monthsShortWithDots; + } else if (/-MMM-/.test(format)) { + return monthsShortWithoutDots[m.month()]; + } else { + return monthsShortWithDots[m.month()]; + } + }, + monthsParseExact : true, + weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'), + weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'), + weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'), + weekdaysParseExact : true, + 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: '[hjoed om] LT', + nextDay: '[moarn om] LT', + nextWeek: 'dddd [om] LT', + lastDay: '[juster om] LT', + lastWeek: '[ôfrûne] dddd [om] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'oer %s', + past : '%s lyn', + s : 'in pear sekonden', + ss : '%d sekonden', + m : 'ien minút', + mm : '%d minuten', + h : 'ien oere', + hh : '%d oeren', + d : 'ien dei', + dd : '%d dagen', + M : 'ien moanne', + MM : '%d moannen', + y : 'ien jier', + yy : '%d jierren' + }, + dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, + ordinal : function (number) { + return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/ga.js b/public/bower_components/moment/src/locale/ga.js new file mode 100644 index 0000000..b603c41 --- /dev/null +++ b/public/bower_components/moment/src/locale/ga.js @@ -0,0 +1,68 @@ +//! moment.js locale configuration +//! locale : Irish or Irish Gaelic [gd] +//! author : André Silva : https://github.com/askpt + +import moment from '../moment'; + + +var months = [ + 'Eanáir', 'Feabhra', 'Márta', 'Aibreán', 'Bealtaine', 'Méitheamh', 'Iúil', 'Lúnasa', 'Meán Fómhair', 'Deaireadh Fómhair', 'Samhain', 'Nollaig' +]; + +var monthsShort = ['Eaná', 'Feab', 'Márt', 'Aibr', 'Beal', 'Méit', 'Iúil', 'Lúna', 'Meán', 'Deai', 'Samh', 'Noll']; + +var weekdays = ['Dé Domhnaigh', 'Dé Luain', 'Dé Máirt', 'Dé Céadaoin', 'Déardaoin', 'Dé hAoine', 'Dé Satharn']; + +var weekdaysShort = ['Dom', 'Lua', 'Mái', 'Céa', 'Déa', 'hAo', 'Sat']; + +var weekdaysMin = ['Do', 'Lu', 'Má', 'Ce', 'Dé', 'hA', 'Sa']; + +export default moment.defineLocale('ga', { + months: months, + monthsShort: monthsShort, + monthsParseExact: true, + weekdays: weekdays, + weekdaysShort: weekdaysShort, + weekdaysMin: weekdaysMin, + 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: '[Inniu ag] LT', + nextDay: '[Amárach ag] LT', + nextWeek: 'dddd [ag] LT', + lastDay: '[Inné aig] LT', + lastWeek: 'dddd [seo caite] [ag] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'i %s', + past: '%s ó shin', + s: 'cúpla soicind', + ss: '%d soicind', + m: 'nóiméad', + mm: '%d nóiméad', + h: 'uair an chloig', + hh: '%d uair an chloig', + d: 'lá', + dd: '%d lá', + M: 'mÃ', + MM: '%d mÃ', + y: 'bliain', + yy: '%d bliain' + }, + dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/, + ordinal: function (number) { + var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; + return number + output; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/gd.js b/public/bower_components/moment/src/locale/gd.js new file mode 100644 index 0000000..b3653d2 --- /dev/null +++ b/public/bower_components/moment/src/locale/gd.js @@ -0,0 +1,68 @@ +//! moment.js locale configuration +//! locale : Scottish Gaelic [gd] +//! author : Jon Ashdown : https://github.com/jonashdown + +import moment from '../moment'; + +var months = [ + 'Am Faoilleach', 'An Gearran', 'Am Mà rt', 'An Giblean', 'An Cèitean', 'An t-Ã’gmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dà mhair', 'An t-Samhain', 'An Dùbhlachd' +]; + +var monthsShort = ['Faoi', 'Gear', 'Mà rt', 'Gibl', 'Cèit', 'Ã’gmh', 'Iuch', 'Lùn', 'Sult', 'Dà mh', 'Samh', 'Dùbh']; + +var weekdays = ['Didòmhnaich', 'Diluain', 'Dimà irt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne']; + +var weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis']; + +var weekdaysMin = ['Dò', 'Lu', 'Mà ', 'Ci', 'Ar', 'Ha', 'Sa']; + +export default moment.defineLocale('gd', { + months : months, + monthsShort : monthsShort, + monthsParseExact : true, + weekdays : weekdays, + weekdaysShort : weekdaysShort, + weekdaysMin : weekdaysMin, + 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 : '[An-diugh aig] LT', + nextDay : '[A-mà ireach aig] LT', + nextWeek : 'dddd [aig] LT', + lastDay : '[An-dè aig] LT', + lastWeek : 'dddd [seo chaidh] [aig] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'ann an %s', + past : 'bho chionn %s', + s : 'beagan diogan', + ss : '%d diogan', + m : 'mionaid', + mm : '%d mionaidean', + h : 'uair', + hh : '%d uairean', + d : 'latha', + dd : '%d latha', + M : 'mìos', + MM : '%d mìosan', + y : 'bliadhna', + yy : '%d bliadhna' + }, + dayOfMonthOrdinalParse : /\d{1,2}(d|na|mh)/, + ordinal : function (number) { + var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/gl.js b/public/bower_components/moment/src/locale/gl.js new file mode 100644 index 0000000..206a8f6 --- /dev/null +++ b/public/bower_components/moment/src/locale/gl.js @@ -0,0 +1,69 @@ +//! moment.js locale configuration +//! locale : Galician [gl] +//! author : Juan G. Hurtado : https://github.com/juanghurtado + +import moment from '../moment'; + +export default moment.defineLocale('gl', { + months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'), + monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'), + monthsParseExact: true, + weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'), + weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'), + weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'DD/MM/YYYY', + LL : 'D [de] MMMM [de] YYYY', + LLL : 'D [de] MMMM [de] YYYY H:mm', + LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm' + }, + calendar : { + sameDay : function () { + return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT'; + }, + nextDay : function () { + return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT'; + }, + nextWeek : function () { + return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT'; + }, + lastDay : function () { + return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT'; + }, + lastWeek : function () { + return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT'; + }, + sameElse : 'L' + }, + relativeTime : { + future : function (str) { + if (str.indexOf('un') === 0) { + return 'n' + str; + } + return 'en ' + str; + }, + past : 'hai %s', + s : 'uns segundos', + ss : '%d segundos', + m : 'un minuto', + mm : '%d minutos', + h : 'unha hora', + hh : '%d horas', + d : 'un dÃa', + dd : '%d dÃas', + M : 'un mes', + MM : '%d meses', + y : 'un ano', + yy : '%d anos' + }, + dayOfMonthOrdinalParse : /\d{1,2}º/, + ordinal : '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/gom-latn.js b/public/bower_components/moment/src/locale/gom-latn.js new file mode 100644 index 0000000..149f874 --- /dev/null +++ b/public/bower_components/moment/src/locale/gom-latn.js @@ -0,0 +1,114 @@ +//! moment.js locale configuration +//! locale : Konkani Latin script [gom-latn] +//! author : The Discoverer : https://github.com/WikiDiscoverer + +import moment from '../moment'; + +function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + 's': ['thodde secondanim', 'thodde second'], + 'ss': [number + ' secondanim', number + ' second'], + 'm': ['eka mintan', 'ek minute'], + 'mm': [number + ' mintanim', number + ' mintam'], + 'h': ['eka voran', 'ek vor'], + 'hh': [number + ' voranim', number + ' voram'], + 'd': ['eka disan', 'ek dis'], + 'dd': [number + ' disanim', number + ' dis'], + 'M': ['eka mhoinean', 'ek mhoino'], + 'MM': [number + ' mhoineanim', number + ' mhoine'], + 'y': ['eka vorsan', 'ek voros'], + 'yy': [number + ' vorsanim', number + ' vorsam'] + }; + return withoutSuffix ? format[key][0] : format[key][1]; +} + +export default moment.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 : true, + 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 : true, + 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 : processRelativeTime, + ss : processRelativeTime, + m : processRelativeTime, + mm : processRelativeTime, + h : processRelativeTime, + hh : processRelativeTime, + d : processRelativeTime, + dd : processRelativeTime, + M : processRelativeTime, + MM : processRelativeTime, + y : processRelativeTime, + yy : processRelativeTime + }, + dayOfMonthOrdinalParse : /\d{1,2}(er)/, + ordinal : function (number, period) { + switch (period) { + // the ordinal 'er' only applies to day of the month + case 'D': + return number + 'er'; + default: + case 'M': + case 'Q': + case 'DDD': + case 'd': + case 'w': + case 'W': + return number; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + }, + meridiemParse: /rati|sokalli|donparam|sanje/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'rati') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'sokalli') { + return hour; + } else if (meridiem === 'donparam') { + return hour > 12 ? hour : hour + 12; + } else if (meridiem === 'sanje') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'rati'; + } else if (hour < 12) { + return 'sokalli'; + } else if (hour < 16) { + return 'donparam'; + } else if (hour < 20) { + return 'sanje'; + } else { + return 'rati'; + } + } +}); diff --git a/public/bower_components/moment/src/locale/gu.js b/public/bower_components/moment/src/locale/gu.js new file mode 100644 index 0000000..af91dfc --- /dev/null +++ b/public/bower_components/moment/src/locale/gu.js @@ -0,0 +1,115 @@ +//! moment.js locale configuration +//! locale : Gujarati [gu] +//! author : Kaushik Thanki : https://github.com/Kaushik1987 + +import moment from '../moment'; + +var symbolMap = { + '1': 'à«§', + '2': '૨', + '3': 'à«©', + '4': '૪', + '5': 'à««', + '6': '૬', + '7': 'à«', + '8': 'à«®', + '9': '૯', + '0': '૦' + }, + numberMap = { + 'à«§': '1', + '૨': '2', + 'à«©': '3', + '૪': '4', + 'à««': '5', + '૬': '6', + 'à«': '7', + 'à«®': '8', + '૯': '9', + '૦': '0' + }; + +export default moment.defineLocale('gu', { + months: 'જાનà«àª¯à«àª†àª°à«€_ફેબà«àª°à«àª†àª°à«€_મારà«àªš_àªàªªà«àª°àª¿àª²_મે_જૂન_જà«àª²àª¾àªˆ_ઑગસà«àªŸ_સપà«àªŸà«‡àª®à«àª¬àª°_ઑકà«àªŸà«àª¬àª°_નવેમà«àª¬àª°_ડિસેમà«àª¬àª°'.split('_'), + monthsShort: 'જાનà«àª¯à«._ફેબà«àª°à«._મારà«àªš_àªàªªà«àª°àª¿._મે_જૂન_જà«àª²àª¾._ઑગ._સપà«àªŸà«‡._ઑકà«àªŸà«._નવે._ડિસે.'.split('_'), + monthsParseExact: true, + 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: 'અમà«àª• પળો', + ss: '%d સેકંડ', + m: 'àªàª• મિનિટ', + mm: '%d મિનિટ', + h: 'àªàª• કલાક', + hh: '%d કલાક', + d: 'àªàª• દિવસ', + dd: '%d દિવસ', + M: 'àªàª• મહિનો', + MM: '%d મહિનો', + y: 'àªàª• વરà«àª·', + yy: '%d વરà«àª·' + }, + preparse: function (string) { + return string.replace(/[૧૨૩૪૫૬à«à«®à«¯à«¦]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + // Gujarati notation for meridiems are quite fuzzy in practice. While there exists + // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati. + meridiemParse: /રાત|બપોર|સવાર|સાંજ/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'રાત') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'સવાર') { + return hour; + } else if (meridiem === 'બપોર') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'સાંજ') { + return hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'રાત'; + } else if (hour < 10) { + return 'સવાર'; + } else if (hour < 17) { + return 'બપોર'; + } else if (hour < 20) { + return 'સાંજ'; + } else { + return 'રાત'; + } + }, + week: { + dow: 0, // Sunday is the first day of the week. + doy: 6 // The week that contains Jan 6th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/he.js b/public/bower_components/moment/src/locale/he.js new file mode 100644 index 0000000..02af634 --- /dev/null +++ b/public/bower_components/moment/src/locale/he.js @@ -0,0 +1,91 @@ +//! moment.js locale configuration +//! locale : Hebrew [he] +//! author : Tomer Cohen : https://github.com/tomer +//! author : Moshe Simantov : https://github.com/DevelopmentIL +//! author : Tal Ater : https://github.com/TalAter + +import moment from '../moment'; + +export default moment.defineLocale('he', { + 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', + l : 'D/M/YYYY', + ll : 'D MMM YYYY', + lll : 'D MMM YYYY HH:mm', + llll : 'ddd, D MMM 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 : function (number) { + if (number === 2) { + return 'שעתיי×'; + } + return number + ' שעות'; + }, + d : 'יו×', + dd : function (number) { + if (number === 2) { + return 'יומיי×'; + } + return number + ' ימי×'; + }, + M : 'חודש', + MM : function (number) { + if (number === 2) { + return 'חודשיי×'; + } + return number + ' חודשי×'; + }, + y : '×©× ×”', + yy : function (number) { + if (number === 2) { + return '×©× ×ª×™×™×'; + } else if (number % 10 === 0 && number !== 10) { + return number + ' ×©× ×”'; + } + return number + ' ×©× ×™×'; + } + }, + meridiemParse: /××—×”"צ|×œ×¤× ×”"צ|×חרי הצהריי×|×œ×¤× ×™ הצהריי×|×œ×¤× ×•×ª בוקר|בבוקר|בערב/i, + isPM : function (input) { + return /^(××—×”"צ|×חרי הצהריי×|בערב)$/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 5) { + return '×œ×¤× ×•×ª בוקר'; + } else if (hour < 10) { + return 'בבוקר'; + } else if (hour < 12) { + return isLower ? '×œ×¤× ×”"צ' : '×œ×¤× ×™ הצהריי×'; + } else if (hour < 18) { + return isLower ? '××—×”"צ' : '×חרי הצהריי×'; + } else { + return 'בערב'; + } + } +}); + diff --git a/public/bower_components/moment/src/locale/hi.js b/public/bower_components/moment/src/locale/hi.js new file mode 100644 index 0000000..0ac41fa --- /dev/null +++ b/public/bower_components/moment/src/locale/hi.js @@ -0,0 +1,116 @@ +//! moment.js locale configuration +//! locale : Hindi [hi] +//! author : Mayank Singhal : https://github.com/mayanksinghal + +import moment from '../moment'; + +var symbolMap = { + '1': '१', + '2': '२', + '3': '३', + '4': '४', + '5': '५', + '6': '६', + '7': 'à¥', + '8': '८', + '9': '९', + '0': '०' +}, +numberMap = { + '१': '1', + '२': '2', + '३': '3', + '४': '4', + '५': '5', + '६': '6', + 'à¥': '7', + '८': '8', + '९': '9', + '०': '0' +}; + +export default moment.defineLocale('hi', { + months : 'जनवरी_फ़रवरी_मारà¥à¤š_अपà¥à¤°à¥ˆà¤²_मई_जून_जà¥à¤²à¤¾à¤ˆ_अगसà¥à¤¤_सितमà¥à¤¬à¤°_अकà¥à¤Ÿà¥‚बर_नवमà¥à¤¬à¤°_दिसमà¥à¤¬à¤°'.split('_'), + monthsShort : 'जन._फ़र._मारà¥à¤š_अपà¥à¤°à¥ˆ._मई_जून_जà¥à¤²._अग._सित._अकà¥à¤Ÿà¥‚._नव._दिस.'.split('_'), + monthsParseExact: true, + 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 : 'कà¥à¤› ही कà¥à¤·à¤£', + ss : '%d सेकंड', + m : 'à¤à¤• मिनट', + mm : '%d मिनट', + h : 'à¤à¤• घंटा', + hh : '%d घंटे', + d : 'à¤à¤• दिन', + dd : '%d दिन', + M : 'à¤à¤• महीने', + MM : '%d महीने', + y : 'à¤à¤• वरà¥à¤·', + yy : '%d वरà¥à¤·' + }, + preparse: function (string) { + return string.replace(/[१२३४५६à¥à¥®à¥¯à¥¦]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + // Hindi notation for meridiems are quite fuzzy in practice. While there exists + // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi. + meridiemParse: /रात|सà¥à¤¬à¤¹|दोपहर|शाम/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'रात') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'सà¥à¤¬à¤¹') { + return hour; + } else if (meridiem === 'दोपहर') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'शाम') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'रात'; + } else if (hour < 10) { + return 'सà¥à¤¬à¤¹'; + } else if (hour < 17) { + return 'दोपहर'; + } else if (hour < 20) { + return 'शाम'; + } else { + return 'रात'; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/hr.js b/public/bower_components/moment/src/locale/hr.js new file mode 100644 index 0000000..188b8c3 --- /dev/null +++ b/public/bower_components/moment/src/locale/hr.js @@ -0,0 +1,145 @@ +//! moment.js locale configuration +//! locale : Croatian [hr] +//! author : Bojan Marković : https://github.com/bmarkovic + +import moment from '../moment'; + +function translate(number, withoutSuffix, key) { + var result = number + ' '; + switch (key) { + case 'ss': + if (number === 1) { + result += 'sekunda'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'sekunde'; + } else { + result += 'sekundi'; + } + return result; + case 'm': + return withoutSuffix ? 'jedna minuta' : 'jedne minute'; + case 'mm': + if (number === 1) { + result += 'minuta'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'minute'; + } else { + result += 'minuta'; + } + return result; + case 'h': + return withoutSuffix ? 'jedan sat' : 'jednog sata'; + case 'hh': + if (number === 1) { + result += 'sat'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'sata'; + } else { + result += 'sati'; + } + return result; + case 'dd': + if (number === 1) { + result += 'dan'; + } else { + result += 'dana'; + } + return result; + case 'MM': + if (number === 1) { + result += 'mjesec'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'mjeseca'; + } else { + result += 'mjeseci'; + } + return result; + case 'yy': + if (number === 1) { + result += 'godina'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'godine'; + } else { + result += 'godina'; + } + return result; + } +} + +export default moment.defineLocale('hr', { + months : { + format: 'sijeÄnja_veljaÄe_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'), + standalone: 'sijeÄanj_veljaÄa_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_') + }, + monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'), + monthsParseExact: true, + weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota'.split('_'), + weekdaysShort : 'ned._pon._uto._sri._Äet._pet._sub.'.split('_'), + weekdaysMin : 'ne_po_ut_sr_Äe_pe_su'.split('_'), + weekdaysParseExact : true, + 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 : '[danas u] LT', + nextDay : '[sutra u] LT', + nextWeek : function () { + switch (this.day()) { + case 0: + return '[u] [nedjelju] [u] LT'; + case 3: + return '[u] [srijedu] [u] LT'; + case 6: + return '[u] [subotu] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[u] dddd [u] LT'; + } + }, + lastDay : '[juÄer u] LT', + lastWeek : function () { + switch (this.day()) { + case 0: + case 3: + return '[proÅ¡lu] dddd [u] LT'; + case 6: + return '[proÅ¡le] [subote] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[proÅ¡li] dddd [u] LT'; + } + }, + sameElse : 'L' + }, + relativeTime : { + future : 'za %s', + past : 'prije %s', + s : 'par sekundi', + ss : translate, + m : translate, + mm : translate, + h : translate, + hh : translate, + d : 'dan', + dd : translate, + M : 'mjesec', + MM : translate, + y : 'godinu', + yy : translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/hu.js b/public/bower_components/moment/src/locale/hu.js new file mode 100644 index 0000000..1e075de --- /dev/null +++ b/public/bower_components/moment/src/locale/hu.js @@ -0,0 +1,103 @@ +//! moment.js locale configuration +//! locale : Hungarian [hu] +//! author : Adam Brunner : https://github.com/adambrunner + +import moment from '../moment'; + +var weekEndings = 'vasárnap hétfÅ‘n kedden szerdán csütörtökön pénteken szombaton'.split(' '); +function translate(number, withoutSuffix, key, isFuture) { + var num = number, + suffix; + switch (key) { + case 's': + return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce'; + case 'ss': + return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce'; + case 'm': + return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce'); + case 'mm': + return num + (isFuture || withoutSuffix ? ' perc' : ' perce'); + case 'h': + return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája'); + case 'hh': + return num + (isFuture || withoutSuffix ? ' óra' : ' órája'); + case 'd': + return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja'); + case 'dd': + return num + (isFuture || withoutSuffix ? ' nap' : ' napja'); + case 'M': + return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); + case 'MM': + return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); + case 'y': + return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve'); + case 'yy': + return num + (isFuture || withoutSuffix ? ' év' : ' éve'); + } + return ''; +} +function week(isFuture) { + return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]'; +} + +export default moment.defineLocale('hu', { + months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'), + monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'), + weekdays : 'vasárnap_hétfÅ‘_kedd_szerda_csütörtök_péntek_szombat'.split('_'), + weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'), + weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'), + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'YYYY.MM.DD.', + LL : 'YYYY. MMMM D.', + LLL : 'YYYY. MMMM D. H:mm', + LLLL : 'YYYY. MMMM D., dddd H:mm' + }, + meridiemParse: /de|du/i, + isPM: function (input) { + return input.charAt(1).toLowerCase() === 'u'; + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 12) { + return isLower === true ? 'de' : 'DE'; + } else { + return isLower === true ? 'du' : 'DU'; + } + }, + calendar : { + sameDay : '[ma] LT[-kor]', + nextDay : '[holnap] LT[-kor]', + nextWeek : function () { + return week.call(this, true); + }, + lastDay : '[tegnap] LT[-kor]', + lastWeek : function () { + return week.call(this, false); + }, + sameElse : 'L' + }, + relativeTime : { + future : '%s múlva', + past : '%s', + s : translate, + ss : translate, + m : translate, + mm : translate, + h : translate, + hh : translate, + d : translate, + dd : translate, + M : translate, + MM : translate, + y : translate, + yy : translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/hy-am.js b/public/bower_components/moment/src/locale/hy-am.js new file mode 100644 index 0000000..6fd533b --- /dev/null +++ b/public/bower_components/moment/src/locale/hy-am.js @@ -0,0 +1,87 @@ +//! moment.js locale configuration +//! locale : Armenian [hy-am] +//! author : Armendarabyan : https://github.com/armendarabyan + +import moment from '../moment'; + +export default moment.defineLocale('hy-am', { + months : { + format: 'Õ°Õ¸Ö‚Õ¶Õ¾Õ¡Ö€Õ«_ÖƒÕ¥Õ¿Ö€Õ¾Õ¡Ö€Õ«_Õ´Õ¡Ö€Õ¿Õ«_Õ¡ÕºÖ€Õ«Õ¬Õ«_Õ´Õ¡ÕµÕ«Õ½Õ«_Õ°Õ¸Ö‚Õ¶Õ«Õ½Õ«_Õ°Õ¸Ö‚Õ¬Õ«Õ½Õ«_Ö…Õ£Õ¸Õ½Õ¿Õ¸Õ½Õ«_Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«_Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«_Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö€Õ«_Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«'.split('_'), + standalone: 'Õ°Õ¸Ö‚Õ¶Õ¾Õ¡Ö€_ÖƒÕ¥Õ¿Ö€Õ¾Õ¡Ö€_Õ´Õ¡Ö€Õ¿_Õ¡ÕºÖ€Õ«Õ¬_Õ´Õ¡ÕµÕ«Õ½_Õ°Õ¸Ö‚Õ¶Õ«Õ½_Õ°Õ¸Ö‚Õ¬Õ«Õ½_Ö…Õ£Õ¸Õ½Õ¿Õ¸Õ½_Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö€_Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€_Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö€_Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€'.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: function () { + return 'dddd [Ö…Ö€Õ¨ ÕªÕ¡Õ´Õ¨] LT'; + }, + lastWeek: function () { + return '[Õ¡Õ¶ÖÕ¡Õ®] 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 Õ¿Õ¡Ö€Õ«' + }, + meridiemParse: /Õ£Õ«Õ·Õ¥Ö€Õ¾Õ¡|Õ¡Õ¼Õ¡Õ¾Õ¸Õ¿Õ¾Õ¡|ÖÕ¥Ö€Õ¥Õ¯Õ¾Õ¡|Õ¥Ö€Õ¥Õ¯Õ¸ÕµÕ¡Õ¶/, + isPM: function (input) { + return /^(ÖÕ¥Ö€Õ¥Õ¯Õ¾Õ¡|Õ¥Ö€Õ¥Õ¯Õ¸ÕµÕ¡Õ¶)$/.test(input); + }, + meridiem : function (hour) { + if (hour < 4) { + return 'Õ£Õ«Õ·Õ¥Ö€Õ¾Õ¡'; + } else if (hour < 12) { + return 'Õ¡Õ¼Õ¡Õ¾Õ¸Õ¿Õ¾Õ¡'; + } else if (hour < 17) { + return 'ÖÕ¥Ö€Õ¥Õ¯Õ¾Õ¡'; + } else { + return 'Õ¥Ö€Õ¥Õ¯Õ¸ÕµÕ¡Õ¶'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(Õ«Õ¶|Ö€Õ¤)/, + ordinal: function (number, period) { + switch (period) { + case 'DDD': + case 'w': + case 'W': + case 'DDDo': + if (number === 1) { + return number + '-Õ«Õ¶'; + } + return number + '-Ö€Õ¤'; + default: + return number; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/id.js b/public/bower_components/moment/src/locale/id.js new file mode 100644 index 0000000..9fa7bff --- /dev/null +++ b/public/bower_components/moment/src/locale/id.js @@ -0,0 +1,74 @@ +//! moment.js locale configuration +//! locale : Indonesian [id] +//! author : Mohammad Satrio Utomo : https://github.com/tyok +//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan + +import moment from '../moment'; + +export default moment.defineLocale('id', { + months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'), + weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'), + weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'), + weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'), + longDateFormat : { + LT : 'HH.mm', + LTS : 'HH.mm.ss', + L : 'DD/MM/YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY [pukul] HH.mm', + LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm' + }, + meridiemParse: /pagi|siang|sore|malam/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'pagi') { + return hour; + } else if (meridiem === 'siang') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'sore' || meridiem === 'malam') { + return hour + 12; + } + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 11) { + return 'pagi'; + } else if (hours < 15) { + return 'siang'; + } else if (hours < 19) { + return 'sore'; + } else { + return 'malam'; + } + }, + calendar : { + sameDay : '[Hari ini pukul] LT', + nextDay : '[Besok pukul] LT', + nextWeek : 'dddd [pukul] LT', + lastDay : '[Kemarin pukul] LT', + lastWeek : 'dddd [lalu pukul] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'dalam %s', + past : '%s yang lalu', + s : 'beberapa detik', + ss : '%d detik', + m : 'semenit', + mm : '%d menit', + h : 'sejam', + hh : '%d jam', + d : 'sehari', + dd : '%d hari', + M : 'sebulan', + MM : '%d bulan', + y : 'setahun', + yy : '%d tahun' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/is.js b/public/bower_components/moment/src/locale/is.js new file mode 100644 index 0000000..51fb8e6 --- /dev/null +++ b/public/bower_components/moment/src/locale/is.js @@ -0,0 +1,124 @@ +//! moment.js locale configuration +//! locale : Icelandic [is] +//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik + +import moment from '../moment'; + +function plural(n) { + if (n % 100 === 11) { + return true; + } else if (n % 10 === 1) { + return false; + } + return true; +} +function translate(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + switch (key) { + case 's': + return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum'; + case 'ss': + if (plural(number)) { + return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum'); + } + return result + 'sekúnda'; + case 'm': + return withoutSuffix ? 'mÃnúta' : 'mÃnútu'; + case 'mm': + if (plural(number)) { + return result + (withoutSuffix || isFuture ? 'mÃnútur' : 'mÃnútum'); + } else if (withoutSuffix) { + return result + 'mÃnúta'; + } + return result + 'mÃnútu'; + case 'hh': + if (plural(number)) { + return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum'); + } + return result + 'klukkustund'; + case 'd': + if (withoutSuffix) { + return 'dagur'; + } + return isFuture ? 'dag' : 'degi'; + case 'dd': + if (plural(number)) { + if (withoutSuffix) { + return result + 'dagar'; + } + return result + (isFuture ? 'daga' : 'dögum'); + } else if (withoutSuffix) { + return result + 'dagur'; + } + return result + (isFuture ? 'dag' : 'degi'); + case 'M': + if (withoutSuffix) { + return 'mánuður'; + } + return isFuture ? 'mánuð' : 'mánuði'; + case 'MM': + if (plural(number)) { + if (withoutSuffix) { + return result + 'mánuðir'; + } + return result + (isFuture ? 'mánuði' : 'mánuðum'); + } else if (withoutSuffix) { + return result + 'mánuður'; + } + return result + (isFuture ? 'mánuð' : 'mánuði'); + case 'y': + return withoutSuffix || isFuture ? 'ár' : 'ári'; + case 'yy': + if (plural(number)) { + return result + (withoutSuffix || isFuture ? 'ár' : 'árum'); + } + return result + (withoutSuffix || isFuture ? 'ár' : 'ári'); + } +} + +export default moment.defineLocale('is', { + months : 'janúar_febrúar_mars_aprÃl_maÃ_júnÃ_júlÃ_ágúst_september_október_nóvember_desember'.split('_'), + monthsShort : 'jan_feb_mar_apr_maÃ_jún_júl_ágú_sep_okt_nóv_des'.split('_'), + weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'), + weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'), + weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'), + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'DD.MM.YYYY', + LL : 'D. MMMM YYYY', + LLL : 'D. MMMM YYYY [kl.] H:mm', + LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm' + }, + calendar : { + sameDay : '[à dag kl.] LT', + nextDay : '[á morgun kl.] LT', + nextWeek : 'dddd [kl.] LT', + lastDay : '[à gær kl.] LT', + lastWeek : '[sÃðasta] dddd [kl.] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'eftir %s', + past : 'fyrir %s sÃðan', + s : translate, + ss : translate, + m : translate, + mm : translate, + h : 'klukkustund', + hh : translate, + d : translate, + dd : translate, + M : translate, + MM : translate, + y : translate, + yy : translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/it-ch.js b/public/bower_components/moment/src/locale/it-ch.js new file mode 100644 index 0000000..bcfe603 --- /dev/null +++ b/public/bower_components/moment/src/locale/it-ch.js @@ -0,0 +1,61 @@ +//! moment.js locale configuration +//! locale : Italian (Switzerland) [it-ch] +//! author : xfh : https://github.com/xfh + +import moment from '../moment'; + +export default moment.defineLocale('it-ch', { + months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'), + monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), + weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'), + weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'), + weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.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: '[Oggi alle] LT', + nextDay: '[Domani alle] LT', + nextWeek: 'dddd [alle] LT', + lastDay: '[Ieri alle] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[la scorsa] dddd [alle] LT'; + default: + return '[lo scorso] dddd [alle] LT'; + } + }, + sameElse: 'L' + }, + relativeTime : { + future : function (s) { + return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s; + }, + past : '%s fa', + s : 'alcuni secondi', + ss : '%d secondi', + m : 'un minuto', + mm : '%d minuti', + h : 'un\'ora', + hh : '%d ore', + d : 'un giorno', + dd : '%d giorni', + M : 'un mese', + MM : '%d mesi', + y : 'un anno', + yy : '%d anni' + }, + dayOfMonthOrdinalParse : /\d{1,2}º/, + ordinal: '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/it.js b/public/bower_components/moment/src/locale/it.js new file mode 100644 index 0000000..a7ce117 --- /dev/null +++ b/public/bower_components/moment/src/locale/it.js @@ -0,0 +1,62 @@ +//! moment.js locale configuration +//! locale : Italian [it] +//! author : Lorenzo : https://github.com/aliem +//! author: Mattia Larentis: https://github.com/nostalgiaz + +import moment from '../moment'; + +export default moment.defineLocale('it', { + months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'), + monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), + weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'), + weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'), + weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.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: '[Oggi alle] LT', + nextDay: '[Domani alle] LT', + nextWeek: 'dddd [alle] LT', + lastDay: '[Ieri alle] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[la scorsa] dddd [alle] LT'; + default: + return '[lo scorso] dddd [alle] LT'; + } + }, + sameElse: 'L' + }, + relativeTime : { + future : function (s) { + return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s; + }, + past : '%s fa', + s : 'alcuni secondi', + ss : '%d secondi', + m : 'un minuto', + mm : '%d minuti', + h : 'un\'ora', + hh : '%d ore', + d : 'un giorno', + dd : '%d giorni', + M : 'un mese', + MM : '%d mesi', + y : 'un anno', + yy : '%d anni' + }, + dayOfMonthOrdinalParse : /\d{1,2}º/, + ordinal: '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/ja.js b/public/bower_components/moment/src/locale/ja.js new file mode 100644 index 0000000..af3e1da --- /dev/null +++ b/public/bower_components/moment/src/locale/ja.js @@ -0,0 +1,84 @@ +//! moment.js locale configuration +//! locale : Japanese [ja] +//! author : LI Long : https://github.com/baryon + +import moment from '../moment'; + +export default moment.defineLocale('ja', { + months : '一月_二月_三月_四月_五月_å…æœˆ_七月_八月_乿œˆ_åæœˆ_å一月_å二月'.split('_'), + monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), + weekdays : '日曜日_月曜日_ç«æ›œæ—¥_水曜日_木曜日_金曜日_土曜日'.split('_'), + weekdaysShort : 'æ—¥_月_ç«_æ°´_木_金_土'.split('_'), + weekdaysMin : 'æ—¥_月_ç«_æ°´_木_金_土'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY/MM/DD', + LL : 'YYYYå¹´M月Dæ—¥', + LLL : 'YYYYå¹´M月Dæ—¥ HH:mm', + LLLL : 'YYYYå¹´M月Dæ—¥ dddd HH:mm', + l : 'YYYY/MM/DD', + ll : 'YYYYå¹´M月Dæ—¥', + lll : 'YYYYå¹´M月Dæ—¥ HH:mm', + llll : 'YYYYå¹´M月Dæ—¥(ddd) HH:mm' + }, + meridiemParse: /åˆå‰|åˆå¾Œ/i, + isPM : function (input) { + return input === 'åˆå¾Œ'; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'åˆå‰'; + } else { + return 'åˆå¾Œ'; + } + }, + calendar : { + sameDay : '[今日] LT', + nextDay : '[明日] LT', + nextWeek : function (now) { + if (now.week() < this.week()) { + return '[æ¥é€±]dddd LT'; + } else { + return 'dddd LT'; + } + }, + lastDay : '[昨日] LT', + lastWeek : function (now) { + if (this.week() < now.week()) { + return '[先週]dddd LT'; + } else { + return 'dddd LT'; + } + }, + sameElse : 'L' + }, + dayOfMonthOrdinalParse : /\d{1,2}æ—¥/, + ordinal : function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + 'æ—¥'; + default: + return number; + } + }, + relativeTime : { + future : '%s後', + past : '%så‰', + s : 'æ•°ç§’', + ss : '%dç§’', + m : '1分', + mm : '%d分', + h : '1時間', + hh : '%d時間', + d : '1æ—¥', + dd : '%dæ—¥', + M : '1ヶ月', + MM : '%dヶ月', + y : '1å¹´', + yy : '%då¹´' + } +}); + diff --git a/public/bower_components/moment/src/locale/jv.js b/public/bower_components/moment/src/locale/jv.js new file mode 100644 index 0000000..f648f16 --- /dev/null +++ b/public/bower_components/moment/src/locale/jv.js @@ -0,0 +1,74 @@ +//! moment.js locale configuration +//! locale : Javanese [jv] +//! author : Rony Lantip : https://github.com/lantip +//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa + +import moment from '../moment'; + +export default moment.defineLocale('jv', { + months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'), + weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'), + weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'), + weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'), + longDateFormat : { + LT : 'HH.mm', + LTS : 'HH.mm.ss', + L : 'DD/MM/YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY [pukul] HH.mm', + LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm' + }, + meridiemParse: /enjing|siyang|sonten|ndalu/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'enjing') { + return hour; + } else if (meridiem === 'siyang') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'sonten' || meridiem === 'ndalu') { + return hour + 12; + } + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 11) { + return 'enjing'; + } else if (hours < 15) { + return 'siyang'; + } else if (hours < 19) { + return 'sonten'; + } else { + return 'ndalu'; + } + }, + calendar : { + sameDay : '[Dinten puniko pukul] LT', + nextDay : '[Mbenjang pukul] LT', + nextWeek : 'dddd [pukul] LT', + lastDay : '[Kala wingi pukul] LT', + lastWeek : 'dddd [kepengker pukul] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'wonten ing %s', + past : '%s ingkang kepengker', + s : 'sawetawis detik', + ss : '%d detik', + m : 'setunggal menit', + mm : '%d menit', + h : 'setunggal jam', + hh : '%d jam', + d : 'sedinten', + dd : '%d dinten', + M : 'sewulan', + MM : '%d wulan', + y : 'setaun', + yy : '%d taun' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/ka.js b/public/bower_components/moment/src/locale/ka.js new file mode 100644 index 0000000..169734b --- /dev/null +++ b/public/bower_components/moment/src/locale/ka.js @@ -0,0 +1,81 @@ +//! moment.js locale configuration +//! locale : Georgian [ka] +//! author : Irakli Janiashvili : https://github.com/irakli-janiashvili + +import moment from '../moment'; + +export default moment.defineLocale('ka', { + months : { + standalone: 'იáƒáƒœáƒ•áƒáƒ ი_თებერვáƒáƒšáƒ˜_მáƒáƒ ტი_áƒáƒžáƒ ილი_მáƒáƒ˜áƒ¡áƒ˜_ივნისი_ივლისი_áƒáƒ’ვისტáƒ_სექტემბერი_áƒáƒ¥áƒ¢áƒáƒ›áƒ‘ერი_ნáƒáƒ”მბერი_დეკემბერი'.split('_'), + format: 'იáƒáƒœáƒ•áƒáƒ ს_თებერვáƒáƒšáƒ¡_მáƒáƒ ტს_áƒáƒžáƒ ილის_მáƒáƒ˜áƒ¡áƒ¡_ივნისს_ივლისს_áƒáƒ’ვისტს_სექტემბერს_áƒáƒ¥áƒ¢áƒáƒ›áƒ‘ერს_ნáƒáƒ”მბერს_დეკემბერს'.split('_') + }, + monthsShort : 'იáƒáƒœ_თებ_მáƒáƒ _áƒáƒžáƒ _მáƒáƒ˜_ივნ_ივლ_áƒáƒ’ვ_სექ_áƒáƒ¥áƒ¢_ნáƒáƒ”_დეკ'.split('_'), + weekdays : { + standalone: 'კვირáƒ_áƒáƒ შáƒáƒ‘áƒáƒ—ი_სáƒáƒ›áƒ¨áƒáƒ‘áƒáƒ—ი_áƒáƒ—ხშáƒáƒ‘áƒáƒ—ი_ხუთშáƒáƒ‘áƒáƒ—ი_პáƒáƒ áƒáƒ¡áƒ™áƒ”ვი_შáƒáƒ‘áƒáƒ—ი'.split('_'), + format: 'კვირáƒáƒ¡_áƒáƒ შáƒáƒ‘áƒáƒ—ს_სáƒáƒ›áƒ¨áƒáƒ‘áƒáƒ—ს_áƒáƒ—ხშáƒáƒ‘áƒáƒ—ს_ხუთშáƒáƒ‘áƒáƒ—ს_პáƒáƒ áƒáƒ¡áƒ™áƒ”ვს_შáƒáƒ‘áƒáƒ—ს'.split('_'), + isFormat: /(წინáƒ|შემდეგ)/ + }, + weekdaysShort : 'კვი_áƒáƒ შ_სáƒáƒ›_áƒáƒ—ხ_ხუთ_პáƒáƒ _შáƒáƒ‘'.split('_'), + weekdaysMin : 'კვ_áƒáƒ _სáƒ_áƒáƒ—_ხუ_პáƒ_შáƒ'.split('_'), + 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 : '[დღეს] LT[-ზე]', + nextDay : '[ხვáƒáƒš] LT[-ზე]', + lastDay : '[გუშინ] LT[-ზე]', + nextWeek : '[შემდეგ] dddd LT[-ზე]', + lastWeek : '[წინáƒ] dddd LT-ზე', + sameElse : 'L' + }, + relativeTime : { + future : function (s) { + return (/(წáƒáƒ›áƒ˜|წუთი|სáƒáƒáƒ—ი|წელი)/).test(s) ? + s.replace(/ი$/, 'ში') : + s + 'ში'; + }, + past : function (s) { + if ((/(წáƒáƒ›áƒ˜|წუთი|სáƒáƒáƒ—ი|დღე|თვე)/).test(s)) { + return s.replace(/(ი|ე)$/, 'ის წინ'); + } + if ((/წელი/).test(s)) { + return s.replace(/წელი$/, 'წლის წინ'); + } + }, + s : 'რáƒáƒ›áƒ“ენიმე წáƒáƒ›áƒ˜', + ss : '%d წáƒáƒ›áƒ˜', + m : 'წუთი', + mm : '%d წუთი', + h : 'სáƒáƒáƒ—ი', + hh : '%d სáƒáƒáƒ—ი', + d : 'დღე', + dd : '%d დღე', + M : 'თვე', + MM : '%d თვე', + y : 'წელი', + yy : '%d წელი' + }, + dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/, + ordinal : function (number) { + if (number === 0) { + return number; + } + if (number === 1) { + return number + '-ლი'; + } + if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) { + return 'მე-' + number; + } + return number + '-ე'; + }, + week : { + dow : 1, + doy : 7 + } +}); + diff --git a/public/bower_components/moment/src/locale/kk.js b/public/bower_components/moment/src/locale/kk.js new file mode 100644 index 0000000..ab79a21 --- /dev/null +++ b/public/bower_components/moment/src/locale/kk.js @@ -0,0 +1,78 @@ +//! moment.js locale configuration +//! locale : Kazakh [kk] +//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan + +import moment from '../moment'; + +var suffixes = { + 0: '-ші', + 1: '-ші', + 2: '-ші', + 3: '-ші', + 4: '-ші', + 5: '-ші', + 6: '-шы', + 7: '-ші', + 8: '-ші', + 9: '-шы', + 10: '-шы', + 20: '-шы', + 30: '-шы', + 40: '-шы', + 50: '-ші', + 60: '-шы', + 70: '-ші', + 80: '-ші', + 90: '-шы', + 100: '-ші' +}; + +export default moment.defineLocale('kk', { + 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 (number) { + var a = number % 10, + b = number >= 100 ? 100 : null; + return number + (suffixes[number] || suffixes[a] || suffixes[b]); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/km.js b/public/bower_components/moment/src/locale/km.js new file mode 100644 index 0000000..b364ffe --- /dev/null +++ b/public/bower_components/moment/src/locale/km.js @@ -0,0 +1,101 @@ +//! moment.js locale configuration +//! locale : Cambodian [km] +//! author : Kruy Vanna : https://github.com/kruyvanna + +import moment from '../moment'; + +var symbolMap = { + '1': '១', + '2': '២', + '3': '៣', + '4': '៤', + '5': '៥', + '6': '៦', + '7': '៧', + '8': '៨', + '9': '៩', + '0': '០' +}, numberMap = { + '១': '1', + '២': '2', + '៣': '3', + '៤': '4', + '៥': '5', + '៦': '6', + '៧': '7', + '៨': '8', + '៩': '9', + '០': '0' +}; + +export default moment.defineLocale('km', { + months: 'មករា_កុម្ភៈ_មីនា_មáŸážŸáž¶_ឧសភា_មិážáž»áž“áž¶_កក្កដា_សីហា_កញ្ញា_ážáž»áž›áž¶_វិច្ឆិកា_ធ្នូ'.split( + '_' + ), + monthsShort: 'មករា_កុម្ភៈ_មីនា_មáŸážŸáž¶_ឧសភា_មិážáž»áž“áž¶_កក្កដា_សីហា_កញ្ញា_ážáž»áž›áž¶_វិច្ឆិកា_ធ្នូ'.split( + '_' + ), + weekdays: 'អាទិážáŸ’áž™_áž…áŸáž“្ទ_អង្គារ_ពុធ_ព្រហស្បážáž·áŸ_សុក្រ_សៅរáŸ'.split('_'), + weekdaysShort: 'អា_áž…_អ_áž–_ព្រ_សុ_ស'.split('_'), + weekdaysMin: 'អា_áž…_អ_áž–_ព្រ_សុ_ស'.split('_'), + weekdaysParseExact: true, + 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 (input) { + return input === 'ល្ងាច'; + }, + meridiem: function (hour, minute, isLower) { + if (hour < 12) { + return 'ព្រឹក'; + } else { + return 'ល្ងាច'; + } + }, + 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 (string) { + return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/kn.js b/public/bower_components/moment/src/locale/kn.js new file mode 100644 index 0000000..0228e74 --- /dev/null +++ b/public/bower_components/moment/src/locale/kn.js @@ -0,0 +1,117 @@ +//! moment.js locale configuration +//! locale : Kannada [kn] +//! author : Rajeev Naik : https://github.com/rajeevnaikte + +import moment from '../moment'; + +var symbolMap = { + '1': 'à³§', + '2': '೨', + '3': '೩', + '4': '೪', + '5': '೫', + '6': '೬', + '7': 'à³', + '8': 'à³®', + '9': '೯', + '0': '೦' +}, +numberMap = { + 'à³§': '1', + '೨': '2', + '೩': '3', + '೪': '4', + '೫': '5', + '೬': '6', + 'à³': '7', + 'à³®': '8', + '೯': '9', + '೦': '0' +}; + +export default moment.defineLocale('kn', { + months : 'ಜನವರಿ_ಫೆಬà³à²°à²µà²°à²¿_ಮಾರà³à²šà³_à²à²ªà³à²°à²¿à²²à³_ಮೇ_ಜೂನà³_ಜà³à²²à³†à³–_ಆಗಸà³à²Ÿà³_ಸೆಪà³à²Ÿà³†à²‚ಬರà³_ಅಕà³à²Ÿà³†à³‚ೕಬರà³_ನವೆಂಬರà³_ಡಿಸೆಂಬರà³'.split('_'), + monthsShort : 'ಜನ_ಫೆಬà³à²°_ಮಾರà³à²šà³_à²à²ªà³à²°à²¿à²²à³_ಮೇ_ಜೂನà³_ಜà³à²²à³†à³–_ಆಗಸà³à²Ÿà³_ಸೆಪà³à²Ÿà³†à²‚_ಅಕà³à²Ÿà³†à³‚ೕ_ನವೆಂ_ಡಿಸೆಂ'.split('_'), + monthsParseExact: true, + 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 : 'ಕೆಲವೠಕà³à²·à²£à²—ಳà³', + ss : '%d ಸೆಕೆಂಡà³à²—ಳà³', + m : 'ಒಂದೠನಿಮಿಷ', + mm : '%d ನಿಮಿಷ', + h : 'ಒಂದೠಗಂಟೆ', + hh : '%d ಗಂಟೆ', + d : 'ಒಂದೠದಿನ', + dd : '%d ದಿನ', + M : 'ಒಂದೠತಿಂಗಳà³', + MM : '%d ತಿಂಗಳà³', + y : 'ಒಂದೠವರà³à²·', + yy : '%d ವರà³à²·' + }, + preparse: function (string) { + return string.replace(/[೧೨೩೪೫೬à³à³®à³¯à³¦]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + meridiemParse: /ರಾತà³à²°à²¿|ಬೆಳಿಗà³à²—ೆ|ಮಧà³à²¯à²¾à²¹à³à²¨|ಸಂಜೆ/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'ರಾತà³à²°à²¿') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'ಬೆಳಿಗà³à²—ೆ') { + return hour; + } else if (meridiem === 'ಮಧà³à²¯à²¾à²¹à³à²¨') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'ಸಂಜೆ') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'ರಾತà³à²°à²¿'; + } else if (hour < 10) { + return 'ಬೆಳಿಗà³à²—ೆ'; + } else if (hour < 17) { + return 'ಮಧà³à²¯à²¾à²¹à³à²¨'; + } else if (hour < 20) { + return 'ಸಂಜೆ'; + } else { + return 'ರಾತà³à²°à²¿'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/, + ordinal : function (number) { + return number + 'ನೇ'; + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/ko.js b/public/bower_components/moment/src/locale/ko.js new file mode 100644 index 0000000..d2da13d --- /dev/null +++ b/public/bower_components/moment/src/locale/ko.js @@ -0,0 +1,74 @@ +//! moment.js locale configuration +//! locale : Korean [ko] +//! author : Kyungwook, Park : https://github.com/kyungw00k +//! author : Jeeeyul Lee <jeeeyul@gmail.com> + +import moment from '../moment'; + +export default moment.defineLocale('ko', { + months : '1ì›”_2ì›”_3ì›”_4ì›”_5ì›”_6ì›”_7ì›”_8ì›”_9ì›”_10ì›”_11ì›”_12ì›”'.split('_'), + monthsShort : '1ì›”_2ì›”_3ì›”_4ì›”_5ì›”_6ì›”_7ì›”_8ì›”_9ì›”_10ì›”_11ì›”_12ì›”'.split('_'), + weekdays : 'ì¼ìš”ì¼_월요ì¼_화요ì¼_수요ì¼_목요ì¼_금요ì¼_í† ìš”ì¼'.split('_'), + weekdaysShort : 'ì¼_ì›”_í™”_수_목_금_í† '.split('_'), + weekdaysMin : 'ì¼_ì›”_í™”_수_목_금_í† '.split('_'), + longDateFormat : { + LT : 'A h:mm', + LTS : 'A h:mm:ss', + L : 'YYYY.MM.DD.', + LL : 'YYYYë…„ MMMM Dì¼', + LLL : 'YYYYë…„ MMMM Dì¼ A h:mm', + LLLL : 'YYYYë…„ MMMM Dì¼ dddd A h:mm', + l : 'YYYY.MM.DD.', + ll : 'YYYYë…„ MMMM Dì¼', + lll : 'YYYYë…„ MMMM Dì¼ A h:mm', + llll : 'YYYYë…„ MMMM Dì¼ dddd A h: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 : '1ë¶„', + mm : '%dë¶„', + h : '한 시간', + hh : '%d시간', + d : '하루', + dd : '%dì¼', + M : '한 달', + MM : '%d달', + y : 'ì¼ ë…„', + yy : '%dë…„' + }, + dayOfMonthOrdinalParse : /\d{1,2}(ì¼|ì›”|주)/, + ordinal : function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + 'ì¼'; + case 'M': + return number + 'ì›”'; + case 'w': + case 'W': + return number + '주'; + default: + return number; + } + }, + meridiemParse : /ì˜¤ì „|오후/, + isPM : function (token) { + return token === '오후'; + }, + meridiem : function (hour, minute, isUpper) { + return hour < 12 ? 'ì˜¤ì „' : '오후'; + } +}); + diff --git a/public/bower_components/moment/src/locale/ku.js b/public/bower_components/moment/src/locale/ku.js new file mode 100644 index 0000000..c31ba05 --- /dev/null +++ b/public/bower_components/moment/src/locale/ku.js @@ -0,0 +1,110 @@ +//! moment.js locale configuration +//! locale : Kurdish [ku] +//! author : Shahram Mebashar : https://github.com/ShahramMebashar + +import moment from '../moment'; + +var symbolMap = { + '1': 'Ù¡', + '2': 'Ù¢', + '3': 'Ù£', + '4': 'Ù¤', + '5': 'Ù¥', + '6': 'Ù¦', + '7': 'Ù§', + '8': 'Ù¨', + '9': 'Ù©', + '0': 'Ù ' +}, numberMap = { + 'Ù¡': '1', + 'Ù¢': '2', + 'Ù£': '3', + 'Ù¤': '4', + 'Ù¥': '5', + 'Ù¦': '6', + 'Ù§': '7', + 'Ù¨': '8', + 'Ù©': '9', + 'Ù ': '0' +}, +months = [ + 'کانونی دووەم', + 'شوبات', + 'ئازار', + 'نیسان', + 'ئایار', + 'ØÙˆØ²Û•یران', + 'تەمموز', + 'ئاب', + 'ئەیلوول', + 'تشرینی یەكەم', + 'تشرینی دووەم', + 'كانونی یەکەم' +]; + + +export default moment.defineLocale('ku', { + months : months, + monthsShort : months, + weekdays : 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split('_'), + weekdaysShort : 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'), + weekdaysMin : 'ÛŒ_د_س_Ú†_Ù¾_Ù‡_Ø´'.split('_'), + weekdaysParseExact : true, + 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 (input) { + return /ئێواره‌/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'به‌یانی'; + } else { + return 'ئێواره‌'; + } + }, + 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 (string) { + return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { + return numberMap[match]; + }).replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }).replace(/,/g, 'ØŒ'); + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/ky.js b/public/bower_components/moment/src/locale/ky.js new file mode 100644 index 0000000..8bd78f7 --- /dev/null +++ b/public/bower_components/moment/src/locale/ky.js @@ -0,0 +1,79 @@ +//! moment.js locale configuration +//! locale : Kyrgyz [ky] +//! author : Chyngyz Arystan uulu : https://github.com/chyngyz + + +import moment from '../moment'; + +var suffixes = { + 0: '-чү', + 1: '-чи', + 2: '-чи', + 3: '-чү', + 4: '-чү', + 5: '-чи', + 6: '-чы', + 7: '-чи', + 8: '-чи', + 9: '-чу', + 10: '-чу', + 20: '-чы', + 30: '-чу', + 40: '-чы', + 50: '-чү', + 60: '-чы', + 70: '-чи', + 80: '-чи', + 90: '-чу', + 100: '-чү' +}; + +export default moment.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 (number) { + var a = number % 10, + b = number >= 100 ? 100 : null; + return number + (suffixes[number] || suffixes[a] || suffixes[b]); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/lb.js b/public/bower_components/moment/src/locale/lb.js new file mode 100644 index 0000000..8574277 --- /dev/null +++ b/public/bower_components/moment/src/locale/lb.js @@ -0,0 +1,129 @@ +//! moment.js locale configuration +//! locale : Luxembourgish [lb] +//! author : mweimerskirch : https://github.com/mweimerskirch +//! author : David Raison : https://github.com/kwisatz + +import moment from '../moment'; + +function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + 'm': ['eng Minutt', 'enger Minutt'], + 'h': ['eng Stonn', 'enger Stonn'], + 'd': ['een Dag', 'engem Dag'], + 'M': ['ee Mount', 'engem Mount'], + 'y': ['ee Joer', 'engem Joer'] + }; + return withoutSuffix ? format[key][0] : format[key][1]; +} +function processFutureTime(string) { + var number = string.substr(0, string.indexOf(' ')); + if (eifelerRegelAppliesToNumber(number)) { + return 'a ' + string; + } + return 'an ' + string; +} +function processPastTime(string) { + var number = string.substr(0, string.indexOf(' ')); + if (eifelerRegelAppliesToNumber(number)) { + return 'viru ' + string; + } + return 'virun ' + string; +} +/** + * Returns true if the word before the given number loses the '-n' ending. + * e.g. 'an 10 Deeg' but 'a 5 Deeg' + * + * @param number {integer} + * @returns {boolean} + */ +function eifelerRegelAppliesToNumber(number) { + number = parseInt(number, 10); + if (isNaN(number)) { + return false; + } + if (number < 0) { + // Negative Number --> always true + return true; + } else if (number < 10) { + // Only 1 digit + if (4 <= number && number <= 7) { + return true; + } + return false; + } else if (number < 100) { + // 2 digits + var lastDigit = number % 10, firstDigit = number / 10; + if (lastDigit === 0) { + return eifelerRegelAppliesToNumber(firstDigit); + } + return eifelerRegelAppliesToNumber(lastDigit); + } else if (number < 10000) { + // 3 or 4 digits --> recursively check first digit + while (number >= 10) { + number = number / 10; + } + return eifelerRegelAppliesToNumber(number); + } else { + // Anything larger than 4 digits: recursively check first n-3 digits + number = number / 1000; + return eifelerRegelAppliesToNumber(number); + } +} + +export default moment.defineLocale('lb', { + months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), + monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'), + monthsParseExact : true, + weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'), + weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'), + weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'), + weekdaysParseExact : true, + longDateFormat: { + LT: 'H:mm [Auer]', + LTS: 'H:mm:ss [Auer]', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY H:mm [Auer]', + LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]' + }, + calendar: { + sameDay: '[Haut um] LT', + sameElse: 'L', + nextDay: '[Muer um] LT', + nextWeek: 'dddd [um] LT', + lastDay: '[Gëschter um] LT', + lastWeek: function () { + // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule + switch (this.day()) { + case 2: + case 4: + return '[Leschten] dddd [um] LT'; + default: + return '[Leschte] dddd [um] LT'; + } + } + }, + relativeTime : { + future : processFutureTime, + past : processPastTime, + s : 'e puer Sekonnen', + ss : '%d Sekonnen', + m : processRelativeTime, + mm : '%d Minutten', + h : processRelativeTime, + hh : '%d Stonnen', + d : processRelativeTime, + dd : '%d Deeg', + M : processRelativeTime, + MM : '%d Méint', + y : processRelativeTime, + yy : '%d Joer' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/lo.js b/public/bower_components/moment/src/locale/lo.js new file mode 100644 index 0000000..3226dd5 --- /dev/null +++ b/public/bower_components/moment/src/locale/lo.js @@ -0,0 +1,62 @@ +//! moment.js locale configuration +//! locale : Lao [lo] +//! author : Ryan Hart : https://github.com/ryanhart2 + +import moment from '../moment'; + +export default moment.defineLocale('lo', { + months : 'ມັງàºàºàº™_àºàº¸àº¡àºžàº²_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_àºà»àº¥àº°àºàº»àº”_ສິງຫາ_àºàº±àº™àºàº²_ຕຸລາ_ພະຈິàº_ທັນວາ'.split('_'), + monthsShort : 'ມັງàºàºàº™_àºàº¸àº¡àºžàº²_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_àºà»àº¥àº°àºàº»àº”_ສິງຫາ_àºàº±àº™àºàº²_ຕຸລາ_ພະຈິàº_ທັນວາ'.split('_'), + weekdays : 'àºàº²àº—ິດ_ຈັນ_àºàº±àº‡àº„ານ_ພຸດ_ພະຫັດ_ສຸàº_ເສົາ'.split('_'), + weekdaysShort : 'ທິດ_ຈັນ_àºàº±àº‡àº„ານ_ພຸດ_ພະຫັດ_ສຸàº_ເສົາ'.split('_'), + weekdaysMin : 'ທ_ຈ_àºàº„_ພ_ພຫ_ສàº_ສ'.split('_'), + weekdaysParseExact : true, + 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 (input) { + return input === 'ຕàºàº™à»àº¥àº‡'; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'ຕàºàº™à»€àºŠàº»à»‰àº²'; + } else { + return 'ຕàºàº™à»àº¥àº‡'; + } + }, + calendar : { + sameDay : '[ມື້ນີ້ເວລາ] LT', + nextDay : '[ມື້àºàº·à»ˆàº™à»€àº§àº¥àº²] LT', + nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT', + lastDay : '[ມື້ວານນີ້ເວລາ] LT', + lastWeek : '[ວັນ]dddd[à»àº¥à»‰àº§àº™àºµà»‰à»€àº§àº¥àº²] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'àºàºµàº %s', + past : '%sຜ່ານມາ', + s : 'ບà»à»ˆà»€àº—ົ່າໃດວິນາທີ', + ss : '%d ວິນາທີ' , + m : '1 ນາທີ', + mm : '%d ນາທີ', + h : '1 ຊົ່ວໂມງ', + hh : '%d ຊົ່ວໂມງ', + d : '1 ມື້', + dd : '%d ມື້', + M : '1 ເດືàºàº™', + MM : '%d ເດືàºàº™', + y : '1 ປີ', + yy : '%d ປີ' + }, + dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/, + ordinal : function (number) { + return 'ທີ່' + number; + } +}); + diff --git a/public/bower_components/moment/src/locale/lt.js b/public/bower_components/moment/src/locale/lt.js new file mode 100644 index 0000000..d006e07 --- /dev/null +++ b/public/bower_components/moment/src/locale/lt.js @@ -0,0 +1,110 @@ +//! moment.js locale configuration +//! locale : Lithuanian [lt] +//! author : Mindaugas MozÅ«ras : https://github.com/mmozuras + +import moment from '../moment'; + +var units = { + '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' +}; +function translateSeconds(number, withoutSuffix, key, isFuture) { + if (withoutSuffix) { + return 'kelios sekundÄ—s'; + } else { + return isFuture ? 'kelių sekundžių' : 'kelias sekundes'; + } +} +function translateSingular(number, withoutSuffix, key, isFuture) { + return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]); +} +function special(number) { + return number % 10 === 0 || (number > 10 && number < 20); +} +function forms(key) { + return units[key].split('_'); +} +function translate(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + if (number === 1) { + return result + translateSingular(number, withoutSuffix, key[0], isFuture); + } else if (withoutSuffix) { + return result + (special(number) ? forms(key)[1] : forms(key)[0]); + } else { + if (isFuture) { + return result + forms(key)[1]; + } else { + return result + (special(number) ? forms(key)[1] : forms(key)[2]); + } + } +} +export default moment.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 : true, + 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 : translateSeconds, + ss : translate, + m : translateSingular, + mm : translate, + h : translateSingular, + hh : translate, + d : translateSingular, + dd : translate, + M : translateSingular, + MM : translate, + y : translateSingular, + yy : translate + }, + dayOfMonthOrdinalParse: /\d{1,2}-oji/, + ordinal : function (number) { + return number + '-oji'; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/lv.js b/public/bower_components/moment/src/locale/lv.js new file mode 100644 index 0000000..d13b47b --- /dev/null +++ b/public/bower_components/moment/src/locale/lv.js @@ -0,0 +1,90 @@ +//! moment.js locale configuration +//! locale : Latvian [lv] +//! author : Kristaps Karlsons : https://github.com/skakri +//! author : JÄnis Elmeris : https://github.com/JanisE + +import moment from '../moment'; + +var units = { + 'ss': 'sekundes_sekundÄ“m_sekunde_sekundes'.split('_'), + 'm': 'minÅ«tes_minÅ«tÄ“m_minÅ«te_minÅ«tes'.split('_'), + 'mm': 'minÅ«tes_minÅ«tÄ“m_minÅ«te_minÅ«tes'.split('_'), + 'h': 'stundas_stundÄm_stunda_stundas'.split('_'), + 'hh': 'stundas_stundÄm_stunda_stundas'.split('_'), + 'd': 'dienas_dienÄm_diena_dienas'.split('_'), + 'dd': 'dienas_dienÄm_diena_dienas'.split('_'), + 'M': 'mÄ“neÅ¡a_mÄ“neÅ¡iem_mÄ“nesis_mÄ“neÅ¡i'.split('_'), + 'MM': 'mÄ“neÅ¡a_mÄ“neÅ¡iem_mÄ“nesis_mÄ“neÅ¡i'.split('_'), + 'y': 'gada_gadiem_gads_gadi'.split('_'), + 'yy': 'gada_gadiem_gads_gadi'.split('_') +}; +/** + * @param withoutSuffix boolean true = a length of time; false = before/after a period of time. + */ +function format(forms, number, withoutSuffix) { + if (withoutSuffix) { + // E.g. "21 minÅ«te", "3 minÅ«tes". + return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3]; + } else { + // E.g. "21 minÅ«tes" as in "pÄ“c 21 minÅ«tes". + // E.g. "3 minÅ«tÄ“m" as in "pÄ“c 3 minÅ«tÄ“m". + return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1]; + } +} +function relativeTimeWithPlural(number, withoutSuffix, key) { + return number + ' ' + format(units[key], number, withoutSuffix); +} +function relativeTimeWithSingular(number, withoutSuffix, key) { + return format(units[key], number, withoutSuffix); +} +function relativeSeconds(number, withoutSuffix) { + return withoutSuffix ? 'dažas sekundes' : 'dažÄm sekundÄ“m'; +} + +export default moment.defineLocale('lv', { + months : 'janvÄris_februÄris_marts_aprÄ«lis_maijs_jÅ«nijs_jÅ«lijs_augusts_septembris_oktobris_novembris_decembris'.split('_'), + monthsShort : 'jan_feb_mar_apr_mai_jÅ«n_jÅ«l_aug_sep_okt_nov_dec'.split('_'), + weekdays : 'svÄ“tdiena_pirmdiena_otrdiena_treÅ¡diena_ceturtdiena_piektdiena_sestdiena'.split('_'), + weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'), + weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD.MM.YYYY.', + LL : 'YYYY. [gada] D. MMMM', + LLL : 'YYYY. [gada] D. MMMM, HH:mm', + LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm' + }, + calendar : { + sameDay : '[Å odien pulksten] LT', + nextDay : '[RÄ«t pulksten] LT', + nextWeek : 'dddd [pulksten] LT', + lastDay : '[Vakar pulksten] LT', + lastWeek : '[PagÄjuÅ¡Ä] dddd [pulksten] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'pÄ“c %s', + past : 'pirms %s', + s : relativeSeconds, + ss : relativeTimeWithPlural, + m : relativeTimeWithSingular, + mm : relativeTimeWithPlural, + h : relativeTimeWithSingular, + hh : relativeTimeWithPlural, + d : relativeTimeWithSingular, + dd : relativeTimeWithPlural, + M : relativeTimeWithSingular, + MM : relativeTimeWithPlural, + y : relativeTimeWithSingular, + yy : relativeTimeWithPlural + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/me.js b/public/bower_components/moment/src/locale/me.js new file mode 100644 index 0000000..b42e9c8 --- /dev/null +++ b/public/bower_components/moment/src/locale/me.js @@ -0,0 +1,103 @@ +//! moment.js locale configuration +//! locale : Montenegrin [me] +//! author : Miodrag NikaÄ <miodrag@restartit.me> : https://github.com/miodragnikac + +import moment from '../moment'; + +var translator = { + words: { //Different grammatical cases + ss: ['sekund', 'sekunda', 'sekundi'], + m: ['jedan minut', 'jednog minuta'], + mm: ['minut', 'minuta', 'minuta'], + h: ['jedan sat', 'jednog sata'], + hh: ['sat', 'sata', 'sati'], + dd: ['dan', 'dana', 'dana'], + MM: ['mjesec', 'mjeseca', 'mjeseci'], + yy: ['godina', 'godine', 'godina'] + }, + correctGrammaticalCase: function (number, wordKey) { + return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]); + }, + translate: function (number, withoutSuffix, key) { + var wordKey = translator.words[key]; + if (key.length === 1) { + return withoutSuffix ? wordKey[0] : wordKey[1]; + } else { + return number + ' ' + translator.correctGrammaticalCase(number, wordKey); + } + } +}; + +export default moment.defineLocale('me', { + months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'), + monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'), + monthsParseExact : true, + weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota'.split('_'), + weekdaysShort: 'ned._pon._uto._sri._Äet._pet._sub.'.split('_'), + weekdaysMin: 'ne_po_ut_sr_Äe_pe_su'.split('_'), + weekdaysParseExact : true, + 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: '[danas u] LT', + nextDay: '[sjutra u] LT', + + nextWeek: function () { + switch (this.day()) { + case 0: + return '[u] [nedjelju] [u] LT'; + case 3: + return '[u] [srijedu] [u] LT'; + case 6: + return '[u] [subotu] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[u] dddd [u] LT'; + } + }, + lastDay : '[juÄe u] LT', + lastWeek : function () { + var lastWeekDays = [ + '[proÅ¡le] [nedjelje] [u] LT', + '[proÅ¡log] [ponedjeljka] [u] LT', + '[proÅ¡log] [utorka] [u] LT', + '[proÅ¡le] [srijede] [u] LT', + '[proÅ¡log] [Äetvrtka] [u] LT', + '[proÅ¡log] [petka] [u] LT', + '[proÅ¡le] [subote] [u] LT' + ]; + return lastWeekDays[this.day()]; + }, + sameElse : 'L' + }, + relativeTime : { + future : 'za %s', + past : 'prije %s', + s : 'nekoliko sekundi', + ss : translator.translate, + m : translator.translate, + mm : translator.translate, + h : translator.translate, + hh : translator.translate, + d : 'dan', + dd : translator.translate, + M : 'mjesec', + MM : translator.translate, + y : 'godinu', + yy : translator.translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/mi.js b/public/bower_components/moment/src/locale/mi.js new file mode 100644 index 0000000..0c105e5 --- /dev/null +++ b/public/bower_components/moment/src/locale/mi.js @@ -0,0 +1,55 @@ +//! moment.js locale configuration +//! locale : Maori [mi] +//! author : John Corrigan <robbiecloset@gmail.com> : https://github.com/johnideal + +import moment from '../moment'; + +export default moment.defineLocale('mi', { + months: 'Kohi-tÄte_Hui-tanguru_PoutÅ«-te-rangi_Paenga-whÄwhÄ_Haratua_Pipiri_HÅngoingoi_Here-turi-kÅkÄ_Mahuru_Whiringa-Ä-nuku_Whiringa-Ä-rangi_Hakihea'.split('_'), + monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_HÅngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'), + monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, + monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, + monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, + monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i, + weekdays: 'RÄtapu_Mane_TÅ«rei_Wenerei_TÄite_Paraire_HÄtarei'.split('_'), + weekdaysShort: 'Ta_Ma_TÅ«_We_TÄi_Pa_HÄ'.split('_'), + weekdaysMin: 'Ta_Ma_TÅ«_We_TÄi_Pa_HÄ'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY [i] HH:mm', + LLLL: 'dddd, D MMMM YYYY [i] HH:mm' + }, + calendar: { + sameDay: '[i teie mahana, i] LT', + nextDay: '[apopo i] LT', + nextWeek: 'dddd [i] LT', + lastDay: '[inanahi i] LT', + lastWeek: 'dddd [whakamutunga i] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'i roto i %s', + past: '%s i mua', + s: 'te hÄ“kona ruarua', + ss: '%d hÄ“kona', + m: 'he meneti', + mm: '%d meneti', + h: 'te haora', + hh: '%d haora', + d: 'he ra', + dd: '%d ra', + M: 'he marama', + MM: '%d marama', + y: 'he tau', + yy: '%d tau' + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/mk.js b/public/bower_components/moment/src/locale/mk.js new file mode 100644 index 0000000..701ab65 --- /dev/null +++ b/public/bower_components/moment/src/locale/mk.js @@ -0,0 +1,82 @@ +//! moment.js locale configuration +//! locale : Macedonian [mk] +//! author : Borislav Mickov : https://github.com/B0k0 + +import moment from '../moment'; + +export default moment.defineLocale('mk', { + months : 'јануари_февруари_март_април_мај_јуни_јули_авгуÑÑ‚_Ñептември_октомври_ноември_декември'.split('_'), + monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_Ñеп_окт_ное_дек'.split('_'), + weekdays : 'недела_понеделник_вторник_Ñреда_четврток_петок_Ñабота'.split('_'), + weekdaysShort : 'нед_пон_вто_Ñре_чет_пет_Ñаб'.split('_'), + weekdaysMin : 'нe_пo_вт_ÑÑ€_че_пе_Ña'.split('_'), + longDateFormat : { + LT : 'H:mm', + LTS : 'H:mm:ss', + L : 'D.MM.YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY H:mm', + LLLL : 'dddd, D MMMM YYYY H:mm' + }, + calendar : { + sameDay : '[Ð”ÐµÐ½ÐµÑ Ð²Ð¾] LT', + nextDay : '[Утре во] LT', + nextWeek : '[Во] dddd [во] LT', + lastDay : '[Вчера во] LT', + lastWeek : function () { + switch (this.day()) { + case 0: + case 3: + case 6: + return '[Изминатата] dddd [во] LT'; + case 1: + case 2: + case 4: + case 5: + return '[Изминатиот] 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 (number) { + var lastDigit = number % 10, + last2Digits = number % 100; + if (number === 0) { + return number + '-ев'; + } else if (last2Digits === 0) { + return number + '-ен'; + } else if (last2Digits > 10 && last2Digits < 20) { + return number + '-ти'; + } else if (lastDigit === 1) { + return number + '-ви'; + } else if (lastDigit === 2) { + return number + '-ри'; + } else if (lastDigit === 7 || lastDigit === 8) { + return number + '-ми'; + } else { + return number + '-ти'; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/ml.js b/public/bower_components/moment/src/locale/ml.js new file mode 100644 index 0000000..306566d --- /dev/null +++ b/public/bower_components/moment/src/locale/ml.js @@ -0,0 +1,73 @@ +//! moment.js locale configuration +//! locale : Malayalam [ml] +//! author : Floyd Pink : https://github.com/floydpink + +import moment from '../moment'; + +export default moment.defineLocale('ml', { + months : 'ജനàµà´µà´°à´¿_ഫെബàµà´°àµà´µà´°à´¿_മാർചàµà´šàµ_à´à´ªàµà´°à´¿àµ½_മേയàµ_ജൂൺ_ജൂലൈ_à´“à´—à´¸àµà´±àµà´±àµ_സെപàµà´±àµà´±à´‚ബർ_à´’à´•àµà´Ÿàµ‹à´¬àµ¼_നവംബർ_ഡിസംബർ'.split('_'), + monthsShort : 'ജനàµ._ഫെബàµà´°àµ._മാർ._à´à´ªàµà´°à´¿._മേയàµ_ജൂൺ_ജൂലൈ._à´“à´—._സെപàµà´±àµà´±._à´’à´•àµà´Ÿàµ‹._നവം._ഡിസം.'.split('_'), + monthsParseExact : true, + 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 : 'അൽപ നിമിഷങàµà´™àµ¾', + ss : '%d സെകàµà´•ൻഡàµ', + m : 'ഒരൠമിനിറàµà´±àµ', + mm : '%d മിനിറàµà´±àµ', + h : 'ഒരൠമണികàµà´•ൂർ', + hh : '%d മണികàµà´•ൂർ', + d : 'ഒരൠദിവസം', + dd : '%d ദിവസം', + M : 'ഒരൠമാസം', + MM : '%d മാസം', + y : 'ഒരൠവർഷം', + yy : '%d വർഷം' + }, + meridiemParse: /രാതàµà´°à´¿|രാവിലെ|ഉചàµà´š à´•à´´à´¿à´žàµà´žàµ|വൈകàµà´¨àµà´¨àµ‡à´°à´‚|രാതàµà´°à´¿/i, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if ((meridiem === 'രാതàµà´°à´¿' && hour >= 4) || + meridiem === 'ഉചàµà´š à´•à´´à´¿à´žàµà´žàµ' || + meridiem === 'വൈകàµà´¨àµà´¨àµ‡à´°à´‚') { + return hour + 12; + } else { + return hour; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'രാതàµà´°à´¿'; + } else if (hour < 12) { + return 'രാവിലെ'; + } else if (hour < 17) { + return 'ഉചàµà´š à´•à´´à´¿à´žàµà´žàµ'; + } else if (hour < 20) { + return 'വൈകàµà´¨àµà´¨àµ‡à´°à´‚'; + } else { + return 'രാതàµà´°à´¿'; + } + } +}); + diff --git a/public/bower_components/moment/src/locale/mn.js b/public/bower_components/moment/src/locale/mn.js new file mode 100644 index 0000000..80a3c2f --- /dev/null +++ b/public/bower_components/moment/src/locale/mn.js @@ -0,0 +1,96 @@ +//! moment.js locale configuration +//! locale : Mongolian [mn] +//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7 + +import moment from '../moment'; + +function translate(number, withoutSuffix, key, isFuture) { + switch (key) { + case 's': + return withoutSuffix ? 'Ñ…ÑдхÑн Ñекунд' : 'Ñ…ÑдхÑн Ñекундын'; + case 'ss': + return number + (withoutSuffix ? ' Ñекунд' : ' Ñекундын'); + case 'm': + case 'mm': + return number + (withoutSuffix ? ' минут' : ' минутын'); + case 'h': + case 'hh': + return number + (withoutSuffix ? ' цаг' : ' цагийн'); + case 'd': + case 'dd': + return number + (withoutSuffix ? ' өдөр' : ' өдрийн'); + case 'M': + case 'MM': + return number + (withoutSuffix ? ' Ñар' : ' Ñарын'); + case 'y': + case 'yy': + return number + (withoutSuffix ? ' жил' : ' жилийн'); + default: + return number; + } +} + +export default moment.defineLocale('mn', { + months : 'ÐÑгдүгÑÑÑ€ Ñар_Хоёрдугаар Ñар_Гуравдугаар Ñар_ДөрөвдүгÑÑÑ€ Ñар_Тавдугаар Ñар_Зургадугаар Ñар_Долдугаар Ñар_Ðаймдугаар Ñар_ЕÑдүгÑÑÑ€ Ñар_Ðравдугаар Ñар_Ðрван нÑгдүгÑÑÑ€ Ñар_Ðрван хоёрдугаар Ñар'.split('_'), + monthsShort : '1 Ñар_2 Ñар_3 Ñар_4 Ñар_5 Ñар_6 Ñар_7 Ñар_8 Ñар_9 Ñар_10 Ñар_11 Ñар_12 Ñар'.split('_'), + monthsParseExact : true, + weekdays : 'ÐÑм_Даваа_МÑгмар_Лхагва_ПүрÑв_БааÑан_БÑмба'.split('_'), + weekdaysShort : 'ÐÑм_Дав_МÑг_Лха_Пүр_Баа_БÑм'.split('_'), + weekdaysMin : 'ÐÑ_Да_МÑ_Лх_Пү_Ба_БÑ'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY-MM-DD', + LL : 'YYYY оны MMMMын D', + LLL : 'YYYY оны MMMMын D HH:mm', + LLLL : 'dddd, YYYY оны MMMMын D HH:mm' + }, + meridiemParse: /Ò®Ó¨|ҮХ/i, + isPM : function (input) { + return input === 'ҮХ'; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'Ò®Ó¨'; + } else { + return 'ҮХ'; + } + }, + calendar : { + sameDay : '[Өнөөдөр] LT', + nextDay : '[Маргааш] LT', + nextWeek : '[ИрÑÑ…] dddd LT', + lastDay : '[Өчигдөр] LT', + lastWeek : '[ӨнгөрÑөн] dddd LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s дараа', + past : '%s өмнө', + s : translate, + ss : translate, + m : translate, + mm : translate, + h : translate, + hh : translate, + d : translate, + dd : translate, + M : translate, + MM : translate, + y : translate, + yy : translate + }, + dayOfMonthOrdinalParse: /\d{1,2} өдөр/, + ordinal : function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + ' өдөр'; + default: + return number; + } + } +}); + diff --git a/public/bower_components/moment/src/locale/mr.js b/public/bower_components/moment/src/locale/mr.js new file mode 100644 index 0000000..8086ba2 --- /dev/null +++ b/public/bower_components/moment/src/locale/mr.js @@ -0,0 +1,153 @@ +//! moment.js locale configuration +//! locale : Marathi [mr] +//! author : Harshad Kale : https://github.com/kalehv +//! author : Vivek Athalye : https://github.com/vnathalye + +import moment from '../moment'; + +var symbolMap = { + '1': '१', + '2': '२', + '3': '३', + '4': '४', + '5': '५', + '6': '६', + '7': 'à¥', + '8': '८', + '9': '९', + '0': '०' +}, +numberMap = { + '१': '1', + '२': '2', + '३': '3', + '४': '4', + '५': '5', + '६': '6', + 'à¥': '7', + '८': '8', + '९': '9', + '०': '0' +}; + +function relativeTimeMr(number, withoutSuffix, string, isFuture) +{ + var output = ''; + if (withoutSuffix) { + switch (string) { + case 's': output = 'काही सेकंद'; break; + case 'ss': output = '%d सेकंद'; break; + case 'm': output = 'à¤à¤• मिनिट'; break; + case 'mm': output = '%d मिनिटे'; break; + case 'h': output = 'à¤à¤• तास'; break; + case 'hh': output = '%d तास'; break; + case 'd': output = 'à¤à¤• दिवस'; break; + case 'dd': output = '%d दिवस'; break; + case 'M': output = 'à¤à¤• महिना'; break; + case 'MM': output = '%d महिने'; break; + case 'y': output = 'à¤à¤• वरà¥à¤·'; break; + case 'yy': output = '%d वरà¥à¤·à¥‡'; break; + } + } + else { + switch (string) { + case 's': output = 'काही सेकंदां'; break; + case 'ss': output = '%d सेकंदां'; break; + case 'm': output = 'à¤à¤•ा मिनिटा'; break; + case 'mm': output = '%d मिनिटां'; break; + case 'h': output = 'à¤à¤•ा तासा'; break; + case 'hh': output = '%d तासां'; break; + case 'd': output = 'à¤à¤•ा दिवसा'; break; + case 'dd': output = '%d दिवसां'; break; + case 'M': output = 'à¤à¤•ा महिनà¥à¤¯à¤¾'; break; + case 'MM': output = '%d महिनà¥à¤¯à¤¾à¤‚'; break; + case 'y': output = 'à¤à¤•ा वरà¥à¤·à¤¾'; break; + case 'yy': output = '%d वरà¥à¤·à¤¾à¤‚'; break; + } + } + return output.replace(/%d/i, number); +} + +export default moment.defineLocale('mr', { + months : 'जानेवारी_फेबà¥à¤°à¥à¤µà¤¾à¤°à¥€_मारà¥à¤š_à¤à¤ªà¥à¤°à¤¿à¤²_मे_जून_जà¥à¤²à¥ˆ_ऑगसà¥à¤Ÿ_सपà¥à¤Ÿà¥‡à¤‚बर_ऑकà¥à¤Ÿà¥‹à¤¬à¤°_नोवà¥à¤¹à¥‡à¤‚बर_डिसेंबर'.split('_'), + monthsShort: 'जाने._फेबà¥à¤°à¥._मारà¥à¤š._à¤à¤ªà¥à¤°à¤¿._मे._जून._जà¥à¤²à¥ˆ._ऑग._सपà¥à¤Ÿà¥‡à¤‚._ऑकà¥à¤Ÿà¥‹._नोवà¥à¤¹à¥‡à¤‚._डिसें.'.split('_'), + monthsParseExact : true, + 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: relativeTimeMr, + ss: relativeTimeMr, + m: relativeTimeMr, + mm: relativeTimeMr, + h: relativeTimeMr, + hh: relativeTimeMr, + d: relativeTimeMr, + dd: relativeTimeMr, + M: relativeTimeMr, + MM: relativeTimeMr, + y: relativeTimeMr, + yy: relativeTimeMr + }, + preparse: function (string) { + return string.replace(/[१२३४५६à¥à¥®à¥¯à¥¦]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + meridiemParse: /रातà¥à¤°à¥€|सकाळी|दà¥à¤ªà¤¾à¤°à¥€|सायंकाळी/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'रातà¥à¤°à¥€') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'सकाळी') { + return hour; + } else if (meridiem === 'दà¥à¤ªà¤¾à¤°à¥€') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'सायंकाळी') { + return hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'रातà¥à¤°à¥€'; + } else if (hour < 10) { + return 'सकाळी'; + } else if (hour < 17) { + return 'दà¥à¤ªà¤¾à¤°à¥€'; + } else if (hour < 20) { + return 'सायंकाळी'; + } else { + return 'रातà¥à¤°à¥€'; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/ms-my.js b/public/bower_components/moment/src/locale/ms-my.js new file mode 100644 index 0000000..bd255ae --- /dev/null +++ b/public/bower_components/moment/src/locale/ms-my.js @@ -0,0 +1,75 @@ +//! moment.js locale configuration +//! locale : Malay [ms-my] +//! note : DEPRECATED, the correct one is [ms] +//! author : Weldan Jamili : https://github.com/weldan + +import moment from '../moment'; + +export default moment.defineLocale('ms-my', { + months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'), + monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), + weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), + weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), + weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), + longDateFormat : { + LT : 'HH.mm', + LTS : 'HH.mm.ss', + L : 'DD/MM/YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY [pukul] HH.mm', + LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm' + }, + meridiemParse: /pagi|tengahari|petang|malam/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'pagi') { + return hour; + } else if (meridiem === 'tengahari') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'petang' || meridiem === 'malam') { + return hour + 12; + } + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 11) { + return 'pagi'; + } else if (hours < 15) { + return 'tengahari'; + } else if (hours < 19) { + return 'petang'; + } else { + return 'malam'; + } + }, + calendar : { + sameDay : '[Hari ini pukul] LT', + nextDay : '[Esok pukul] LT', + nextWeek : 'dddd [pukul] LT', + lastDay : '[Kelmarin pukul] LT', + lastWeek : 'dddd [lepas pukul] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'dalam %s', + past : '%s yang lepas', + s : 'beberapa saat', + ss : '%d saat', + m : 'seminit', + mm : '%d minit', + h : 'sejam', + hh : '%d jam', + d : 'sehari', + dd : '%d hari', + M : 'sebulan', + MM : '%d bulan', + y : 'setahun', + yy : '%d tahun' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/ms.js b/public/bower_components/moment/src/locale/ms.js new file mode 100644 index 0000000..83ad1ac --- /dev/null +++ b/public/bower_components/moment/src/locale/ms.js @@ -0,0 +1,74 @@ +//! moment.js locale configuration +//! locale : Malay [ms] +//! author : Weldan Jamili : https://github.com/weldan + +import moment from '../moment'; + +export default moment.defineLocale('ms', { + months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'), + monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), + weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), + weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), + weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), + longDateFormat : { + LT : 'HH.mm', + LTS : 'HH.mm.ss', + L : 'DD/MM/YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY [pukul] HH.mm', + LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm' + }, + meridiemParse: /pagi|tengahari|petang|malam/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'pagi') { + return hour; + } else if (meridiem === 'tengahari') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'petang' || meridiem === 'malam') { + return hour + 12; + } + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 11) { + return 'pagi'; + } else if (hours < 15) { + return 'tengahari'; + } else if (hours < 19) { + return 'petang'; + } else { + return 'malam'; + } + }, + calendar : { + sameDay : '[Hari ini pukul] LT', + nextDay : '[Esok pukul] LT', + nextWeek : 'dddd [pukul] LT', + lastDay : '[Kelmarin pukul] LT', + lastWeek : 'dddd [lepas pukul] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'dalam %s', + past : '%s yang lepas', + s : 'beberapa saat', + ss : '%d saat', + m : 'seminit', + mm : '%d minit', + h : 'sejam', + hh : '%d jam', + d : 'sehari', + dd : '%d hari', + M : 'sebulan', + MM : '%d bulan', + y : 'setahun', + yy : '%d tahun' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/mt.js b/public/bower_components/moment/src/locale/mt.js new file mode 100644 index 0000000..4953fa2 --- /dev/null +++ b/public/bower_components/moment/src/locale/mt.js @@ -0,0 +1,51 @@ +//! moment.js locale configuration +//! locale : Maltese (Malta) [mt] +//! author : Alessandro Maruccia : https://github.com/alesma + +import moment from '../moment'; + +export default moment.defineLocale('mt', { + months : 'Jannar_Frar_Marzu_April_Mejju_Ä unju_Lulju_Awwissu_Settembru_Ottubru_Novembru_DiÄ‹embru'.split('_'), + monthsShort : 'Jan_Fra_Mar_Apr_Mej_Ä un_Lul_Aww_Set_Ott_Nov_DiÄ‹'.split('_'), + weekdays : 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ä imgħa_Is-Sibt'.split('_'), + weekdaysShort : 'Ħad_Tne_Tli_Erb_Ħam_Ä im_Sib'.split('_'), + weekdaysMin : 'Ħa_Tn_Tl_Er_Ħa_Ä i_Si'.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 : '[Illum fil-]LT', + nextDay : '[Għada fil-]LT', + nextWeek : 'dddd [fil-]LT', + lastDay : '[Il-bieraħ fil-]LT', + lastWeek : 'dddd [li għadda] [fil-]LT', + sameElse : 'L' + }, + relativeTime : { + future : 'f’ %s', + past : '%s ilu', + s : 'ftit sekondi', + ss : '%d sekondi', + m : 'minuta', + mm : '%d minuti', + h : 'siegħa', + hh : '%d siegħat', + d : 'Ä¡urnata', + dd : '%d Ä¡ranet', + M : 'xahar', + MM : '%d xhur', + y : 'sena', + yy : '%d sni' + }, + dayOfMonthOrdinalParse : /\d{1,2}º/, + ordinal: '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/my.js b/public/bower_components/moment/src/locale/my.js new file mode 100644 index 0000000..b2ba866 --- /dev/null +++ b/public/bower_components/moment/src/locale/my.js @@ -0,0 +1,87 @@ +//! moment.js locale configuration +//! locale : Burmese [my] +//! author : Squar team, mysquar.com +//! author : David Rossellat : https://github.com/gholadr +//! author : Tin Aung Lin : https://github.com/thanyawzinmin + +import moment from '../moment'; + +var symbolMap = { + '1': 'á', + '2': 'á‚', + '3': 'áƒ', + '4': 'á„', + '5': 'á…', + '6': 'á†', + '7': 'á‡', + '8': 'áˆ', + '9': 'á‰', + '0': 'á€' +}, numberMap = { + 'á': '1', + 'á‚': '2', + 'áƒ': '3', + 'á„': '4', + 'á…': '5', + 'á†': '6', + 'á‡': '7', + 'áˆ': '8', + 'á‰': '9', + 'á€': '0' +}; + +export default moment.defineLocale('my', { + 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 နှစ်' + }, + preparse: function (string) { + return string.replace(/[áá‚áƒá„á…á†á‡áˆá‰á€]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/nb.js b/public/bower_components/moment/src/locale/nb.js new file mode 100644 index 0000000..27bb88e --- /dev/null +++ b/public/bower_components/moment/src/locale/nb.js @@ -0,0 +1,55 @@ +//! moment.js locale configuration +//! locale : Norwegian BokmÃ¥l [nb] +//! authors : Espen Hovlandsdal : https://github.com/rexxars +//! Sigurd Gartmann : https://github.com/sigurdga + +import moment from '../moment'; + +export default moment.defineLocale('nb', { + months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'), + monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'), + monthsParseExact : true, + weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), + weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'), + weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD.MM.YYYY', + LL : 'D. MMMM YYYY', + LLL : 'D. MMMM YYYY [kl.] HH:mm', + LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm' + }, + calendar : { + sameDay: '[i dag kl.] LT', + nextDay: '[i morgen kl.] LT', + nextWeek: 'dddd [kl.] LT', + lastDay: '[i gÃ¥r kl.] LT', + lastWeek: '[forrige] dddd [kl.] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'om %s', + past : '%s siden', + s : 'noen sekunder', + ss : '%d sekunder', + m : 'ett minutt', + mm : '%d minutter', + h : 'en time', + hh : '%d timer', + d : 'en dag', + dd : '%d dager', + M : 'en mÃ¥ned', + MM : '%d mÃ¥neder', + y : 'ett Ã¥r', + yy : '%d Ã¥r' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/ne.js b/public/bower_components/moment/src/locale/ne.js new file mode 100644 index 0000000..38e5e82 --- /dev/null +++ b/public/bower_components/moment/src/locale/ne.js @@ -0,0 +1,115 @@ +//! moment.js locale configuration +//! locale : Nepalese [ne] +//! author : suvash : https://github.com/suvash + +import moment from '../moment'; + +var symbolMap = { + '1': '१', + '2': '२', + '3': '३', + '4': '४', + '5': '५', + '6': '६', + '7': 'à¥', + '8': '८', + '9': '९', + '0': '०' +}, +numberMap = { + '१': '1', + '२': '2', + '३': '3', + '४': '4', + '५': '5', + '६': '6', + 'à¥': '7', + '८': '8', + '९': '9', + '०': '0' +}; + +export default moment.defineLocale('ne', { + months : 'जनवरी_फेबà¥à¤°à¥à¤µà¤°à¥€_मारà¥à¤š_अपà¥à¤°à¤¿à¤²_मई_जà¥à¤¨_जà¥à¤²à¤¾à¤ˆ_अगषà¥à¤Ÿ_सेपà¥à¤Ÿà¥‡à¤®à¥à¤¬à¤°_अकà¥à¤Ÿà¥‹à¤¬à¤°_नोà¤à¥‡à¤®à¥à¤¬à¤°_डिसेमà¥à¤¬à¤°'.split('_'), + monthsShort : 'जन._फेबà¥à¤°à¥._मारà¥à¤š_अपà¥à¤°à¤¿._मई_जà¥à¤¨_जà¥à¤²à¤¾à¤ˆ._अग._सेपà¥à¤Ÿ._अकà¥à¤Ÿà¥‹._नोà¤à¥‡._डिसे.'.split('_'), + monthsParseExact : true, + weekdays : 'आइतबार_सोमबार_मङà¥à¤—लबार_बà¥à¤§à¤¬à¤¾à¤°_बिहिबार_शà¥à¤•à¥à¤°à¤¬à¤¾à¤°_शनिबार'.split('_'), + weekdaysShort : 'आइत._सोम._मङà¥à¤—ल._बà¥à¤§._बिहि._शà¥à¤•à¥à¤°._शनि.'.split('_'), + weekdaysMin : 'आ._सो._मं._बà¥._बि._शà¥._श.'.split('_'), + weekdaysParseExact : true, + 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 (string) { + return string.replace(/[१२३४५६à¥à¥®à¥¯à¥¦]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + meridiemParse: /राति|बिहान|दिउà¤à¤¸à¥‹|साà¤à¤/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'राति') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'बिहान') { + return hour; + } else if (meridiem === 'दिउà¤à¤¸à¥‹') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'साà¤à¤') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 3) { + return 'राति'; + } else if (hour < 12) { + return 'बिहान'; + } else if (hour < 16) { + return 'दिउà¤à¤¸à¥‹'; + } else if (hour < 20) { + return 'साà¤à¤'; + } else { + return 'राति'; + } + }, + 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, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/nl-be.js b/public/bower_components/moment/src/locale/nl-be.js new file mode 100644 index 0000000..d0bde09 --- /dev/null +++ b/public/bower_components/moment/src/locale/nl-be.js @@ -0,0 +1,80 @@ +//! moment.js locale configuration +//! locale : Dutch (Belgium) [nl-be] +//! author : Joris Röling : https://github.com/jorisroling +//! author : Jacob Middag : https://github.com/middagj + +import moment from '../moment'; + +var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'), + monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'); + +var monthsParse = [/^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]; +var monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; + +export default moment.defineLocale('nl-be', { + months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'), + monthsShort : function (m, format) { + if (!m) { + return monthsShortWithDots; + } else if (/-MMM-/.test(format)) { + return monthsShortWithoutDots[m.month()]; + } else { + return monthsShortWithDots[m.month()]; + } + }, + + monthsRegex: monthsRegex, + monthsShortRegex: monthsRegex, + monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, + monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, + + monthsParse : monthsParse, + longMonthsParse : monthsParse, + shortMonthsParse : monthsParse, + + 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 : true, + 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 (number) { + return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/nl.js b/public/bower_components/moment/src/locale/nl.js new file mode 100644 index 0000000..fcd6a40 --- /dev/null +++ b/public/bower_components/moment/src/locale/nl.js @@ -0,0 +1,80 @@ +//! moment.js locale configuration +//! locale : Dutch [nl] +//! author : Joris Röling : https://github.com/jorisroling +//! author : Jacob Middag : https://github.com/middagj + +import moment from '../moment'; + +var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'), + monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'); + +var monthsParse = [/^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]; +var monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; + +export default moment.defineLocale('nl', { + months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'), + monthsShort : function (m, format) { + if (!m) { + return monthsShortWithDots; + } else if (/-MMM-/.test(format)) { + return monthsShortWithoutDots[m.month()]; + } else { + return monthsShortWithDots[m.month()]; + } + }, + + monthsRegex: monthsRegex, + monthsShortRegex: monthsRegex, + monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, + monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, + + monthsParse : monthsParse, + longMonthsParse : monthsParse, + shortMonthsParse : monthsParse, + + 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 : true, + 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 (number) { + return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/nn.js b/public/bower_components/moment/src/locale/nn.js new file mode 100644 index 0000000..ea8ca7b --- /dev/null +++ b/public/bower_components/moment/src/locale/nn.js @@ -0,0 +1,52 @@ +//! moment.js locale configuration +//! locale : Nynorsk [nn] +//! author : https://github.com/mechuwind + +import moment from '../moment'; + +export default moment.defineLocale('nn', { + months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'), + monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), + weekdays : 'sundag_mÃ¥ndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'), + weekdaysShort : 'sun_mÃ¥n_tys_ons_tor_fre_lau'.split('_'), + weekdaysMin : 'su_mÃ¥_ty_on_to_fr_lø'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD.MM.YYYY', + LL : 'D. MMMM YYYY', + LLL : 'D. MMMM YYYY [kl.] H:mm', + LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm' + }, + calendar : { + sameDay: '[I dag klokka] LT', + nextDay: '[I morgon klokka] LT', + nextWeek: 'dddd [klokka] LT', + lastDay: '[I gÃ¥r klokka] LT', + lastWeek: '[FøregÃ¥ande] dddd [klokka] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'om %s', + past : '%s sidan', + s : 'nokre sekund', + ss : '%d sekund', + m : 'eit minutt', + mm : '%d minutt', + h : 'ein time', + hh : '%d timar', + d : 'ein dag', + dd : '%d dagar', + M : 'ein mÃ¥nad', + MM : '%d mÃ¥nader', + y : 'eit Ã¥r', + yy : '%d Ã¥r' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/pa-in.js b/public/bower_components/moment/src/locale/pa-in.js new file mode 100644 index 0000000..74b3126 --- /dev/null +++ b/public/bower_components/moment/src/locale/pa-in.js @@ -0,0 +1,116 @@ +//! moment.js locale configuration +//! locale : Punjabi (India) [pa-in] +//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit + +import moment from '../moment'; + +var symbolMap = { + '1': 'à©§', + '2': '੨', + '3': 'à©©', + '4': '੪', + '5': 'à©«', + '6': '੬', + '7': 'à©', + '8': 'à©®', + '9': '੯', + '0': '੦' +}, +numberMap = { + 'à©§': '1', + '੨': '2', + 'à©©': '3', + '੪': '4', + 'à©«': '5', + '੬': '6', + 'à©': '7', + 'à©®': '8', + '੯': '9', + '੦': '0' +}; + +export default moment.defineLocale('pa-in', { + // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi. + months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪà©à¨°à©ˆà¨²_ਮਈ_ਜੂਨ_ਜà©à¨²à¨¾à¨ˆ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'), + monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪà©à¨°à©ˆà¨²_ਮਈ_ਜੂਨ_ਜà©à¨²à¨¾à¨ˆ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'), + 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 : 'ਕà©à¨ ਸਕਿੰਟ', + ss : '%d ਸਕਿੰਟ', + m : 'ਇਕ ਮਿੰਟ', + mm : '%d ਮਿੰਟ', + h : 'ਇੱਕ ਘੰਟਾ', + hh : '%d ਘੰਟੇ', + d : 'ਇੱਕ ਦਿਨ', + dd : '%d ਦਿਨ', + M : 'ਇੱਕ ਮਹੀਨਾ', + MM : '%d ਮਹੀਨੇ', + y : 'ਇੱਕ ਸਾਲ', + yy : '%d ਸਾਲ' + }, + preparse: function (string) { + return string.replace(/[੧੨੩੪੫੬à©à©®à©¯à©¦]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + // Punjabi notation for meridiems are quite fuzzy in practice. While there exists + // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi. + meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦà©à¨ªà¨¹à¨¿à¨°|ਸ਼ਾਮ/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'ਰਾਤ') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'ਸਵੇਰ') { + return hour; + } else if (meridiem === 'ਦà©à¨ªà¨¹à¨¿à¨°') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'ਸ਼ਾਮ') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'ਰਾਤ'; + } else if (hour < 10) { + return 'ਸਵੇਰ'; + } else if (hour < 17) { + return 'ਦà©à¨ªà¨¹à¨¿à¨°'; + } else if (hour < 20) { + return 'ਸ਼ਾਮ'; + } else { + return 'ਰਾਤ'; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/pl.js b/public/bower_components/moment/src/locale/pl.js new file mode 100644 index 0000000..4a46277 --- /dev/null +++ b/public/bower_components/moment/src/locale/pl.js @@ -0,0 +1,117 @@ +//! moment.js locale configuration +//! locale : Polish [pl] +//! author : Rafal Hirsz : https://github.com/evoL + +import moment from '../moment'; + +var monthsNominative = 'styczeÅ„_luty_marzec_kwiecieÅ„_maj_czerwiec_lipiec_sierpieÅ„_wrzesieÅ„_październik_listopad_grudzieÅ„'.split('_'), + monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrzeÅ›nia_października_listopada_grudnia'.split('_'); +function plural(n) { + return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1); +} +function translate(number, withoutSuffix, key) { + var result = number + ' '; + switch (key) { + case 'ss': + return result + (plural(number) ? 'sekundy' : 'sekund'); + case 'm': + return withoutSuffix ? 'minuta' : 'minutÄ™'; + case 'mm': + return result + (plural(number) ? 'minuty' : 'minut'); + case 'h': + return withoutSuffix ? 'godzina' : 'godzinÄ™'; + case 'hh': + return result + (plural(number) ? 'godziny' : 'godzin'); + case 'MM': + return result + (plural(number) ? 'miesiÄ…ce' : 'miesiÄ™cy'); + case 'yy': + return result + (plural(number) ? 'lata' : 'lat'); + } +} + +export default moment.defineLocale('pl', { + months : function (momentToFormat, format) { + if (!momentToFormat) { + return monthsNominative; + } else if (format === '') { + // Hack: if format empty we know this is used to generate + // RegExp by moment. Give then back both valid forms of months + // in RegExp ready format. + return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')'; + } else if (/D MMMM/.test(format)) { + return monthsSubjective[momentToFormat.month()]; + } else { + return monthsNominative[momentToFormat.month()]; + } + }, + 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 : translate, + m : translate, + mm : translate, + h : translate, + hh : translate, + d : '1 dzieÅ„', + dd : '%d dni', + M : 'miesiÄ…c', + MM : translate, + y : 'rok', + yy : translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/pt-br.js b/public/bower_components/moment/src/locale/pt-br.js new file mode 100644 index 0000000..19956d1 --- /dev/null +++ b/public/bower_components/moment/src/locale/pt-br.js @@ -0,0 +1,53 @@ +//! moment.js locale configuration +//! locale : Portuguese (Brazil) [pt-br] +//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira + +import moment from '../moment'; + +export default moment.defineLocale('pt-br', { + months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'), + monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), + weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'), + weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), + weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD/MM/YYYY', + LL : 'D [de] MMMM [de] YYYY', + LLL : 'D [de] MMMM [de] YYYY [à s] HH:mm', + LLLL : 'dddd, D [de] MMMM [de] YYYY [à s] HH:mm' + }, + calendar : { + sameDay: '[Hoje à s] LT', + nextDay: '[Amanhã à s] LT', + nextWeek: 'dddd [à s] LT', + lastDay: '[Ontem à s] LT', + lastWeek: function () { + return (this.day() === 0 || this.day() === 6) ? + '[Último] dddd [à s] LT' : // Saturday + Sunday + '[Última] dddd [à s] LT'; // Monday - Friday + }, + sameElse: 'L' + }, + relativeTime : { + future : 'em %s', + past : 'há %s', + s : 'poucos segundos', + ss : '%d segundos', + m : 'um minuto', + mm : '%d minutos', + h : 'uma hora', + hh : '%d horas', + d : 'um dia', + dd : '%d dias', + M : 'um mês', + MM : '%d meses', + y : 'um ano', + yy : '%d anos' + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal : '%dº' +}); + diff --git a/public/bower_components/moment/src/locale/pt.js b/public/bower_components/moment/src/locale/pt.js new file mode 100644 index 0000000..be58129 --- /dev/null +++ b/public/bower_components/moment/src/locale/pt.js @@ -0,0 +1,57 @@ +//! moment.js locale configuration +//! locale : Portuguese [pt] +//! author : Jefferson : https://github.com/jalex79 + +import moment from '../moment'; + +export default moment.defineLocale('pt', { + months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'), + monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), + weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'), + weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), + weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD/MM/YYYY', + LL : 'D [de] MMMM [de] YYYY', + LLL : 'D [de] MMMM [de] YYYY HH:mm', + LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm' + }, + calendar : { + sameDay: '[Hoje à s] LT', + nextDay: '[Amanhã à s] LT', + nextWeek: 'dddd [à s] LT', + lastDay: '[Ontem à s] LT', + lastWeek: function () { + return (this.day() === 0 || this.day() === 6) ? + '[Último] dddd [à s] LT' : // Saturday + Sunday + '[Última] dddd [à s] LT'; // Monday - Friday + }, + sameElse: 'L' + }, + relativeTime : { + future : 'em %s', + past : 'há %s', + s : 'segundos', + ss : '%d segundos', + m : 'um minuto', + mm : '%d minutos', + h : 'uma hora', + hh : '%d horas', + d : 'um dia', + dd : '%d dias', + M : 'um mês', + MM : '%d meses', + y : 'um ano', + yy : '%d anos' + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal : '%dº', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/ro.js b/public/bower_components/moment/src/locale/ro.js new file mode 100644 index 0000000..2d4f19e --- /dev/null +++ b/public/bower_components/moment/src/locale/ro.js @@ -0,0 +1,68 @@ +//! moment.js locale configuration +//! locale : Romanian [ro] +//! author : Vlad Gurdiga : https://github.com/gurdiga +//! author : Valentin Agachi : https://github.com/avaly + +import moment from '../moment'; + +function relativeTimeWithPlural(number, withoutSuffix, key) { + var format = { + 'ss': 'secunde', + 'mm': 'minute', + 'hh': 'ore', + 'dd': 'zile', + 'MM': 'luni', + 'yy': 'ani' + }, + separator = ' '; + if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) { + separator = ' de '; + } + return number + separator + format[key]; +} + +export default moment.defineLocale('ro', { + months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'), + monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'), + monthsParseExact: true, + weekdays : 'duminică_luni_marÈ›i_miercuri_joi_vineri_sâmbătă'.split('_'), + weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'), + weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'), + 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: '[azi la] LT', + nextDay: '[mâine la] LT', + nextWeek: 'dddd [la] LT', + lastDay: '[ieri la] LT', + lastWeek: '[fosta] dddd [la] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'peste %s', + past : '%s în urmă', + s : 'câteva secunde', + ss : relativeTimeWithPlural, + m : 'un minut', + mm : relativeTimeWithPlural, + h : 'o oră', + hh : relativeTimeWithPlural, + d : 'o zi', + dd : relativeTimeWithPlural, + M : 'o lună', + MM : relativeTimeWithPlural, + y : 'un an', + yy : relativeTimeWithPlural + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/ru.js b/public/bower_components/moment/src/locale/ru.js new file mode 100644 index 0000000..29046af --- /dev/null +++ b/public/bower_components/moment/src/locale/ru.js @@ -0,0 +1,175 @@ +//! moment.js locale configuration +//! locale : Russian [ru] +//! author : Viktorminator : https://github.com/Viktorminator +//! Author : Menelion Elensúle : https://github.com/Oire +//! author : Коренберг Марк : https://github.com/socketpair + +import moment from '../moment'; + +function plural(word, num) { + var forms = word.split('_'); + return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]); +} +function relativeTimeWithPlural(number, withoutSuffix, key) { + var format = { + 'ss': withoutSuffix ? 'Ñекунда_Ñекунды_Ñекунд' : 'Ñекунду_Ñекунды_Ñекунд', + 'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут', + 'hh': 'чаÑ_чаÑа_чаÑов', + 'dd': 'день_днÑ_дней', + 'MM': 'меÑÑц_меÑÑца_меÑÑцев', + 'yy': 'год_года_лет' + }; + if (key === 'm') { + return withoutSuffix ? 'минута' : 'минуту'; + } + else { + return number + ' ' + plural(format[key], +number); + } +} +var monthsParse = [/^Ñнв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йÑ]/i, /^июн/i, /^июл/i, /^авг/i, /^Ñен/i, /^окт/i, /^ноÑ/i, /^дек/i]; + +// http://new.gramota.ru/spravka/rules/139-prop : § 103 +// Ð¡Ð¾ÐºÑ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð¼ÐµÑÑцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637 +// CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753 +export default moment.defineLocale('ru', { + months : { + format: 'ÑнварÑ_февралÑ_марта_апрелÑ_маÑ_июнÑ_июлÑ_авгуÑта_ÑентÑбрÑ_октÑбрÑ_ноÑбрÑ_декабрÑ'.split('_'), + standalone: 'Ñнварь_февраль_март_апрель_май_июнь_июль_авгуÑÑ‚_ÑентÑбрь_октÑбрь_ноÑбрь_декабрь'.split('_') + }, + monthsShort : { + // по CLDR именно "июл." и "июн.", но какой ÑмыÑл менÑть букву на точку ? + format: 'Ñнв._февр._мар._апр._маÑ_июнÑ_июлÑ_авг._Ñент._окт._ноÑб._дек.'.split('_'), + standalone: 'Ñнв._февр._март_апр._май_июнь_июль_авг._Ñент._окт._ноÑб._дек.'.split('_') + }, + weekdays : { + standalone: 'воÑкреÑенье_понедельник_вторник_Ñреда_четверг_пÑтница_Ñуббота'.split('_'), + format: 'воÑкреÑенье_понедельник_вторник_Ñреду_четверг_пÑтницу_Ñубботу'.split('_'), + isFormat: /\[ ?[Вв] ?(?:прошлую|Ñледующую|Ñту)? ?\] ?dddd/ + }, + weekdaysShort : 'вÑ_пн_вт_ÑÑ€_чт_пт_Ñб'.split('_'), + weekdaysMin : 'вÑ_пн_вт_ÑÑ€_чт_пт_Ñб'.split('_'), + monthsParse : monthsParse, + longMonthsParse : monthsParse, + shortMonthsParse : monthsParse, + + // полные Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ð°Ð´ÐµÐ¶Ð°Ð¼Ð¸, по три буквы, Ð´Ð»Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ…, по 4 буквы, ÑÐ¾ÐºÑ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ñ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹ и без точки + monthsRegex: /^(Ñнвар[ÑŒÑ]|Ñнв\.?|феврал[ÑŒÑ]|февр?\.?|марта?|мар\.?|апрел[ÑŒÑ]|апр\.?|ма[йÑ]|июн[ÑŒÑ]|июн\.?|июл[ÑŒÑ]|июл\.?|авгуÑта?|авг\.?|ÑентÑбр[ÑŒÑ]|Ñент?\.?|октÑбр[ÑŒÑ]|окт\.?|ноÑбр[ÑŒÑ]|ноÑб?\.?|декабр[ÑŒÑ]|дек\.?)/i, + + // ÐºÐ¾Ð¿Ð¸Ñ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ³Ð¾ + monthsShortRegex: /^(Ñнвар[ÑŒÑ]|Ñнв\.?|феврал[ÑŒÑ]|февр?\.?|марта?|мар\.?|апрел[ÑŒÑ]|апр\.?|ма[йÑ]|июн[ÑŒÑ]|июн\.?|июл[ÑŒÑ]|июл\.?|авгуÑта?|авг\.?|ÑентÑбр[ÑŒÑ]|Ñент?\.?|октÑбр[ÑŒÑ]|окт\.?|ноÑбр[ÑŒÑ]|ноÑб?\.?|декабр[ÑŒÑ]|дек\.?)/i, + + // полные Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ð°Ð´ÐµÐ¶Ð°Ð¼Ð¸ + monthsStrictRegex: /^(Ñнвар[ÑÑŒ]|феврал[ÑÑŒ]|марта?|апрел[ÑÑŒ]|ма[Ñй]|июн[ÑÑŒ]|июл[ÑÑŒ]|авгуÑта?|ÑентÑбр[ÑÑŒ]|октÑбр[ÑÑŒ]|ноÑбр[ÑÑŒ]|декабр[ÑÑŒ])/i, + + // Выражение, которое ÑоотвеÑтвует только Ñокращённым формам + monthsShortStrictRegex: /^(Ñнв\.|февр?\.|мар[Ñ‚.]|апр\.|ма[Ñй]|июн[ÑŒÑ.]|июл[ÑŒÑ.]|авг\.|Ñент?\.|окт\.|ноÑб?\.|дек\.)/i, + 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: '[СегоднÑ, в] LT', + nextDay: '[Завтра, в] LT', + lastDay: '[Вчера, в] LT', + nextWeek: function (now) { + if (now.week() !== this.week()) { + switch (this.day()) { + case 0: + return '[Ð’ Ñледующее] dddd, [в] LT'; + case 1: + case 2: + case 4: + return '[Ð’ Ñледующий] dddd, [в] LT'; + case 3: + case 5: + case 6: + return '[Ð’ Ñледующую] dddd, [в] LT'; + } + } else { + if (this.day() === 2) { + return '[Во] dddd, [в] LT'; + } else { + return '[Ð’] dddd, [в] LT'; + } + } + }, + lastWeek: function (now) { + if (now.week() !== this.week()) { + switch (this.day()) { + case 0: + return '[Ð’ прошлое] dddd, [в] LT'; + case 1: + case 2: + case 4: + return '[Ð’ прошлый] dddd, [в] LT'; + case 3: + case 5: + case 6: + return '[Ð’ прошлую] dddd, [в] LT'; + } + } else { + if (this.day() === 2) { + return '[Во] dddd, [в] LT'; + } else { + return '[Ð’] dddd, [в] LT'; + } + } + }, + sameElse: 'L' + }, + relativeTime : { + future : 'через %s', + past : '%s назад', + s : 'неÑколько Ñекунд', + ss : relativeTimeWithPlural, + m : relativeTimeWithPlural, + mm : relativeTimeWithPlural, + h : 'чаÑ', + hh : relativeTimeWithPlural, + d : 'день', + dd : relativeTimeWithPlural, + M : 'меÑÑц', + MM : relativeTimeWithPlural, + y : 'год', + yy : relativeTimeWithPlural + }, + meridiemParse: /ночи|утра|днÑ|вечера/i, + isPM : function (input) { + return /^(днÑ|вечера)$/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'ночи'; + } else if (hour < 12) { + return 'утра'; + } else if (hour < 17) { + return 'днÑ'; + } else { + return 'вечера'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(й|го|Ñ)/, + ordinal: function (number, period) { + switch (period) { + case 'M': + case 'd': + case 'DDD': + return number + '-й'; + case 'D': + return number + '-го'; + case 'w': + case 'W': + return number + '-Ñ'; + default: + return number; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/sd.js b/public/bower_components/moment/src/locale/sd.js new file mode 100644 index 0000000..9747ad4 --- /dev/null +++ b/public/bower_components/moment/src/locale/sd.js @@ -0,0 +1,89 @@ +//! moment.js locale configuration +//! locale : Sindhi [sd] +//! author : Narain Sagar : https://github.com/narainsagar + +import moment from '../moment'; + +var months = [ + 'جنوري', + 'Ùيبروري', + 'مارچ', + 'اپريل', + 'مئي', + 'جون', + 'جولاءÙ', + 'آگسٽ', + 'سيپٽمبر', + 'آڪٽوبر', + 'نومبر', + 'ڊسمبر' +]; +var days = [ + 'آچر', + 'سومر', + 'اڱارو', + 'اربع', + 'خميس', + 'جمع', + 'ڇنڇر' +]; + +export default moment.defineLocale('sd', { + months : months, + monthsShort : months, + weekdays : days, + weekdaysShort : days, + weekdaysMin : days, + 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 (input) { + return 'شام' === input; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'صبØ'; + } + return 'شام'; + }, + 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 (string) { + return string.replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/,/g, 'ØŒ'); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/se.js b/public/bower_components/moment/src/locale/se.js new file mode 100644 index 0000000..dd10cda --- /dev/null +++ b/public/bower_components/moment/src/locale/se.js @@ -0,0 +1,52 @@ +//! moment.js locale configuration +//! locale : Northern Sami [se] +//! authors : BÃ¥rd Rolstad Henriksen : https://github.com/karamell + + +import moment from '../moment'; + +export default moment.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, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/si.js b/public/bower_components/moment/src/locale/si.js new file mode 100644 index 0000000..ed3caf3 --- /dev/null +++ b/public/bower_components/moment/src/locale/si.js @@ -0,0 +1,62 @@ +//! moment.js locale configuration +//! locale : Sinhalese [si] +//! author : Sampath Sitinamaluwa : https://github.com/sampathsris + +import moment from '../moment'; + +/*jshint -W100*/ +export default moment.defineLocale('si', { + months : 'ජනවà·à¶»à·’_පෙබරවà·à¶»à·’_මà·à¶»à·Šà¶à·”_à¶…à¶´à·Šâ€à¶»à·šà¶½à·Š_මà·à¶ºà·’_ජූනි_ජූලි_à¶…à¶œà·à·ƒà·Šà¶à·”_à·ƒà·à¶´à·Šà¶à·à¶¸à·Šà¶¶à¶»à·Š_ඔක්à¶à·à¶¶à¶»à·Š_නොවà·à¶¸à·Šà¶¶à¶»à·Š_දෙසà·à¶¸à·Šà¶¶à¶»à·Š'.split('_'), + monthsShort : 'ජන_පෙබ_මà·à¶»à·Š_à¶…à¶´à·Š_මà·à¶ºà·’_ජූනි_ජූලි_à¶…à¶œà·_à·ƒà·à¶´à·Š_ඔක්_නොවà·_දෙසà·'.split('_'), + weekdays : 'ඉරිදà·_සඳුදà·_අඟහරුවà·à¶¯à·_බදà·à¶¯à·_à¶¶à·Šâ€à¶»à·„ස්පà¶à·’න්දà·_සිකුරà·à¶¯à·_සෙනසුරà·à¶¯à·'.split('_'), + weekdaysShort : 'ඉරි_සඳු_à¶…à¶Ÿ_බදà·_à¶¶à·Šâ€à¶»à·„_සිකු_සෙන'.split('_'), + weekdaysMin : 'ඉ_à·ƒ_à¶…_à¶¶_à¶¶à·Šâ€à¶»_සි_සෙ'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'a h:mm', + LTS : 'a h:mm:ss', + L : 'YYYY/MM/DD', + LL : 'YYYY MMMM D', + LLL : 'YYYY MMMM D, a h:mm', + LLLL : 'YYYY MMMM D [à·€à·à¶±à·’] dddd, a h:mm:ss' + }, + 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 (number) { + return number + ' à·€à·à¶±à·’'; + }, + meridiemParse : /පෙර වරු|පස් වරු|à¶´à·™.à·€|à¶´.à·€./, + isPM : function (input) { + return input === 'à¶´.à·€.' || input === 'පස් වරු'; + }, + meridiem : function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'à¶´.à·€.' : 'පස් වරු'; + } else { + return isLower ? 'à¶´à·™.à·€.' : 'පෙර වරු'; + } + } +}); diff --git a/public/bower_components/moment/src/locale/sk.js b/public/bower_components/moment/src/locale/sk.js new file mode 100644 index 0000000..3cd3ee1 --- /dev/null +++ b/public/bower_components/moment/src/locale/sk.js @@ -0,0 +1,149 @@ +//! moment.js locale configuration +//! locale : Slovak [sk] +//! author : Martin Minka : https://github.com/k2s +//! based on work of petrbela : https://github.com/petrbela + +import moment from '../moment'; + +var months = 'január_február_marec_aprÃl_máj_jún_júl_august_september_október_november_december'.split('_'), + monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_'); +function plural(n) { + return (n > 1) && (n < 5); +} +function translate(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + switch (key) { + case 's': // a few seconds / in a few seconds / a few seconds ago + return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami'; + case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'sekundy' : 'sekúnd'); + } else { + return result + 'sekundami'; + } + break; + case 'm': // a minute / in a minute / a minute ago + return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou'); + case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'minúty' : 'minút'); + } else { + return result + 'minútami'; + } + break; + case 'h': // an hour / in an hour / an hour ago + return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou'); + case 'hh': // 9 hours / in 9 hours / 9 hours ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'hodiny' : 'hodÃn'); + } else { + return result + 'hodinami'; + } + break; + case 'd': // a day / in a day / a day ago + return (withoutSuffix || isFuture) ? 'deň' : 'dňom'; + case 'dd': // 9 days / in 9 days / 9 days ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'dni' : 'dnÃ'); + } else { + return result + 'dňami'; + } + break; + case 'M': // a month / in a month / a month ago + return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom'; + case 'MM': // 9 months / in 9 months / 9 months ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'mesiace' : 'mesiacov'); + } else { + return result + 'mesiacmi'; + } + break; + case 'y': // a year / in a year / a year ago + return (withoutSuffix || isFuture) ? 'rok' : 'rokom'; + case 'yy': // 9 years / in 9 years / 9 years ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'roky' : 'rokov'); + } else { + return result + 'rokmi'; + } + break; + } +} + +export default moment.defineLocale('sk', { + months : months, + monthsShort : monthsShort, + weekdays : 'nedeľa_pondelok_utorok_streda_Å¡tvrtok_piatok_sobota'.split('_'), + weekdaysShort : 'ne_po_ut_st_Å¡t_pi_so'.split('_'), + weekdaysMin : 'ne_po_ut_st_Å¡t_pi_so'.split('_'), + 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: '[dnes o] LT', + nextDay: '[zajtra o] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[v nedeľu o] LT'; + case 1: + case 2: + return '[v] dddd [o] LT'; + case 3: + return '[v stredu o] LT'; + case 4: + return '[vo Å¡tvrtok o] LT'; + case 5: + return '[v piatok o] LT'; + case 6: + return '[v sobotu o] LT'; + } + }, + lastDay: '[vÄera o] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[minulú nedeľu o] LT'; + case 1: + case 2: + return '[minulý] dddd [o] LT'; + case 3: + return '[minulú stredu o] LT'; + case 4: + case 5: + return '[minulý] dddd [o] LT'; + case 6: + return '[minulú sobotu o] LT'; + } + }, + sameElse: 'L' + }, + relativeTime : { + future : 'za %s', + past : 'pred %s', + s : translate, + ss : translate, + m : translate, + mm : translate, + h : translate, + hh : translate, + d : translate, + dd : translate, + M : translate, + MM : translate, + y : translate, + yy : translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/sl.js b/public/bower_components/moment/src/locale/sl.js new file mode 100644 index 0000000..0012e15 --- /dev/null +++ b/public/bower_components/moment/src/locale/sl.js @@ -0,0 +1,164 @@ +//! moment.js locale configuration +//! locale : Slovenian [sl] +//! author : Robert SedovÅ¡ek : https://github.com/sedovsek + +import moment from '../moment'; + +function processRelativeTime(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + switch (key) { + case 's': + return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami'; + case 'ss': + if (number === 1) { + result += withoutSuffix ? 'sekundo' : 'sekundi'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah'; + } else { + result += 'sekund'; + } + return result; + case 'm': + return withoutSuffix ? 'ena minuta' : 'eno minuto'; + case 'mm': + if (number === 1) { + result += withoutSuffix ? 'minuta' : 'minuto'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'minuti' : 'minutama'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'minute' : 'minutami'; + } else { + result += withoutSuffix || isFuture ? 'minut' : 'minutami'; + } + return result; + case 'h': + return withoutSuffix ? 'ena ura' : 'eno uro'; + case 'hh': + if (number === 1) { + result += withoutSuffix ? 'ura' : 'uro'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'uri' : 'urama'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'ure' : 'urami'; + } else { + result += withoutSuffix || isFuture ? 'ur' : 'urami'; + } + return result; + case 'd': + return withoutSuffix || isFuture ? 'en dan' : 'enim dnem'; + case 'dd': + if (number === 1) { + result += withoutSuffix || isFuture ? 'dan' : 'dnem'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'dni' : 'dnevoma'; + } else { + result += withoutSuffix || isFuture ? 'dni' : 'dnevi'; + } + return result; + case 'M': + return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem'; + case 'MM': + if (number === 1) { + result += withoutSuffix || isFuture ? 'mesec' : 'mesecem'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'meseca' : 'mesecema'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'mesece' : 'meseci'; + } else { + result += withoutSuffix || isFuture ? 'mesecev' : 'meseci'; + } + return result; + case 'y': + return withoutSuffix || isFuture ? 'eno leto' : 'enim letom'; + case 'yy': + if (number === 1) { + result += withoutSuffix || isFuture ? 'leto' : 'letom'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'leti' : 'letoma'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'leta' : 'leti'; + } else { + result += withoutSuffix || isFuture ? 'let' : 'leti'; + } + return result; + } +} + +export default moment.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: true, + 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 : true, + 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 : processRelativeTime, + ss : processRelativeTime, + m : processRelativeTime, + mm : processRelativeTime, + h : processRelativeTime, + hh : processRelativeTime, + d : processRelativeTime, + dd : processRelativeTime, + M : processRelativeTime, + MM : processRelativeTime, + y : processRelativeTime, + yy : processRelativeTime + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/sq.js b/public/bower_components/moment/src/locale/sq.js new file mode 100644 index 0000000..1280db7 --- /dev/null +++ b/public/bower_components/moment/src/locale/sq.js @@ -0,0 +1,62 @@ +//! moment.js locale configuration +//! locale : Albanian [sq] +//! author : Flakërim Ismani : https://github.com/flakerimi +//! author : Menelion Elensúle : https://github.com/Oire +//! author : Oerd Cukalla : https://github.com/oerd + +import moment from '../moment'; + +export default moment.defineLocale('sq', { + months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'), + monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'), + weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'), + weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'), + weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'), + weekdaysParseExact : true, + meridiemParse: /PD|MD/, + isPM: function (input) { + return input.charAt(0) === 'M'; + }, + meridiem : function (hours, minutes, isLower) { + return hours < 12 ? 'PD' : 'MD'; + }, + 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 : '[Sot në] LT', + nextDay : '[Nesër në] LT', + nextWeek : 'dddd [në] LT', + lastDay : '[Dje në] LT', + lastWeek : 'dddd [e kaluar në] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'në %s', + past : '%s më parë', + s : 'disa sekonda', + ss : '%d sekonda', + m : 'një minutë', + mm : '%d minuta', + h : 'një orë', + hh : '%d orë', + d : 'një ditë', + dd : '%d ditë', + M : 'një muaj', + MM : '%d muaj', + y : 'një vit', + yy : '%d vite' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/sr-cyrl.js b/public/bower_components/moment/src/locale/sr-cyrl.js new file mode 100644 index 0000000..3b9a573 --- /dev/null +++ b/public/bower_components/moment/src/locale/sr-cyrl.js @@ -0,0 +1,102 @@ +//! moment.js locale configuration +//! locale : Serbian Cyrillic [sr-cyrl] +//! author : Milan JanaÄković<milanjanackovic@gmail.com> : https://github.com/milan-j + +import moment from '../moment'; + +var translator = { + words: { //Different grammatical cases + ss: ['Ñекунда', 'Ñекунде', 'Ñекунди'], + m: ['један минут', 'једне минуте'], + mm: ['минут', 'минуте', 'минута'], + h: ['један Ñат', 'једног Ñата'], + hh: ['Ñат', 'Ñата', 'Ñати'], + dd: ['дан', 'дана', 'дана'], + MM: ['меÑец', 'меÑеца', 'меÑеци'], + yy: ['година', 'године', 'година'] + }, + correctGrammaticalCase: function (number, wordKey) { + return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]); + }, + translate: function (number, withoutSuffix, key) { + var wordKey = translator.words[key]; + if (key.length === 1) { + return withoutSuffix ? wordKey[0] : wordKey[1]; + } else { + return number + ' ' + translator.correctGrammaticalCase(number, wordKey); + } + } +}; + +export default moment.defineLocale('sr-cyrl', { + months: 'јануар_фебруар_март_април_мај_јун_јул_авгуÑÑ‚_Ñептембар_октобар_новембар_децембар'.split('_'), + monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._Ñеп._окт._нов._дец.'.split('_'), + monthsParseExact: true, + weekdays: 'недеља_понедељак_уторак_Ñреда_четвртак_петак_Ñубота'.split('_'), + weekdaysShort: 'нед._пон._уто._Ñре._чет._пет._Ñуб.'.split('_'), + weekdaysMin: 'не_по_ут_ÑÑ€_че_пе_Ñу'.split('_'), + weekdaysParseExact : true, + 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: '[Ð´Ð°Ð½Ð°Ñ Ñƒ] LT', + nextDay: '[Ñутра у] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[у] [недељу] [у] LT'; + case 3: + return '[у] [Ñреду] [у] LT'; + case 6: + return '[у] [Ñуботу] [у] LT'; + case 1: + case 2: + case 4: + case 5: + return '[у] dddd [у] LT'; + } + }, + lastDay : '[јуче у] LT', + lastWeek : function () { + var lastWeekDays = [ + '[прошле] [недеље] [у] LT', + '[прошлог] [понедељка] [у] LT', + '[прошлог] [уторка] [у] LT', + '[прошле] [Ñреде] [у] LT', + '[прошлог] [четвртка] [у] LT', + '[прошлог] [петка] [у] LT', + '[прошле] [Ñуботе] [у] LT' + ]; + return lastWeekDays[this.day()]; + }, + sameElse : 'L' + }, + relativeTime : { + future : 'за %s', + past : 'пре %s', + s : 'неколико Ñекунди', + ss : translator.translate, + m : translator.translate, + mm : translator.translate, + h : translator.translate, + hh : translator.translate, + d : 'дан', + dd : translator.translate, + M : 'меÑец', + MM : translator.translate, + y : 'годину', + yy : translator.translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/sr.js b/public/bower_components/moment/src/locale/sr.js new file mode 100644 index 0000000..12c3f24 --- /dev/null +++ b/public/bower_components/moment/src/locale/sr.js @@ -0,0 +1,102 @@ +//! moment.js locale configuration +//! locale : Serbian [sr] +//! author : Milan JanaÄković<milanjanackovic@gmail.com> : https://github.com/milan-j + +import moment from '../moment'; + +var translator = { + words: { //Different grammatical cases + ss: ['sekunda', 'sekunde', 'sekundi'], + m: ['jedan minut', 'jedne minute'], + mm: ['minut', 'minute', 'minuta'], + h: ['jedan sat', 'jednog sata'], + hh: ['sat', 'sata', 'sati'], + dd: ['dan', 'dana', 'dana'], + MM: ['mesec', 'meseca', 'meseci'], + yy: ['godina', 'godine', 'godina'] + }, + correctGrammaticalCase: function (number, wordKey) { + return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]); + }, + translate: function (number, withoutSuffix, key) { + var wordKey = translator.words[key]; + if (key.length === 1) { + return withoutSuffix ? wordKey[0] : wordKey[1]; + } else { + return number + ' ' + translator.correctGrammaticalCase(number, wordKey); + } + } +}; + +export default moment.defineLocale('sr', { + months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'), + monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'), + monthsParseExact: true, + weekdays: 'nedelja_ponedeljak_utorak_sreda_Äetvrtak_petak_subota'.split('_'), + weekdaysShort: 'ned._pon._uto._sre._Äet._pet._sub.'.split('_'), + weekdaysMin: 'ne_po_ut_sr_Äe_pe_su'.split('_'), + weekdaysParseExact : true, + 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: '[danas u] LT', + nextDay: '[sutra u] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[u] [nedelju] [u] LT'; + case 3: + return '[u] [sredu] [u] LT'; + case 6: + return '[u] [subotu] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[u] dddd [u] LT'; + } + }, + lastDay : '[juÄe u] LT', + lastWeek : function () { + var lastWeekDays = [ + '[proÅ¡le] [nedelje] [u] LT', + '[proÅ¡log] [ponedeljka] [u] LT', + '[proÅ¡log] [utorka] [u] LT', + '[proÅ¡le] [srede] [u] LT', + '[proÅ¡log] [Äetvrtka] [u] LT', + '[proÅ¡log] [petka] [u] LT', + '[proÅ¡le] [subote] [u] LT' + ]; + return lastWeekDays[this.day()]; + }, + sameElse : 'L' + }, + relativeTime : { + future : 'za %s', + past : 'pre %s', + s : 'nekoliko sekundi', + ss : translator.translate, + m : translator.translate, + mm : translator.translate, + h : translator.translate, + hh : translator.translate, + d : 'dan', + dd : translator.translate, + M : 'mesec', + MM : translator.translate, + y : 'godinu', + yy : translator.translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/ss.js b/public/bower_components/moment/src/locale/ss.js new file mode 100644 index 0000000..7cc5f24 --- /dev/null +++ b/public/bower_components/moment/src/locale/ss.js @@ -0,0 +1,81 @@ +//! moment.js locale configuration +//! locale : siSwati [ss] +//! author : Nicolai Davies<mail@nicolai.io> : https://github.com/nicolaidavies + + +import moment from '../moment'; + +export default moment.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 : true, + 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 (hours, minutes, isLower) { + if (hours < 11) { + return 'ekuseni'; + } else if (hours < 15) { + return 'emini'; + } else if (hours < 19) { + return 'entsambama'; + } else { + return 'ebusuku'; + } + }, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'ekuseni') { + return hour; + } else if (meridiem === 'emini') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') { + if (hour === 0) { + return 0; + } + return hour + 12; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}/, + ordinal : '%d', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/sv.js b/public/bower_components/moment/src/locale/sv.js new file mode 100644 index 0000000..8afce35 --- /dev/null +++ b/public/bower_components/moment/src/locale/sv.js @@ -0,0 +1,61 @@ +//! moment.js locale configuration +//! locale : Swedish [sv] +//! author : Jens Alm : https://github.com/ulmus + +import moment from '../moment'; + +export default moment.defineLocale('sv', { + months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'), + monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), + weekdays : 'söndag_mÃ¥ndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'), + weekdaysShort : 'sön_mÃ¥n_tis_ons_tor_fre_lör'.split('_'), + weekdaysMin : 'sö_mÃ¥_ti_on_to_fr_lö'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY-MM-DD', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY [kl.] HH:mm', + LLLL : 'dddd D MMMM YYYY [kl.] HH:mm', + lll : 'D MMM YYYY HH:mm', + llll : 'ddd D MMM YYYY HH:mm' + }, + calendar : { + sameDay: '[Idag] LT', + nextDay: '[Imorgon] LT', + lastDay: '[IgÃ¥r] LT', + nextWeek: '[PÃ¥] dddd LT', + lastWeek: '[I] dddd[s] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'om %s', + past : 'för %s sedan', + s : 'nÃ¥gra sekunder', + ss : '%d sekunder', + m : 'en minut', + mm : '%d minuter', + h : 'en timme', + hh : '%d timmar', + d : 'en dag', + dd : '%d dagar', + M : 'en mÃ¥nad', + MM : '%d mÃ¥nader', + y : 'ett Ã¥r', + yy : '%d Ã¥r' + }, + dayOfMonthOrdinalParse: /\d{1,2}(e|a)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'e' : + (b === 1) ? 'a' : + (b === 2) ? 'a' : + (b === 3) ? 'e' : 'e'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/sw.js b/public/bower_components/moment/src/locale/sw.js new file mode 100644 index 0000000..ec1e543 --- /dev/null +++ b/public/bower_components/moment/src/locale/sw.js @@ -0,0 +1,51 @@ +//! moment.js locale configuration +//! locale : Swahili [sw] +//! author : Fahad Kassim : https://github.com/fadsel + +import moment from '../moment'; + +export default moment.defineLocale('sw', { + months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'), + monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'), + weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'), + weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'), + weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'), + weekdaysParseExact : true, + 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 : '[leo saa] LT', + nextDay : '[kesho saa] LT', + nextWeek : '[wiki ijayo] dddd [saat] LT', + lastDay : '[jana] LT', + lastWeek : '[wiki iliyopita] dddd [saat] LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s baadaye', + past : 'tokea %s', + s : 'hivi punde', + ss : 'sekunde %d', + m : 'dakika moja', + mm : 'dakika %d', + h : 'saa limoja', + hh : 'masaa %d', + d : 'siku moja', + dd : 'masiku %d', + M : 'mwezi mmoja', + MM : 'miezi %d', + y : 'mwaka mmoja', + yy : 'miaka %d' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/ta.js b/public/bower_components/moment/src/locale/ta.js new file mode 100644 index 0000000..5d3d921 --- /dev/null +++ b/public/bower_components/moment/src/locale/ta.js @@ -0,0 +1,121 @@ +//! moment.js locale configuration +//! locale : Tamil [ta] +//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404 + +import moment from '../moment'; + +var symbolMap = { + '1': '௧', + '2': '௨', + '3': '௩', + '4': '௪', + '5': '௫', + '6': '௬', + '7': 'à¯', + '8': '௮', + '9': '௯', + '0': '௦' +}, numberMap = { + '௧': '1', + '௨': '2', + '௩': '3', + '௪': '4', + '௫': '5', + '௬': '6', + 'à¯': '7', + '௮': '8', + '௯': '9', + '௦': '0' +}; + +export default moment.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 (number) { + return number + 'வதà¯'; + }, + preparse: function (string) { + return string.replace(/[௧௨௩௪௫௬à¯à¯®à¯¯à¯¦]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + // refer http://ta.wikipedia.org/s/1er1 + meridiemParse: /யாமமà¯|வைகறை|காலை|நணà¯à®ªà®•லà¯|எறà¯à®ªà®¾à®Ÿà¯|மாலை/, + meridiem : function (hour, minute, isLower) { + if (hour < 2) { + return ' யாமமà¯'; + } else if (hour < 6) { + return ' வைகறை'; // வைகறை + } else if (hour < 10) { + return ' காலை'; // காலை + } else if (hour < 14) { + return ' நணà¯à®ªà®•லà¯'; // நணà¯à®ªà®•ல௠+ } else if (hour < 18) { + return ' எறà¯à®ªà®¾à®Ÿà¯'; // எறà¯à®ªà®¾à®Ÿà¯ + } else if (hour < 22) { + return ' மாலை'; // மாலை + } else { + return ' யாமமà¯'; + } + }, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'யாமமà¯') { + return hour < 2 ? hour : hour + 12; + } else if (meridiem === 'வைகறை' || meridiem === 'காலை') { + return hour; + } else if (meridiem === 'நணà¯à®ªà®•லà¯') { + return hour >= 10 ? hour : hour + 12; + } else { + return hour + 12; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/te.js b/public/bower_components/moment/src/locale/te.js new file mode 100644 index 0000000..87613cc --- /dev/null +++ b/public/bower_components/moment/src/locale/te.js @@ -0,0 +1,80 @@ +//! moment.js locale configuration +//! locale : Telugu [te] +//! author : Krishna Chaitanya Thota : https://github.com/kcthota + +import moment from '../moment'; + +export default moment.defineLocale('te', { + months : 'జనవరి_à°«à°¿à°¬à±à°°à°µà°°à°¿_మారà±à°šà°¿_à°à°ªà±à°°à°¿à°²à±_మే_జూనà±_à°œà±à°²à±ˆ_ఆగసà±à°Ÿà±_సెపà±à°Ÿà±†à°‚బరà±_à°…à°•à±à°Ÿà±‹à°¬à°°à±_నవంబరà±_డిసెంబరà±'.split('_'), + monthsShort : 'జన._à°«à°¿à°¬à±à°°._మారà±à°šà°¿_à°à°ªà±à°°à°¿._మే_జూనà±_à°œà±à°²à±ˆ_ఆగ._సెపà±._à°…à°•à±à°Ÿà±‹._నవ._డిసె.'.split('_'), + monthsParseExact : true, + 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 : 'కొనà±à°¨à°¿ à°•à±à°·à°£à°¾à°²à±', + ss : '%d సెకనà±à°²à±', + m : 'à°’à°• నిమిషం', + mm : '%d నిమిషాలà±', + h : 'à°’à°• à°—à°‚à°Ÿ', + hh : '%d à°—à°‚à°Ÿà°²à±', + d : 'à°’à°• రోజà±', + dd : '%d రోజà±à°²à±', + M : 'à°’à°• నెల', + MM : '%d నెలలà±', + y : 'à°’à°• సంవతà±à°¸à°°à°‚', + yy : '%d సంవతà±à°¸à°°à°¾à°²à±' + }, + dayOfMonthOrdinalParse : /\d{1,2}à°µ/, + ordinal : '%dà°µ', + meridiemParse: /రాతà±à°°à°¿|ఉదయం|మధà±à°¯à°¾à°¹à±à°¨à°‚|సాయంతà±à°°à°‚/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'రాతà±à°°à°¿') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'ఉదయం') { + return hour; + } else if (meridiem === 'మధà±à°¯à°¾à°¹à±à°¨à°‚') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'సాయంతà±à°°à°‚') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'రాతà±à°°à°¿'; + } else if (hour < 10) { + return 'ఉదయం'; + } else if (hour < 17) { + return 'మధà±à°¯à°¾à°¹à±à°¨à°‚'; + } else if (hour < 20) { + return 'సాయంతà±à°°à°‚'; + } else { + return 'రాతà±à°°à°¿'; + } + }, + week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/tet.js b/public/bower_components/moment/src/locale/tet.js new file mode 100644 index 0000000..a4e9e19 --- /dev/null +++ b/public/bower_components/moment/src/locale/tet.js @@ -0,0 +1,60 @@ +//! moment.js locale configuration +//! locale : Tetun Dili (East Timor) [tet] +//! author : Joshua Brooks : https://github.com/joshbrooks +//! author : Onorio De J. Afonso : https://github.com/marobo +//! author : Sonia Simoes : https://github.com/soniasimoes + +import moment from '../moment'; + +export default moment.defineLocale('tet', { + months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'), + monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), + weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'), + weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'), + weekdaysMin : 'Do_Seg_Te_Ku_Ki_Ses_Sa'.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: '[Ohin iha] LT', + nextDay: '[Aban iha] LT', + nextWeek: 'dddd [iha] LT', + lastDay: '[Horiseik iha] LT', + lastWeek: 'dddd [semana kotuk] [iha] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'iha %s', + past : '%s liuba', + s : 'minutu balun', + ss : 'minutu %d', + m : 'minutu ida', + mm : 'minutu %d', + h : 'oras ida', + hh : 'oras %d', + d : 'loron ida', + dd : 'loron %d', + M : 'fulan ida', + MM : 'fulan %d', + y : 'tinan ida', + yy : 'tinan %d' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/tg.js b/public/bower_components/moment/src/locale/tg.js new file mode 100644 index 0000000..9f15e1a --- /dev/null +++ b/public/bower_components/moment/src/locale/tg.js @@ -0,0 +1,107 @@ +//! moment.js locale configuration +//! locale : Tajik [tg] +//! author : Orif N. Jr. : https://github.com/orif-jr + +import moment from '../moment'; + +var suffixes = { + 0: '-ум', + 1: '-ум', + 2: '-юм', + 3: '-юм', + 4: '-ум', + 5: '-ум', + 6: '-ум', + 7: '-ум', + 8: '-ум', + 9: '-ум', + 10: '-ум', + 12: '-ум', + 13: '-ум', + 20: '-ум', + 30: '-юм', + 40: '-ум', + 50: '-ум', + 60: '-ум', + 70: '-ум', + 80: '-ум', + 90: '-ум', + 100: '-ум' +}; + +export default moment.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 (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'шаб') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'Ñубҳ') { + return hour; + } else if (meridiem === 'рӯз') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'бегоҳ') { + return hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'шаб'; + } else if (hour < 11) { + return 'Ñубҳ'; + } else if (hour < 16) { + return 'рӯз'; + } else if (hour < 19) { + return 'бегоҳ'; + } else { + return 'шаб'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/, + ordinal: function (number) { + var a = number % 10, + b = number >= 100 ? 100 : null; + return number + (suffixes[number] || suffixes[a] || suffixes[b]); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 1th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/th.js b/public/bower_components/moment/src/locale/th.js new file mode 100644 index 0000000..9f8771f --- /dev/null +++ b/public/bower_components/moment/src/locale/th.js @@ -0,0 +1,58 @@ +//! moment.js locale configuration +//! locale : Thai [th] +//! author : Kridsada Thanabulpong : https://github.com/sirn + +import moment from '../moment'; + +export default moment.defineLocale('th', { + months : 'มà¸à¸£à¸²à¸„ม_à¸à¸¸à¸¡à¸ าพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_à¸à¸£à¸à¸Žà¸²à¸„ม_สิงหาคม_à¸à¸±à¸™à¸¢à¸²à¸¢à¸™_ตุลาคม_พฤศจิà¸à¸²à¸¢à¸™_ธันวาคม'.split('_'), + monthsShort : 'ม.ค._à¸.พ._มี.ค._เม.ย._พ.ค._มิ.ย._à¸.ค._ส.ค._à¸.ย._ต.ค._พ.ย._ธ.ค.'.split('_'), + monthsParseExact: true, + weekdays : 'à¸à¸²à¸—ิตย์_จันทร์_à¸à¸±à¸‡à¸„าร_พุธ_พฤหัสบดี_ศุà¸à¸£à¹Œ_เสาร์'.split('_'), + weekdaysShort : 'à¸à¸²à¸—ิตย์_จันทร์_à¸à¸±à¸‡à¸„าร_พุธ_พฤหัส_ศุà¸à¸£à¹Œ_เสาร์'.split('_'), // yes, three characters difference + weekdaysMin : 'à¸à¸²._จ._à¸._พ._พฤ._ศ._ส.'.split('_'), + weekdaysParseExact : true, + 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' + }, + meridiemParse: /à¸à¹ˆà¸à¸™à¹€à¸—ี่ยง|หลังเที่ยง/, + isPM: function (input) { + return input === 'หลังเที่ยง'; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'à¸à¹ˆà¸à¸™à¹€à¸—ี่ยง'; + } else { + return 'หลังเที่ยง'; + } + }, + calendar : { + sameDay : '[วันนี้ เวลา] LT', + nextDay : '[พรุ่งนี้ เวลา] LT', + nextWeek : 'dddd[หน้า เวลา] LT', + lastDay : '[เมื่à¸à¸§à¸²à¸™à¸™à¸µà¹‰ เวลา] LT', + lastWeek : '[วัน]dddd[ที่à¹à¸¥à¹‰à¸§ เวลา] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'à¸à¸µà¸ %s', + past : '%sที่à¹à¸¥à¹‰à¸§', + s : 'ไม่à¸à¸µà¹ˆà¸§à¸´à¸™à¸²à¸—ี', + ss : '%d วินาที', + m : '1 นาที', + mm : '%d นาที', + h : '1 ชั่วโมง', + hh : '%d ชั่วโมง', + d : '1 วัน', + dd : '%d วัน', + M : '1 เดืà¸à¸™', + MM : '%d เดืà¸à¸™', + y : '1 ปี', + yy : '%d ปี' + } +}); diff --git a/public/bower_components/moment/src/locale/tl-ph.js b/public/bower_components/moment/src/locale/tl-ph.js new file mode 100644 index 0000000..26c4824 --- /dev/null +++ b/public/bower_components/moment/src/locale/tl-ph.js @@ -0,0 +1,54 @@ +//! moment.js locale configuration +//! locale : Tagalog (Philippines) [tl-ph] +//! author : Dan Hagman : https://github.com/hagmandan + +import moment from '../moment'; + +export default moment.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 (number) { + return number; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/tlh.js b/public/bower_components/moment/src/locale/tlh.js new file mode 100644 index 0000000..324edc6 --- /dev/null +++ b/public/bower_components/moment/src/locale/tlh.js @@ -0,0 +1,113 @@ +//! moment.js locale configuration +//! locale : Klingon [tlh] +//! author : Dominika Kruk : https://github.com/amaranthrose + +import moment from '../moment'; + +var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_'); + +function translateFuture(output) { + var time = output; + time = (output.indexOf('jaj') !== -1) ? + time.slice(0, -3) + 'leS' : + (output.indexOf('jar') !== -1) ? + time.slice(0, -3) + 'waQ' : + (output.indexOf('DIS') !== -1) ? + time.slice(0, -3) + 'nem' : + time + ' pIq'; + return time; +} + +function translatePast(output) { + var time = output; + time = (output.indexOf('jaj') !== -1) ? + time.slice(0, -3) + 'Hu’' : + (output.indexOf('jar') !== -1) ? + time.slice(0, -3) + 'wen' : + (output.indexOf('DIS') !== -1) ? + time.slice(0, -3) + 'ben' : + time + ' ret'; + return time; +} + +function translate(number, withoutSuffix, string, isFuture) { + var numberNoun = numberAsNoun(number); + switch (string) { + case 'ss': + return numberNoun + ' lup'; + case 'mm': + return numberNoun + ' tup'; + case 'hh': + return numberNoun + ' rep'; + case 'dd': + return numberNoun + ' jaj'; + case 'MM': + return numberNoun + ' jar'; + case 'yy': + return numberNoun + ' DIS'; + } +} + +function numberAsNoun(number) { + var hundred = Math.floor((number % 1000) / 100), + ten = Math.floor((number % 100) / 10), + one = number % 10, + word = ''; + if (hundred > 0) { + word += numbersNouns[hundred] + 'vatlh'; + } + if (ten > 0) { + word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH'; + } + if (one > 0) { + word += ((word !== '') ? ' ' : '') + numbersNouns[one]; + } + return (word === '') ? 'pagh' : word; +} + +export default moment.defineLocale('tlh', { + months : 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'), + monthsShort : 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'), + monthsParseExact : true, + weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'), + weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'), + weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.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: '[DaHjaj] LT', + nextDay: '[wa’leS] LT', + nextWeek: 'LLL', + lastDay: '[wa’Hu’] LT', + lastWeek: 'LLL', + sameElse: 'L' + }, + relativeTime : { + future : translateFuture, + past : translatePast, + s : 'puS lup', + ss : translate, + m : 'wa’ tup', + mm : translate, + h : 'wa’ rep', + hh : translate, + d : 'wa’ jaj', + dd : translate, + M : 'wa’ jar', + MM : translate, + y : 'wa’ DIS', + yy : translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/tr.js b/public/bower_components/moment/src/locale/tr.js new file mode 100644 index 0000000..1eaa700 --- /dev/null +++ b/public/bower_components/moment/src/locale/tr.js @@ -0,0 +1,90 @@ + +//! moment.js locale configuration +//! locale : Turkish [tr] +//! authors : Erhan Gundogan : https://github.com/erhangundogan, +//! Burak YiÄŸit Kaya: https://github.com/BYK + +import moment from '../moment'; + +var suffixes = { + 1: '\'inci', + 5: '\'inci', + 8: '\'inci', + 70: '\'inci', + 80: '\'inci', + 2: '\'nci', + 7: '\'nci', + 20: '\'nci', + 50: '\'nci', + 3: '\'üncü', + 4: '\'üncü', + 100: '\'üncü', + 6: '\'ncı', + 9: '\'uncu', + 10: '\'uncu', + 30: '\'uncu', + 60: '\'ıncı', + 90: '\'ıncı' +}; + +export default moment.defineLocale('tr', { + months : 'Ocak_Åžubat_Mart_Nisan_Mayıs_Haziran_Temmuz_AÄŸustos_Eylül_Ekim_Kasım_Aralık'.split('_'), + monthsShort : 'Oca_Åžub_Mar_Nis_May_Haz_Tem_AÄŸu_Eyl_Eki_Kas_Ara'.split('_'), + weekdays : 'Pazar_Pazartesi_Salı_ÇarÅŸamba_PerÅŸembe_Cuma_Cumartesi'.split('_'), + weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'), + weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.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 : '[bugün saat] LT', + nextDay : '[yarın saat] LT', + nextWeek : '[gelecek] dddd [saat] LT', + lastDay : '[dün] LT', + lastWeek : '[geçen] dddd [saat] LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s sonra', + past : '%s önce', + s : 'birkaç saniye', + ss : '%d saniye', + m : 'bir dakika', + mm : '%d dakika', + h : 'bir saat', + hh : '%d saat', + d : 'bir gün', + dd : '%d gün', + M : 'bir ay', + MM : '%d ay', + y : 'bir yıl', + yy : '%d yıl' + }, + ordinal: function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'Do': + case 'DD': + return number; + default: + if (number === 0) { // special case for zero + return number + '\'ıncı'; + } + var a = number % 10, + b = number % 100 - a, + c = number >= 100 ? 100 : null; + return number + (suffixes[a] || suffixes[b] || suffixes[c]); + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/tzl.js b/public/bower_components/moment/src/locale/tzl.js new file mode 100644 index 0000000..2a59458 --- /dev/null +++ b/public/bower_components/moment/src/locale/tzl.js @@ -0,0 +1,84 @@ +//! moment.js locale configuration +//! locale : Talossan [tzl] +//! author : Robin van der Vliet : https://github.com/robin0van0der0v +//! author : Iustì Canun + +import moment from '../moment'; + +// After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals. +// This is currently too difficult (maybe even impossible) to add. +export default moment.defineLocale('tzl', { + months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'), + monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'), + weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'), + weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'), + weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'), + longDateFormat : { + LT : 'HH.mm', + LTS : 'HH.mm.ss', + L : 'DD.MM.YYYY', + LL : 'D. MMMM [dallas] YYYY', + LLL : 'D. MMMM [dallas] YYYY HH.mm', + LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm' + }, + meridiemParse: /d\'o|d\'a/i, + isPM : function (input) { + return 'd\'o' === input.toLowerCase(); + }, + meridiem : function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'd\'o' : 'D\'O'; + } else { + return isLower ? 'd\'a' : 'D\'A'; + } + }, + calendar : { + sameDay : '[oxhi à ] LT', + nextDay : '[demà à ] LT', + nextWeek : 'dddd [à ] LT', + lastDay : '[ieiri à ] LT', + lastWeek : '[sür el] dddd [lasteu à ] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'osprei %s', + past : 'ja%s', + s : processRelativeTime, + ss : processRelativeTime, + m : processRelativeTime, + mm : processRelativeTime, + h : processRelativeTime, + hh : processRelativeTime, + d : processRelativeTime, + dd : processRelativeTime, + M : processRelativeTime, + MM : processRelativeTime, + y : processRelativeTime, + yy : processRelativeTime + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal : '%d.', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + +function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + 's': ['viensas secunds', '\'iensas secunds'], + 'ss': [number + ' secunds', '' + number + ' secunds'], + 'm': ['\'n mÃut', '\'iens mÃut'], + 'mm': [number + ' mÃuts', '' + number + ' mÃuts'], + 'h': ['\'n þora', '\'iensa þora'], + 'hh': [number + ' þoras', '' + number + ' þoras'], + 'd': ['\'n ziua', '\'iensa ziua'], + 'dd': [number + ' ziuas', '' + number + ' ziuas'], + 'M': ['\'n mes', '\'iens mes'], + 'MM': [number + ' mesen', '' + number + ' mesen'], + 'y': ['\'n ar', '\'iens ar'], + 'yy': [number + ' ars', '' + number + ' ars'] + }; + return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]); +} + diff --git a/public/bower_components/moment/src/locale/tzm-latn.js b/public/bower_components/moment/src/locale/tzm-latn.js new file mode 100644 index 0000000..6adf550 --- /dev/null +++ b/public/bower_components/moment/src/locale/tzm-latn.js @@ -0,0 +1,50 @@ +//! moment.js locale configuration +//! locale : Central Atlas Tamazight Latin [tzm-latn] +//! author : Abdel Said : https://github.com/abdelsaid + +import moment from '../moment'; + +export default moment.defineLocale('tzm-latn', { + months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_É£wÅ¡t_Å¡wtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'), + monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_É£wÅ¡t_Å¡wtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'), + weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas'.split('_'), + weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas'.split('_'), + weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas'.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: '[asdkh g] LT', + nextDay: '[aska g] LT', + nextWeek: 'dddd [g] LT', + lastDay: '[assant g] LT', + lastWeek: 'dddd [g] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'dadkh s yan %s', + past : 'yan %s', + s : 'imik', + ss : '%d imik', + m : 'minuá¸', + mm : '%d minuá¸', + h : 'saÉ›a', + hh : '%d tassaÉ›in', + d : 'ass', + dd : '%d ossan', + M : 'ayowr', + MM : '%d iyyirn', + y : 'asgas', + yy : '%d isgasn' + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/tzm.js b/public/bower_components/moment/src/locale/tzm.js new file mode 100644 index 0000000..ae7651d --- /dev/null +++ b/public/bower_components/moment/src/locale/tzm.js @@ -0,0 +1,50 @@ +//! moment.js locale configuration +//! locale : Central Atlas Tamazight [tzm] +//! author : Abdel Said : https://github.com/abdelsaid + +import moment from '../moment'; + +export default moment.defineLocale('tzm', { + 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 oⵙⵙⴰâµ', + M : 'â´°âµ¢oⵓⵔ', + MM : '%d ⵉⵢⵢⵉⵔâµ', + y : 'ⴰⵙⴳⴰⵙ', + yy : '%d ⵉⵙⴳⴰⵙâµ' + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 12th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/ug-cn.js b/public/bower_components/moment/src/locale/ug-cn.js new file mode 100644 index 0000000..5a9a9fc --- /dev/null +++ b/public/bower_components/moment/src/locale/ug-cn.js @@ -0,0 +1,110 @@ +//! moment.js language configuration +//! locale : Uyghur (China) [ug-cn] +//! author: boyaq : https://github.com/boyaq + +import moment from '../moment'; + +export default moment.defineLocale('ug-cn', { + months: 'يانۋار_ÙÛۋرال_مارت_ئاپرÛÙ„_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سÛنتەبىر_ئۆكتەبىر_نويابىر_دÛكابىر'.split( + '_' + ), + monthsShort: 'يانۋار_ÙÛۋرال_مارت_ئاپرÛÙ„_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سÛنتەبىر_ئۆكتەبىر_نويابىر_دÛكابىر'.split( + '_' + ), + weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split( + '_' + ), + weekdaysShort: 'ÙŠÛ•_دۈ_سە_چا_Ù¾Û•_جۈ_Ø´Û•'.split('_'), + weekdaysMin: 'ÙŠÛ•_دۈ_سە_چا_Ù¾Û•_جۈ_Ø´Û•'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY-MM-DD', + LL: 'YYYY-يىلىM-ئاينىÚD-كۈنى', + LLL: 'YYYY-يىلىM-ئاينىÚD-كۈنى، HH:mm', + LLLL: 'ddddØŒ YYYY-يىلىM-ئاينىÚD-كۈنى، HH:mm' + }, + meridiemParse: /ÙŠÛØ±Ù‰Ù… ÙƒÛÚ†Û•|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن ÙƒÛيىن|ÙƒÛ•Ú†/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if ( + meridiem === 'ÙŠÛØ±Ù‰Ù… ÙƒÛÚ†Û•' || + meridiem === 'سەھەر' || + meridiem === 'چۈشتىن بۇرۇن' + ) { + return hour; + } else if (meridiem === 'چۈشتىن ÙƒÛيىن' || meridiem === 'ÙƒÛ•Ú†') { + return hour + 12; + } else { + return hour >= 11 ? hour : hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + var hm = hour * 100 + minute; + if (hm < 600) { + return 'ÙŠÛØ±Ù‰Ù… ÙƒÛÚ†Û•'; + } else if (hm < 900) { + return 'سەھەر'; + } else if (hm < 1130) { + return 'چۈشتىن بۇرۇن'; + } else if (hm < 1230) { + return 'چۈش'; + } else if (hm < 1800) { + return 'چۈشتىن ÙƒÛيىن'; + } else { + return 'ÙƒÛ•Ú†'; + } + }, + 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 (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + '-كۈنى'; + case 'w': + case 'W': + return number + '-ھەپتە'; + default: + return number; + } + }, + preparse: function (string) { + return string.replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/,/g, 'ØŒ'); + }, + week: { + // GB/T 7408-1994《数æ®å…ƒå’Œäº¤æ¢æ ¼å¼Â·ä¿¡æ¯äº¤æ¢Â·æ—¥æœŸå’Œæ—¶é—´è¡¨ç¤ºæ³•》与ISO 8601:1988ç‰æ•ˆ + dow: 1, // Monday is the first day of the week. + doy: 7 // The week that contains Jan 1st is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/uk.js b/public/bower_components/moment/src/locale/uk.js new file mode 100644 index 0000000..6b18bed --- /dev/null +++ b/public/bower_components/moment/src/locale/uk.js @@ -0,0 +1,146 @@ +//! moment.js locale configuration +//! locale : Ukrainian [uk] +//! author : zemlanin : https://github.com/zemlanin +//! Author : Menelion Elensúle : https://github.com/Oire + +import moment from '../moment'; + +function plural(word, num) { + var forms = word.split('_'); + return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]); +} +function relativeTimeWithPlural(number, withoutSuffix, key) { + var format = { + 'ss': withoutSuffix ? 'Ñекунда_Ñекунди_Ñекунд' : 'Ñекунду_Ñекунди_Ñекунд', + 'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин', + 'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин', + 'dd': 'день_дні_днів', + 'MM': 'міÑÑць_міÑÑці_міÑÑців', + 'yy': 'рік_роки_років' + }; + if (key === 'm') { + return withoutSuffix ? 'хвилина' : 'хвилину'; + } + else if (key === 'h') { + return withoutSuffix ? 'година' : 'годину'; + } + else { + return number + ' ' + plural(format[key], +number); + } +} +function weekdaysCaseReplace(m, format) { + var weekdays = { + 'nominative': 'неділÑ_понеділок_вівторок_Ñереда_четвер_п’ÑтницÑ_Ñубота'.split('_'), + 'accusative': 'неділю_понеділок_вівторок_Ñереду_четвер_п’Ñтницю_Ñуботу'.split('_'), + 'genitive': 'неділі_понеділка_вівторка_Ñереди_четверга_п’Ñтниці_Ñуботи'.split('_') + }; + + if (m === true) { + return weekdays['nominative'].slice(1, 7).concat(weekdays['nominative'].slice(0, 1)); + } + if (!m) { + return weekdays['nominative']; + } + + var nounCase = (/(\[[ВвУу]\]) ?dddd/).test(format) ? + 'accusative' : + ((/\[?(?:минулої|наÑтупної)? ?\] ?dddd/).test(format) ? + 'genitive' : + 'nominative'); + return weekdays[nounCase][m.day()]; +} +function processHoursFunction(str) { + return function () { + return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT'; + }; +} + +export default moment.defineLocale('uk', { + months : { + 'format': 'ÑічнÑ_лютого_березнÑ_квітнÑ_травнÑ_червнÑ_липнÑ_ÑерпнÑ_вереÑнÑ_жовтнÑ_лиÑтопада_груднÑ'.split('_'), + 'standalone': 'Ñічень_лютий_березень_квітень_травень_червень_липень_Ñерпень_вереÑень_жовтень_лиÑтопад_грудень'.split('_') + }, + monthsShort : 'Ñіч_лют_бер_квіт_трав_черв_лип_Ñерп_вер_жовт_лиÑÑ‚_груд'.split('_'), + weekdays : weekdaysCaseReplace, + 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: processHoursFunction('[Сьогодні '), + nextDay: processHoursFunction('[Завтра '), + lastDay: processHoursFunction('[Вчора '), + nextWeek: processHoursFunction('[У] dddd ['), + lastWeek: function () { + switch (this.day()) { + case 0: + case 3: + case 5: + case 6: + return processHoursFunction('[Минулої] dddd [').call(this); + case 1: + case 2: + case 4: + return processHoursFunction('[Минулого] dddd [').call(this); + } + }, + sameElse: 'L' + }, + relativeTime : { + future : 'за %s', + past : '%s тому', + s : 'декілька Ñекунд', + ss : relativeTimeWithPlural, + m : relativeTimeWithPlural, + mm : relativeTimeWithPlural, + h : 'годину', + hh : relativeTimeWithPlural, + d : 'день', + dd : relativeTimeWithPlural, + M : 'міÑÑць', + MM : relativeTimeWithPlural, + y : 'рік', + yy : relativeTimeWithPlural + }, + // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason + meridiemParse: /ночі|ранку|днÑ|вечора/, + isPM: function (input) { + return /^(днÑ|вечора)$/.test(input); + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'ночі'; + } else if (hour < 12) { + return 'ранку'; + } else if (hour < 17) { + return 'днÑ'; + } else { + return 'вечора'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/, + ordinal: function (number, period) { + switch (period) { + case 'M': + case 'd': + case 'DDD': + case 'w': + case 'W': + return number + '-й'; + case 'D': + return number + '-го'; + default: + return number; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/ur.js b/public/bower_components/moment/src/locale/ur.js new file mode 100644 index 0000000..56f1818 --- /dev/null +++ b/public/bower_components/moment/src/locale/ur.js @@ -0,0 +1,90 @@ +//! moment.js locale configuration +//! locale : Urdu [ur] +//! author : Sawood Alam : https://github.com/ibnesayeed +//! author : Zack : https://github.com/ZackVision + +import moment from '../moment'; + +var months = [ + 'جنوری', + 'ÙØ±ÙˆØ±ÛŒ', + 'مارچ', + 'اپریل', + 'مئی', + 'جون', + 'جولائی', + 'اگست', + 'ستمبر', + 'اکتوبر', + 'نومبر', + 'دسمبر' +]; +var days = [ + 'اتوار', + 'پیر', + 'منگل', + 'بدھ', + 'جمعرات', + 'جمعÛ', + 'ÛÙØªÛ' +]; + +export default moment.defineLocale('ur', { + months : months, + monthsShort : months, + weekdays : days, + weekdaysShort : days, + weekdaysMin : days, + 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 (input) { + return 'شام' === input; + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'صبØ'; + } + return 'شام'; + }, + 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 (string) { + return string.replace(/ØŒ/g, ','); + }, + postformat: function (string) { + return string.replace(/,/g, 'ØŒ'); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/uz-latn.js b/public/bower_components/moment/src/locale/uz-latn.js new file mode 100644 index 0000000..7dda237 --- /dev/null +++ b/public/bower_components/moment/src/locale/uz-latn.js @@ -0,0 +1,50 @@ +//! moment.js locale configuration +//! locale : Uzbek Latin [uz-latn] +//! author : Rasulbek Mirzayev : github.com/Rasulbeeek + +import moment from '../moment'; + +export default moment.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, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/uz.js b/public/bower_components/moment/src/locale/uz.js new file mode 100644 index 0000000..ff0f7ca --- /dev/null +++ b/public/bower_components/moment/src/locale/uz.js @@ -0,0 +1,50 @@ +//! moment.js locale configuration +//! locale : Uzbek [uz] +//! author : Sardor Muminov : https://github.com/muminoff + +import moment from '../moment'; + +export default moment.defineLocale('uz', { + 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 : 'D MMMM YYYY, dddd 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 йил' + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/vi.js b/public/bower_components/moment/src/locale/vi.js new file mode 100644 index 0000000..ad7f4b0 --- /dev/null +++ b/public/bower_components/moment/src/locale/vi.js @@ -0,0 +1,71 @@ +//! moment.js locale configuration +//! locale : Vietnamese [vi] +//! author : Bang Nguyen : https://github.com/bangnk + +import moment from '../moment'; + +export default moment.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 : true, + 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 : true, + meridiemParse: /sa|ch/i, + isPM : function (input) { + return /^ch$/i.test(input); + }, + meridiem : function (hours, minutes, isLower) { + if (hours < 12) { + return isLower ? 'sa' : 'SA'; + } else { + return isLower ? '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 (number) { + return number; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); + diff --git a/public/bower_components/moment/src/locale/x-pseudo.js b/public/bower_components/moment/src/locale/x-pseudo.js new file mode 100644 index 0000000..c50320d --- /dev/null +++ b/public/bower_components/moment/src/locale/x-pseudo.js @@ -0,0 +1,59 @@ +//! moment.js locale configuration +//! locale : Pseudo [x-pseudo] +//! author : Andrew Hood : https://github.com/andrewhood125 + +import moment from '../moment'; + +export default moment.defineLocale('x-pseudo', { + months : 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Ãp~rÃl_~Máý_~Júñé~_Júl~ý_Ãú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'), + monthsShort : 'J~áñ_~Féb_~Már_~Ãpr_~Máý_~Júñ_~Júl_~Ãúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'), + monthsParseExact : true, + weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~FrÃd~áý_S~átúr~dáý'.split('_'), + weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~FrÃ_~Sát'.split('_'), + weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + L : 'DD/MM/YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY HH:mm', + LLLL : 'dddd, D MMMM YYYY HH:mm' + }, + calendar : { + sameDay : '[T~ódá~ý át] LT', + nextDay : '[T~ómó~rró~w át] LT', + nextWeek : 'dddd [át] LT', + lastDay : '[Ã~ést~érdá~ý át] LT', + lastWeek : '[L~ást] dddd [át] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'Ã~ñ %s', + past : '%s á~gó', + s : 'á ~féw ~sécó~ñds', + ss : '%d s~écóñ~ds', + m : 'á ~mÃñ~úté', + mm : '%d m~Ãñú~tés', + h : 'á~ñ hó~úr', + hh : '%d h~óúrs', + d : 'á ~dáý', + dd : '%d d~áýs', + M : 'á ~móñ~th', + MM : '%d m~óñt~hs', + y : 'á ~ýéár', + yy : '%d ý~éárs' + }, + dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, + ordinal : function (number) { + var b = number % 10, + output = (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/yo.js b/public/bower_components/moment/src/locale/yo.js new file mode 100644 index 0000000..dcd6cd2 --- /dev/null +++ b/public/bower_components/moment/src/locale/yo.js @@ -0,0 +1,51 @@ +//! moment.js locale configuration +//! locale : Yoruba Nigeria [yo] +//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe + +import moment from '../moment'; + +export default moment.defineLocale('yo', { + months : 'SẹÌrẹÌ_EÌ€reÌ€leÌ€_Ẹrẹ̀naÌ€_IÌ€gbeÌ_EÌ€bibi_OÌ€kuÌ€du_Agẹmo_OÌ€guÌn_Owewe_Ọ̀waÌ€raÌ€_BeÌluÌ_Ọ̀pẹ̀̀'.split('_'), + monthsShort : 'SẹÌr_EÌ€rl_Ẹrn_IÌ€gb_EÌ€bi_OÌ€kuÌ€_Agẹ_OÌ€guÌ_Owe_Ọ̀waÌ€_BeÌl_Ọ̀pẹ̀̀'.split('_'), + weekdays : 'AÌ€iÌ€kuÌ_AjeÌ_IÌ€sẹÌgun_Ọjá»ÌruÌ_Ọjá»Ìbá»_ẸtiÌ€_AÌ€baÌmẹÌta'.split('_'), + weekdaysShort : 'AÌ€iÌ€k_AjeÌ_IÌ€sẹÌ_Ọjr_Ọjb_ẸtiÌ€_AÌ€baÌ'.split('_'), + weekdaysMin : 'AÌ€iÌ€_Aj_IÌ€s_Ọr_Ọb_Ẹt_AÌ€b'.split('_'), + 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 : '[OÌ€niÌ€ ni] LT', + nextDay : '[Ọ̀la ni] LT', + nextWeek : 'dddd [Ọsẹ̀ toÌn\'bá»] [ni] LT', + lastDay : '[AÌ€na ni] LT', + lastWeek : 'dddd [Ọsẹ̀ toÌlá»Ì] [ni] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'niÌ %s', + past : '%s ká»jaÌ', + s : 'iÌ€sẹjuÌ aayaÌ die', + ss :'aayaÌ %d', + m : 'iÌ€sẹjuÌ kan', + mm : 'iÌ€sẹjuÌ %d', + h : 'waÌkati kan', + hh : 'waÌkati %d', + d : 'á»já»Ì kan', + dd : 'á»já»Ì %d', + M : 'osuÌ€ kan', + MM : 'osuÌ€ %d', + y : 'á»duÌn kan', + yy : 'á»duÌn %d' + }, + dayOfMonthOrdinalParse : /á»já»Ì\s\d{1,2}/, + ordinal : 'á»já»Ì %d', + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/zh-cn.js b/public/bower_components/moment/src/locale/zh-cn.js new file mode 100644 index 0000000..d9e6e7e --- /dev/null +++ b/public/bower_components/moment/src/locale/zh-cn.js @@ -0,0 +1,102 @@ +//! moment.js locale configuration +//! locale : Chinese (China) [zh-cn] +//! author : suupic : https://github.com/suupic +//! author : Zeno Zeng : https://github.com/zenozeng + +import moment from '../moment'; + +export default moment.defineLocale('zh-cn', { + months : '一月_二月_三月_四月_五月_å…æœˆ_七月_八月_乿œˆ_åæœˆ_å一月_å二月'.split('_'), + monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), + weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期å…'.split('_'), + weekdaysShort : '周日_周一_周二_周三_周四_周五_周å…'.split('_'), + weekdaysMin : 'æ—¥_一_二_三_å››_五_å…'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY/MM/DD', + LL : 'YYYYå¹´M月Dæ—¥', + LLL : 'YYYYå¹´M月Dæ—¥Ah点mm分', + LLLL : 'YYYYå¹´M月Dæ—¥ddddAh点mm分', + l : 'YYYY/M/D', + ll : 'YYYYå¹´M月Dæ—¥', + lll : 'YYYYå¹´M月Dæ—¥ HH:mm', + llll : 'YYYYå¹´M月Dæ—¥dddd HH:mm' + }, + meridiemParse: /凌晨|早上|上åˆ|ä¸åˆ|下åˆ|晚上/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === '凌晨' || meridiem === '早上' || + meridiem === '上åˆ') { + return hour; + } else if (meridiem === '下åˆ' || meridiem === '晚上') { + return hour + 12; + } else { + // 'ä¸åˆ' + return hour >= 11 ? hour : hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + var hm = hour * 100 + minute; + if (hm < 600) { + return '凌晨'; + } else if (hm < 900) { + return '早上'; + } else if (hm < 1130) { + return '上åˆ'; + } else if (hm < 1230) { + return 'ä¸åˆ'; + } else if (hm < 1800) { + return '下åˆ'; + } else { + return '晚上'; + } + }, + calendar : { + sameDay : '[今天]LT', + nextDay : '[明天]LT', + nextWeek : '[下]ddddLT', + lastDay : '[昨天]LT', + lastWeek : '[上]ddddLT', + sameElse : 'L' + }, + dayOfMonthOrdinalParse: /\d{1,2}(æ—¥|月|周)/, + ordinal : function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + 'æ—¥'; + case 'M': + return number + '月'; + case 'w': + case 'W': + return number + '周'; + default: + return number; + } + }, + relativeTime : { + future : '%s内', + past : '%så‰', + s : 'å‡ ç§’', + ss : '%d ç§’', + m : '1 分钟', + mm : '%d 分钟', + h : '1 å°æ—¶', + hh : '%d å°æ—¶', + d : '1 天', + dd : '%d 天', + M : '1 个月', + MM : '%d 个月', + y : '1 å¹´', + yy : '%d å¹´' + }, + week : { + // GB/T 7408-1994《数æ®å…ƒå’Œäº¤æ¢æ ¼å¼Â·ä¿¡æ¯äº¤æ¢Â·æ—¥æœŸå’Œæ—¶é—´è¡¨ç¤ºæ³•》与ISO 8601:1988ç‰æ•ˆ + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}); diff --git a/public/bower_components/moment/src/locale/zh-hk.js b/public/bower_components/moment/src/locale/zh-hk.js new file mode 100644 index 0000000..9943541 --- /dev/null +++ b/public/bower_components/moment/src/locale/zh-hk.js @@ -0,0 +1,96 @@ +//! moment.js locale configuration +//! locale : Chinese (Hong Kong) [zh-hk] +//! author : Ben : https://github.com/ben-lin +//! author : Chris Lam : https://github.com/hehachris +//! author : Konstantin : https://github.com/skfd + +import moment from '../moment'; + +export default moment.defineLocale('zh-hk', { + months : '一月_二月_三月_四月_五月_å…æœˆ_七月_八月_乿œˆ_åæœˆ_å一月_å二月'.split('_'), + monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), + weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期å…'.split('_'), + weekdaysShort : '週日_週一_週二_週三_週四_週五_週å…'.split('_'), + weekdaysMin : 'æ—¥_一_二_三_å››_五_å…'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY/MM/DD', + LL : 'YYYYå¹´M月Dæ—¥', + LLL : 'YYYYå¹´M月Dæ—¥ HH:mm', + LLLL : 'YYYYå¹´M月Dæ—¥dddd HH:mm', + l : 'YYYY/M/D', + ll : 'YYYYå¹´M月Dæ—¥', + lll : 'YYYYå¹´M月Dæ—¥ HH:mm', + llll : 'YYYYå¹´M月Dæ—¥dddd HH:mm' + }, + meridiemParse: /凌晨|早上|上åˆ|ä¸åˆ|下åˆ|晚上/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上åˆ') { + return hour; + } else if (meridiem === 'ä¸åˆ') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === '下åˆ' || meridiem === '晚上') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + var hm = hour * 100 + minute; + if (hm < 600) { + return '凌晨'; + } else if (hm < 900) { + return '早上'; + } else if (hm < 1130) { + return '上åˆ'; + } else if (hm < 1230) { + return 'ä¸åˆ'; + } else if (hm < 1800) { + return '下åˆ'; + } else { + return '晚上'; + } + }, + calendar : { + sameDay : '[今天]LT', + nextDay : '[明天]LT', + nextWeek : '[下]ddddLT', + lastDay : '[昨天]LT', + lastWeek : '[上]ddddLT', + sameElse : 'L' + }, + dayOfMonthOrdinalParse: /\d{1,2}(æ—¥|月|週)/, + ordinal : function (number, period) { + switch (period) { + case 'd' : + case 'D' : + case 'DDD' : + return number + 'æ—¥'; + case 'M' : + return number + '月'; + case 'w' : + case 'W' : + return number + '週'; + default : + return number; + } + }, + relativeTime : { + future : '%så…§', + past : '%så‰', + s : '幾秒', + ss : '%d ç§’', + m : '1 分é˜', + mm : '%d 分é˜', + h : '1 å°æ™‚', + hh : '%d å°æ™‚', + d : '1 天', + dd : '%d 天', + M : '1 個月', + MM : '%d 個月', + y : '1 å¹´', + yy : '%d å¹´' + } +}); diff --git a/public/bower_components/moment/src/locale/zh-tw.js b/public/bower_components/moment/src/locale/zh-tw.js new file mode 100644 index 0000000..5ad0d9c --- /dev/null +++ b/public/bower_components/moment/src/locale/zh-tw.js @@ -0,0 +1,95 @@ +//! moment.js locale configuration +//! locale : Chinese (Taiwan) [zh-tw] +//! author : Ben : https://github.com/ben-lin +//! author : Chris Lam : https://github.com/hehachris + +import moment from '../moment'; + +export default moment.defineLocale('zh-tw', { + months : '一月_二月_三月_四月_五月_å…æœˆ_七月_八月_乿œˆ_åæœˆ_å一月_å二月'.split('_'), + monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), + weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期å…'.split('_'), + weekdaysShort : '週日_週一_週二_週三_週四_週五_週å…'.split('_'), + weekdaysMin : 'æ—¥_一_二_三_å››_五_å…'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY/MM/DD', + LL : 'YYYYå¹´M月Dæ—¥', + LLL : 'YYYYå¹´M月Dæ—¥ HH:mm', + LLLL : 'YYYYå¹´M月Dæ—¥dddd HH:mm', + l : 'YYYY/M/D', + ll : 'YYYYå¹´M月Dæ—¥', + lll : 'YYYYå¹´M月Dæ—¥ HH:mm', + llll : 'YYYYå¹´M月Dæ—¥dddd HH:mm' + }, + meridiemParse: /凌晨|早上|上åˆ|ä¸åˆ|下åˆ|晚上/, + meridiemHour : function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上åˆ') { + return hour; + } else if (meridiem === 'ä¸åˆ') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === '下åˆ' || meridiem === '晚上') { + return hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + var hm = hour * 100 + minute; + if (hm < 600) { + return '凌晨'; + } else if (hm < 900) { + return '早上'; + } else if (hm < 1130) { + return '上åˆ'; + } else if (hm < 1230) { + return 'ä¸åˆ'; + } else if (hm < 1800) { + return '下åˆ'; + } else { + return '晚上'; + } + }, + calendar : { + sameDay : '[今天] LT', + nextDay : '[明天] LT', + nextWeek : '[下]dddd LT', + lastDay : '[昨天] LT', + lastWeek : '[上]dddd LT', + sameElse : 'L' + }, + dayOfMonthOrdinalParse: /\d{1,2}(æ—¥|月|週)/, + ordinal : function (number, period) { + switch (period) { + case 'd' : + case 'D' : + case 'DDD' : + return number + 'æ—¥'; + case 'M' : + return number + '月'; + case 'w' : + case 'W' : + return number + '週'; + default : + return number; + } + }, + relativeTime : { + future : '%så…§', + past : '%så‰', + s : '幾秒', + ss : '%d ç§’', + m : '1 分é˜', + mm : '%d 分é˜', + h : '1 å°æ™‚', + hh : '%d å°æ™‚', + d : '1 天', + dd : '%d 天', + M : '1 個月', + MM : '%d 個月', + y : '1 å¹´', + yy : '%d å¹´' + } +}); diff --git a/public/bower_components/moment/src/moment.js b/public/bower_components/moment/src/moment.js new file mode 100644 index 0000000..14e64e9 --- /dev/null +++ b/public/bower_components/moment/src/moment.js @@ -0,0 +1,95 @@ +//! moment.js +//! version : 2.24.0 +//! authors : Tim Wood, Iskren Chernev, Moment.js contributors +//! license : MIT +//! momentjs.com + +import { hooks as moment, setHookCallback } from './lib/utils/hooks'; + +moment.version = '2.24.0'; + +import { + min, + max, + now, + isMoment, + momentPrototype as fn, + createUTC as utc, + createUnix as unix, + createLocal as local, + createInvalid as invalid, + createInZone as parseZone +} from './lib/moment/moment'; + +import { + getCalendarFormat +} from './lib/moment/calendar'; + +import { + defineLocale, + updateLocale, + getSetGlobalLocale as locale, + getLocale as localeData, + listLocales as locales, + listMonths as months, + listMonthsShort as monthsShort, + listWeekdays as weekdays, + listWeekdaysMin as weekdaysMin, + listWeekdaysShort as weekdaysShort +} from './lib/locale/locale'; + +import { + isDuration, + createDuration as duration, + getSetRelativeTimeRounding as relativeTimeRounding, + getSetRelativeTimeThreshold as relativeTimeThreshold +} from './lib/duration/duration'; + +import { normalizeUnits } from './lib/units/units'; + +import isDate from './lib/utils/is-date'; + +setHookCallback(local); + +moment.fn = fn; +moment.min = min; +moment.max = max; +moment.now = now; +moment.utc = utc; +moment.unix = unix; +moment.months = months; +moment.isDate = isDate; +moment.locale = locale; +moment.invalid = invalid; +moment.duration = duration; +moment.isMoment = isMoment; +moment.weekdays = weekdays; +moment.parseZone = parseZone; +moment.localeData = localeData; +moment.isDuration = isDuration; +moment.monthsShort = monthsShort; +moment.weekdaysMin = weekdaysMin; +moment.defineLocale = defineLocale; +moment.updateLocale = updateLocale; +moment.locales = locales; +moment.weekdaysShort = weekdaysShort; +moment.normalizeUnits = normalizeUnits; +moment.relativeTimeRounding = relativeTimeRounding; +moment.relativeTimeThreshold = relativeTimeThreshold; +moment.calendarFormat = getCalendarFormat; +moment.prototype = fn; + +// currently HTML5 input type only supports 24-hour formats +moment.HTML5_FMT = { + DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type="datetime-local" /> + DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type="datetime-local" step="1" /> + DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type="datetime-local" step="0.001" /> + DATE: 'YYYY-MM-DD', // <input type="date" /> + TIME: 'HH:mm', // <input type="time" /> + TIME_SECONDS: 'HH:mm:ss', // <input type="time" step="1" /> + TIME_MS: 'HH:mm:ss.SSS', // <input type="time" step="0.001" /> + WEEK: 'GGGG-[W]WW', // <input type="week" /> + MONTH: 'YYYY-MM' // <input type="month" /> +}; + +export default moment; diff --git a/public/bower_components/moment/templates/default.js b/public/bower_components/moment/templates/default.js new file mode 100644 index 0000000..095a78f --- /dev/null +++ b/public/bower_components/moment/templates/default.js @@ -0,0 +1,5 @@ +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + global.moment = factory() +}(this, (function () { 'use strict'; diff --git a/public/bower_components/moment/templates/locale-header.js b/public/bower_components/moment/templates/locale-header.js new file mode 100644 index 0000000..eadcc1d --- /dev/null +++ b/public/bower_components/moment/templates/locale-header.js @@ -0,0 +1,6 @@ +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; diff --git a/public/bower_components/moment/templates/test-header.js b/public/bower_components/moment/templates/test-header.js new file mode 100644 index 0000000..1b208a3 --- /dev/null +++ b/public/bower_components/moment/templates/test-header.js @@ -0,0 +1,6 @@ +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../../moment')) : + typeof define === 'function' && define.amd ? define(['../../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; diff --git a/public/coba.html b/public/coba.html new file mode 100644 index 0000000..36746ad --- /dev/null +++ b/public/coba.html @@ -0,0 +1,60 @@ +<!DOCTYPE html> +<html> +<head> + <title></title> + <link href="./css/app.css" rel="stylesheet" media="screen"> + <link href="./css/bootstrap-datetimepicker.min.css" rel="stylesheet" media="screen"> +</head> + +<body> + + <div class="input-append date form_datetime"> + <input size="16" type="text" value="" readonly> + <span class="add-on"><i class="icon-th"></i></span> + </div> + + <script type="text/javascript"> + $(".form_datetime").datetimepicker({ + format: "dd MM yyyy - hh:ii" + }); + </script> + + <script type="text/javascript" src="./js/app.js" charset="UTF-8"></script> + <script type="text/javascript" src="./js/bootstrap-datetimepicker.js" charset="UTF-8"></script> + <script type="text/javascript" src="./js/locales/bootstrap-datetimepicker.id.js" charset="UTF-8"></script> + <script type="text/javascript"> + $('.form_datetime').datetimepicker({ + language: 'id', + weekStart: 1, + todayBtn: 1, + autoclose: 1, + todayHighlight: 1, + startView: 2, + forceParse: 0, + showMeridian: 1 + }); + $('.form_date').datetimepicker({ + language: 'id', + weekStart: 1, + todayBtn: 1, + autoclose: 1, + todayHighlight: 1, + startView: 2, + minView: 2, + forceParse: 0 + }); + $('.form_time').datetimepicker({ + language: 'id', + weekStart: 1, + todayBtn: 1, + autoclose: 1, + todayHighlight: 1, + startView: 1, + minView: 0, + maxView: 1, + forceParse: 0 + }); + </script> + +</body> +<html> \ No newline at end of file diff --git a/public/test.html b/public/test.html new file mode 100644 index 0000000..a353df4 --- /dev/null +++ b/public/test.html @@ -0,0 +1,36 @@ + +<html> +<head> + <title>Test</title> + <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> + <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script> + <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.1/js/tempusdominus-bootstrap-4.min.js"></script> + <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.1/css/tempusdominus-bootstrap-4.min.css" /> + <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"> + + <!-- Latest compiled and minified CSS --> + <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css"> + + <!-- jQuery library --> + <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> + + <!-- Latest compiled JavaScript --> + <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script> +</head> + +<body> + <div class="container"> + <div class="row"> + <div class="col-sm-6"> + <input type="text" class="form-control datetimepicker-input" id="datetimepicker5" data-toggle="datetimepicker" data-target="#datetimepicker5"/> + </div> + <script type="text/javascript"> + $(function () { + $('#datetimepicker5').datetimepicker(); + }); + </script> + </div> + </div> +</body> + +</html> diff --git a/resources/.DS_Store b/resources/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**<q8>++&mCkOWA81W14cNZ<zv;LbK1Poaz?KmsK2CSc!( z0ynLxE!0092;Krf2c+FF_Fe*7ECH>lEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0<F0fCPF1$Cyrb|F7^5{eNG?83~ZUUlGt@xh*qZDeu<Z%US-OSsOPv j)R!Z4KLME7ReXlK;d!wEw5GODWMKRea10D2@KpjYNUI8I literal 0 HcmV?d00001 diff --git a/resources/assets/.DS_Store b/resources/assets/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**<q8>++&mCkOWA81W14cNZ<zv;LbK1Poaz?KmsK2CSc!( z0ynLxE!0092;Krf2c+FF_Fe*7ECH>lEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0<F0fCPF1$Cyrb|F7^5{eNG?83~ZUUlGt@xh*qZDeu<Z%US-OSsOPv j)R!Z4KLME7ReXlK;d!wEw5GODWMKRea10D2@KpjYNUI8I literal 0 HcmV?d00001 diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index d738219..8a11187 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -13,6 +13,13 @@ <!-- Styles --> <link href="{{ asset('css/app.css') }}" rel="stylesheet"> + + <!-- Datetime picker --> + <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> + <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script> + <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.1/js/tempusdominus-bootstrap-4.min.js"></script> + <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.1/css/tempusdominus-bootstrap-4.min.css" /> + <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"> </head> <body> <div id="app"> diff --git a/resources/views/mahasiswa/form_hasil_bimbingan.blade.php b/resources/views/mahasiswa/form_hasil_bimbingan.blade.php index a7ba8d6..ab94efa 100644 --- a/resources/views/mahasiswa/form_hasil_bimbingan.blade.php +++ b/resources/views/mahasiswa/form_hasil_bimbingan.blade.php @@ -66,7 +66,13 @@ @endif <div class="form-group row col-md-12"> <label for="tanggal_waktu" class="col-md-4 col-form-label text-md-right text-center">Waktu Bimbingan<sup>*</sup></label> - <input type="datetime-local" id="tanggal_waktu" name="tanggal_waktu" class="form-control col-md-8 " value="{{$tgl}}" required> + <!-- <input type="datetimelocal" id="tanggal_waktu" name="tanggal_waktu" class="form-control col-md-8 " value="{{$tgl}}" required> --> + <div class="input-group date justify-content-center col-md-8" id="datetimepicker3" data-target-input="nearest" style="padding-left: 0px; padding-right: 0px;"> + <input type="text" id="tanggal_waktu" name="tanggal_waktu" class="form-control datetimepicker-input" value="{{$tgl}}" required> + <div class="input-group-append" data-target="#datetimepicker3" data-toggle="datetimepicker"> + <div class="input-group-text"><i class="fa fa-calendar"></i></div> + </div> + </div> </div> <div class="form-group row col-md-12"> <label for="hasil_dan_diskusi" class="col-md-4 col-form-label text-md-right text-center ">Hasil dan Diskusi<sup>*</sup></label> @@ -78,15 +84,33 @@ </div> <div class="form-group row col-md-12"> <label for="waktu_bimbingan_selanjutnya" class="col-md-4 col-form-label text-md-right text-center">Waktu Bimbingan Selanjutnya</label> - <input type="datetime-local" id="waktu_bimbingan_selanjutnya" name="waktu_bimbingan_selanjutnya" class="form-control col-md-8 " value="{{$tgl_selanjutnya}}"> + <!-- <input type="datetimelocal" id="waktu_bimbingan_selanjutnya" name="waktu_bimbingan_selanjutnya" class="form-control col-md-8 " value="{{$tgl_selanjutnya}}"> --> + <div class="input-group date justify-content-center col-md-8" id="datetimepicker4" data-target-input="nearest" style="padding-left: 0px; padding-right: 0px;"> + <input type="text" id="waktu_bimbingan_selanjutnya" name="waktu_bimbingan_selanjutnya" class="form-control datetimepicker-input " value="{{$tgl_selanjutnya}}"> + <div class="input-group-append" data-target="#datetimepicker4" data-toggle="datetimepicker"> + <div class="input-group-text"><i class="fa fa-calendar"></i></div> + </div> + </div> </div> </div> + <script type="text/javascript"> + function formatDate() { + var date = document.getElementById('tanggal_waktu'); + var day = moment(date.value, "MM/DD/YYYY HH:mm A").format("YYYY-MM-DDTHH:mm:ss"); + document.getElementById('tanggal_waktu').value = day; + + var date2 = document.getElementById('waktu_bimbingan_selanjutnya'); + var day2 = moment(date2.value, "MM/DD/YYYY HH:mm A").format("YYYY-MM-DDTHH:mm:ss"); + document.getElementById('waktu_bimbingan_selanjutnya').value = day2; + } + </script> + </form> <span><sup>*</sup>Wajib diisi</span> <div class="row justify-content-center align-items-center"> <button type="exit" class="btn btn-white mr-2" onclick="backpage()">Cancel</button> - <button type="submit" form="form-hsl-bimbingan" class="btn btn-blue ml-2">Submit</button> + <button type="submit" form="form-hsl-bimbingan" class="btn btn-blue ml-2" onClick="formatDate();">Submit</button> </div> </div> </div> diff --git a/resources/views/manajer/detail_mahasiswa_control.blade.php b/resources/views/manajer/detail_mahasiswa_control.blade.php index 3db9c11..18ae828 100644 --- a/resources/views/manajer/detail_mahasiswa_control.blade.php +++ b/resources/views/manajer/detail_mahasiswa_control.blade.php @@ -155,17 +155,16 @@ <i class="material-icons font-size-18-px mr-2">check_circle</i>   Jadwal seminar topik ditetapkan oleh {{$seminarTopik->creator->name}} pada {{date("d M Y H:i:s", strtotime($seminarTopik->created_at.'UTC'))}} - - </div> <fieldset disabled="disabled"> @endif - <form action="{{route('seminartopik-penetapan')}}" method="post"> + <!-- <form action="{{route('seminartopik-penetapan')}}" method="post"> {{csrf_field()}} + <input type="hidden" name="mahasiswa" value="{{$mahasiswa->id}}"> <div class="row justify-content-center"> <div> - <input type="datetime-local" class="form-control" name="date" + <input type="datetimelocal" class="form-control" name="date" @if($seminarTopik) value="{{date("Y-m-d\TH:i:s", strtotime($seminarTopik->schedule))}}" @endif @@ -175,7 +174,38 @@ Tetapkan </button> </div> - </form> + </form> --> + + <form action="{{route('seminartopik-penetapan')}}" method="post"> + {{csrf_field()}} + <input type="hidden" name="mahasiswa" value="{{$mahasiswa->id}}"> + <div class="row justify-content-center"> + <div class="input-group date justify-content-center col-6" id="datetimepicker1" data-target-input="nearest"> + <input type="text" id="datetimeinput1" class=" form-control datetimepicker-input" data-target="#datetimepicker1" name="date" + @if($seminarTopik) + value="{{date("m/d/Y H:i A", strtotime($seminarTopik->schedule))}}" + @endif + > + <div class="input-group-append" data-target="#datetimepicker1" data-toggle="datetimepicker"> + <div class="input-group-text"><i class="fa fa-calendar"></i></div> + </div> + </div> + + <button class="btn btn-blue ml-4" onClick="formatDate();"> + Tetapkan + </button> + <script type="text/javascript"> + function formatDate() { + var date = document.getElementById('datetimeinput1'); + var day = moment(date.value, "MM/DD/YYYY HH:mm A").format("YYYY-MM-DDTHH:mm:ss"); + document.getElementById('datetimeinput1').value = day; + } + </script> + </div> + </form> + + + @if($mahasiswa->status >= \App\Mahasiswa::STATUS_SIAP_SEMINAR_TOPIK) </fieldset> @endif @@ -486,14 +516,30 @@ <input type="hidden" name="mahasiswa" value="{{$mahasiswa->id}}"> <div class="form-group row mt-2"> <label for="name" class="col-md-4 col-form-label text-md-right">Jadwal Seminar Proposal</label> - <div class="col-md-6"> - <input type="datetime-local" class="form-control" name="date" + + <div class="input-group date justify-content-center col-md-6" id="datetimepicker2" data-target-input="nearest"> + <!-- <input type="datetimelocal" class="form-control" name="date" @if($seminarProposal) value="{{date("Y-m-d\TH:i:s", strtotime($seminarProposal->schedule))}}" @endif - > + > --> + <input type="text" id="datetimeinput2" class="form-control datetimepicker-input" data-target="#datetimepicker2" name="date" + @if($seminarTopik) + value="{{date("m/d/Y H:i A", strtotime($seminarTopik->schedule))}}" + @endif + > + <div class="input-group-append" data-target="#datetimepicker2" data-toggle="datetimepicker"> + <div class="input-group-text"><i class="fa fa-calendar"></i></div> + </div> </div> </div> + <script type="text/javascript"> + function formatDate() { + var date = document.getElementById('datetimeinput2'); + var day = moment(date.value, "MM/DD/YYYY HH:mm A").format("YYYY-MM-DDTHH:mm:ss"); + document.getElementById('datetimeinput2').value = day; + } + </script> <div class="form-group row mt-2"> <label for="name" class="col-md-4 col-form-label text-md-right">Dosen Pembimbing 1</label> <div class="col-md-6"> @@ -586,7 +632,7 @@ </div> <div class="row justify-content-center"> - <button class="btn btn-blue ml-4"> + <button class="btn btn-blue ml-4" onClick="formatDate()"> Tetapkan </button> </div> diff --git a/resources/views/manajer/penjadwalan.blade.php b/resources/views/manajer/penjadwalan.blade.php index 0ce9648..71cf7eb 100644 --- a/resources/views/manajer/penjadwalan.blade.php +++ b/resources/views/manajer/penjadwalan.blade.php @@ -68,7 +68,13 @@ <td> <input type="hidden" id="id{{$item->topic->mahasiswa_id}}" name="id{{$item->topic->mahasiswa_id}}" class="form-control col-md-8 " value="{{$item->topic->mahasiswa_id}}"> <input type="hidden" id="tp{{$item->topic->mahasiswa_id}}" name="tp{{$item->topic->mahasiswa_id}}" class="form-control col-md-8 " value="{{$item->topic_id}}"> - <input type="datetime-local" id="sch{{$item->topic->mahasiswa_id}}" name="sch{{$item->topic->mahasiswa_id}}" class="form-control col-lg-12 " value="" onkeyup="updateSaveButton()"> + <!-- <input type="datetimelocal" id="sch{{$item->topic->mahasiswa_id}}" name="sch{{$item->topic->mahasiswa_id}}" class="form-control col-lg-12 " value="" onkeyup="updateSaveButton()"> --> + <div class="input-group date justify-content-center col-lg-12" id="datetimepicker5" data-target-input="nearest"> + <input type="text" id="sch{{$item->topic->mahasiswa_id}}" name="sch{{$item->topic->mahasiswa_id}}" class="form-control datetimepicker-input " value="" onkeyup="updateSaveButton()"> + <div class="input-group-append" data-target="#datetimepicker5" data-toggle="datetimepicker"> + <div class="input-group-text"><i class="fa fa-calendar"></i></div> + </div> + </div> </td> </tr> @php($count++) @@ -96,7 +102,13 @@ <td> <input type="hidden" id="id{{$item->mahasiswa_id}}" name="id{{$item->mahasiswa_id}}" class="form-control col-md-8 " value="{{$item->mahasiswa_id}}"> <input type="hidden" id="tp{{$item->mahasiswa_id}}" name="tp{{$item->mahasiswa_id}}" class="form-control col-md-8 " value="{{$item->topik_id}}"> - <input type="datetime-local" id="sch{{$item->mahasiswa_id}}" name="sch{{$item->mahasiswa_id}}" class="form-control col-lg-12 " value="{{$tgl}}" onkeyup="updateSaveButton()"> + <!-- <input type="datetimelocal" id="sch{{$item->mahasiswa_id}}" name="sch{{$item->mahasiswa_id}}" class="form-control col-lg-12 " value="{{$tgl}}" onkeyup="updateSaveButton()"> --> + <div class="input-group date justify-content-center col-lg-12" id="datetimepicker6" data-target-input="nearest"> + <input type="text" id="sch{{$item->topic->mahasiswa_id}}" name="sch{{$item->topic->mahasiswa_id}}" class="form-control datetimepicker-input " value="" onkeyup="updateSaveButton()"> + <div class="input-group-append" data-target="#datetimepicker6" data-toggle="datetimepicker"> + <div class="input-group-text"><i class="fa fa-calendar"></i></div> + </div> + </div> </td> </tr> @php($no++) @@ -176,7 +188,13 @@ <td> <input type="hidden" id="id{{$item->mahasiswa_id}}" name="id{{$item->mahasiswa_id}}" class="form-control col-md-8 " value="{{$item->mahasiswa_id}}"> <input type="hidden" id="tp{{$item->mahasiswa_id}}" name="tp{{$item->mahasiswa_id}}" class="form-control col-md-8 " value="{{$item->id}}"> - <input type="datetime-local" id="sch{{$item->mahasiswa_id}}" name="sch{{$item->mahasiswa_id}}" class="form-control col-lg-12 " value="" onkeyup="updateSaveButton2()"> + <!-- <input type="datetimelocal" id="sch{{$item->mahasiswa_id}}" name="sch{{$item->mahasiswa_id}}" class="form-control col-lg-12 " value="" onkeyup="updateSaveButton2()"> --> + <div class="input-group date justify-content-center col-lg-12" id="datetimepicker7" data-target-input="nearest"> + <input type="text" id="sch{{$item->mahasiswa_id}}" name="sch{{$item->mahasiswa_id}}" class="form-control datetimepicker-input " value="" onkeyup="updateSaveButton2()"> + <div class="input-group-append" data-target="#datetimepicker7" data-toggle="datetimepicker"> + <div class="input-group-text"><i class="fa fa-calendar"></i></div> + </div> + </div> </td> </tr> @php($count++) @@ -352,7 +370,7 @@ var inputs = document.getElementsByTagName('input'); var button = document.getElementById('save2'); for(var i = 0; i < inputs.length; i++){ - if(inputs[i].type.toLowerCase() === 'datetime-local'){ + if(inputs[i].type.toLowerCase() === 'text'){ if(inputs[i].value.toString() === ""){ button.classList.add('disabled'); button.disabled = true; @@ -370,7 +388,7 @@ var inputs = document.getElementsByTagName('input'); var button = document.getElementById('save'); for(var i = 0; i < inputs.length; i++){ - if(inputs[i].type.toLowerCase() === 'datetime-local'){ + if(inputs[i].type.toLowerCase() === 'text'){ if(inputs[i].value.toString() === ""){ button.classList.add('disabled'); button.disabled = true; -- GitLab