@sapui5/sap.rules.ui 1.98.0 → 1.101.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/package.json +1 -1
  2. package/src/sap/rules/ui/.library +1 -1
  3. package/src/sap/rules/ui/AstExpressionBasic.js +1 -1
  4. package/src/sap/rules/ui/AstExpressionBasicRenderer.js +4 -2
  5. package/src/sap/rules/ui/AutoCompleteSuggestionContent.js +1 -1
  6. package/src/sap/rules/ui/BindingSpy.js +1 -1
  7. package/src/sap/rules/ui/DecisionTable.js +1 -1
  8. package/src/sap/rules/ui/DecisionTableCell.js +1 -1
  9. package/src/sap/rules/ui/DecisionTableCellAstExpressionBasic.js +1 -1
  10. package/src/sap/rules/ui/DecisionTableCellExpressionAdvanced.js +1 -1
  11. package/src/sap/rules/ui/DecisionTableCellExpressionBasic.js +1 -1
  12. package/src/sap/rules/ui/DecisionTableConfiguration.js +3 -2
  13. package/src/sap/rules/ui/DecisionTableSettings.js +1 -1
  14. package/src/sap/rules/ui/DecisionTableSettingsOld.js +1 -1
  15. package/src/sap/rules/ui/ExpressionBase.js +1 -1
  16. package/src/sap/rules/ui/ExpressionBasic.js +1 -1
  17. package/src/sap/rules/ui/InstructionRenderer.js +4 -4
  18. package/src/sap/rules/ui/RuleBase.js +1 -1
  19. package/src/sap/rules/ui/RuleBuilder.js +1 -1
  20. package/src/sap/rules/ui/TextRule.js +4 -1
  21. package/src/sap/rules/ui/TextRuleConfiguration.js +1 -1
  22. package/src/sap/rules/ui/TextRuleSettings.js +1 -1
  23. package/src/sap/rules/ui/ast/autoCompleteContent/AutoSuggestionAdvancedFunctionPanel.js +1 -1
  24. package/src/sap/rules/ui/ast/autoCompleteContent/AutoSuggestionAggregateFunctionPanel.js +1 -1
  25. package/src/sap/rules/ui/ast/autoCompleteContent/AutoSuggestionArrayOperatorPanel.js +1 -1
  26. package/src/sap/rules/ui/ast/autoCompleteContent/AutoSuggestionComparisionOperatorPanel.js +1 -1
  27. package/src/sap/rules/ui/ast/autoCompleteContent/AutoSuggestionFixedValuePanel.js +1 -1
  28. package/src/sap/rules/ui/ast/autoCompleteContent/AutoSuggestionFunctionalOperatorPanel.js +1 -1
  29. package/src/sap/rules/ui/ast/autoCompleteContent/AutoSuggestionLogicalOperatorPanel.js +1 -1
  30. package/src/sap/rules/ui/ast/autoCompleteContent/AutoSuggestionLoopFunctionPanel.js +1 -1
  31. package/src/sap/rules/ui/ast/autoCompleteContent/AutoSuggestionMathematicalOperatorPanel.js +1 -1
  32. package/src/sap/rules/ui/ast/autoCompleteContent/AutoSuggestionMiscellaneousOperatorPanel.js +1 -1
  33. package/src/sap/rules/ui/ast/autoCompleteContent/AutoSuggestionOperationsPanel.js +1 -1
  34. package/src/sap/rules/ui/ast/autoCompleteContent/AutoSuggestionRangeOperatorPanel.js +1 -1
  35. package/src/sap/rules/ui/ast/autoCompleteContent/AutoSuggestionTimeAndDurationFunctionPanel.js +1 -1
  36. package/src/sap/rules/ui/ast/autoCompleteContent/AutoSuggestionVocabularyPanel.js +1 -1
  37. package/src/sap/rules/ui/ast/util/SelectFunctionDialog.js +1 -1
  38. package/src/sap/rules/ui/codemirror/addon/search/search.js +3 -3
  39. package/src/sap/rules/ui/library.js +1 -1
  40. package/src/sap/rules/ui/parser/businessLanguage/lib/ASTConvertor.js +9 -10
  41. package/src/sap/rules/ui/parser/businessLanguage/lib/IDPLexer.js +17843 -17870
  42. package/src/sap/rules/ui/parser/businessLanguage/lib/IDPParser.js +73104 -73131
  43. package/src/sap/rules/ui/parser/businessLanguage/lib/antlr3_all_min.js +6 -6
  44. package/src/sap/rules/ui/parser/businessLanguage/lib/autoCompleteUtils.js +19 -27
  45. package/src/sap/rules/ui/parser/businessLanguage/lib/constants.js +7 -15
  46. package/src/sap/rules/ui/parser/businessLanguage/lib/constantsBase.js +6 -11
  47. package/src/sap/rules/ui/parser/businessLanguage/lib/conversionUtils.js +12 -20
  48. package/src/sap/rules/ui/parser/businessLanguage/lib/entityModel.js +13 -20
  49. package/src/sap/rules/ui/parser/businessLanguage/lib/entityModelConstractor.js +11 -17
  50. package/src/sap/rules/ui/parser/businessLanguage/lib/localeConversion.js +10 -26
  51. package/src/sap/rules/ui/parser/businessLanguage/lib/numberConversion.js +9 -15
  52. package/src/sap/rules/ui/parser/businessLanguage/lib/parseModel.js +13 -40
  53. package/src/sap/rules/ui/parser/businessLanguage/lib/parseUtils.js +16 -29
  54. package/src/sap/rules/ui/parser/businessLanguage/lib/parserTokens.js +6 -4
  55. package/src/sap/rules/ui/parser/businessLanguage/lib/parsingBackendMediator.js +20 -43
  56. package/src/sap/rules/ui/parser/businessLanguage/lib/termsUtils.js +13 -23
  57. package/src/sap/rules/ui/parser/businessLanguage/lib/utils.js +6 -8
  58. package/src/sap/rules/ui/parser/businessLanguage/lib/valueHelpValidator.js +9 -15
  59. package/src/sap/rules/ui/parser/businessLanguage/lib/vocabularyUtils.js +8 -16
  60. package/src/sap/rules/ui/parser/i18n/src/sap/hrf/res/properties/messages_descriptions.properties +1 -1
  61. package/src/sap/rules/ui/parser/i18n/src/sap/hrf/res/properties/messages_descriptions_ar.properties +0 -1
  62. package/src/sap/rules/ui/parser/i18n/src/sap/hrf/res/properties/messages_descriptions_bg.properties +0 -1
  63. package/src/sap/rules/ui/parser/i18n/src/sap/hrf/res/properties/messages_descriptions_de.properties +0 -1
  64. package/src/sap/rules/ui/parser/i18n/src/sap/hrf/res/properties/messages_descriptions_iw.properties +0 -1
  65. package/src/sap/rules/ui/parser/infrastructure/errorHandling/hrfException.js +103 -104
  66. package/src/sap/rules/ui/parser/infrastructure/locale/lib/constants.js +6 -8
  67. package/src/sap/rules/ui/parser/infrastructure/locale/lib/moment_JS_min.js +1996 -2014
  68. package/src/sap/rules/ui/parser/infrastructure/locale/lib/resourceBundle.js +9 -12
  69. package/src/sap/rules/ui/parser/infrastructure/messageHandling/lib/constants.js +6 -7
  70. package/src/sap/rules/ui/parser/infrastructure/messageHandling/lib/message.js +6 -7
  71. package/src/sap/rules/ui/parser/infrastructure/messageHandling/lib/opMessages.js +6 -7
  72. package/src/sap/rules/ui/parser/infrastructure/messageHandling/lib/responseCollector.js +14 -18
  73. package/src/sap/rules/ui/parser/infrastructure/util/constants.js +7 -8
  74. package/src/sap/rules/ui/parser/infrastructure/util/utilsBase.js +7 -13
  75. package/src/sap/rules/ui/parser/resources/common/lib/constants.js +7 -13
  76. package/src/sap/rules/ui/parser/resources/common/lib/oDataHandler.js +6 -10
  77. package/src/sap/rules/ui/parser/resources/common/lib/resourcesConvertor.js +10 -24
  78. package/src/sap/rules/ui/parser/resources/dependencies/lib/constants.js +5 -10
  79. package/src/sap/rules/ui/parser/resources/dependencies/lib/constantsBase.js +7 -9
  80. package/src/sap/rules/ui/parser/resources/dependencies/lib/objects.js +7 -10
  81. package/src/sap/rules/ui/parser/resources/rule/lib/constantsBase.js +6 -10
  82. package/src/sap/rules/ui/parser/resources/vocabulary/lib/JSONLoader.js +32 -49
  83. package/src/sap/rules/ui/parser/resources/vocabulary/lib/constants.js +625 -637
  84. package/src/sap/rules/ui/parser/resources/vocabulary/lib/constantsBase.js +51 -49
  85. package/src/sap/rules/ui/parser/resources/vocabulary/lib/rtsVoca.js +12 -24
  86. package/src/sap/rules/ui/parser/resources/vocabulary/lib/rtsVocaContextBase.js +7 -10
  87. package/src/sap/rules/ui/parser/resources/vocabulary/lib/rtsVocaContextFactory.js +14 -24
  88. package/src/sap/rules/ui/parser/resources/vocabulary/lib/rtsVocaCoreFactory.js +8 -16
  89. package/src/sap/rules/ui/parser/resources/vocabulary/lib/rtsVocaInitiator.js +10 -22
  90. package/src/sap/rules/ui/parser/resources/vocabulary/lib/runtimeServicesCore.js +6 -2
  91. package/src/sap/rules/ui/parser/resources/vocabulary/lib/runtimeServicesUtils.js +8 -13
  92. package/src/sap/rules/ui/parser/resources/vocabulary/lib/termGeneration.js +19 -25
  93. package/src/sap/rules/ui/parser/resources/vocabulary/lib/utils.js +24 -37
  94. package/src/sap/rules/ui/parser/resources/vocabulary/lib/utilsBase.js +9 -20
  95. package/src/sap/rules/ui/parser/resources/vocabulary/lib/validationUtils.js +7 -11
  96. package/src/sap/rules/ui/parser/resources/vocabulary/lib/vocaConversionUtils.js +13 -10
  97. package/src/sap/rules/ui/parser/resources/vocabulary/lib/vocaObjects.js +10 -22
  98. package/src/sap/rules/ui/parser/resources/vocabulary/lib/vocabularyDataProvider.js +13 -24
  99. package/src/sap/rules/ui/parser/resources/vocabulary/lib/vocabularyDataProviderBaseContext.js +6 -9
  100. package/src/sap/rules/ui/parser/resources/vocabulary/lib/vocabularyDataProviderContextFactory.js +14 -24
  101. package/src/sap/rules/ui/parser/resources/vocabulary/lib/vocabularyDataProviderFactory.js +9 -17
  102. package/src/sap/rules/ui/parser/resources/vocabulary/lib/vocabularyDataProviderInitiator.js +11 -23
  103. package/src/sap/rules/ui/parser/resources/vocabulary/lib/vocabularyDataProviderJSONContext.js +11 -27
  104. package/src/sap/rules/ui/parser/ruleBody/lib/constants.js +7 -14
  105. package/src/sap/rules/ui/parser/ruleBody/lib/constantsBase.js +8 -14
  106. package/src/sap/rules/ui/parser/ruleBody/lib/decisionTableCell.js +17 -25
  107. package/src/sap/rules/ui/parser/ruleBody/lib/dependenciesHandler.js +6 -12
  108. package/src/sap/rules/ui/parser/ruleBody/lib/ruleBody.js +16 -25
  109. package/src/sap/rules/ui/parser/ruleBody/lib/ruleBodyConvertor.js +16 -29
  110. package/src/sap/rules/ui/parser/ruleBody/lib/ruleBodyServices.js +9 -18
  111. package/src/sap/rules/ui/parser/ruleBody/lib/ruleBodyValidator.js +21 -38
  112. package/src/sap/rules/ui/parser/ruleBody/lib/ruleServices.js +21 -35
  113. package/src/sap/rules/ui/services/AstExpressionLanguage.js +2 -2
  114. package/src/sap/rules/ui/services/ExpressionLanguage.js +9 -9
  115. package/src/sap/rules/ui/themes/base/AstExpression.less +1 -0
  116. package/src/sap/rules/ui/themes/base/ExpressionBasic.less +4 -1
  117. package/src/sap/rules/ui/type/ExpressionAbs.js +1 -1
@@ -1,2051 +1,2033 @@
1
- jQuery.sap.declare("sap.rules.ui.parser.infrastructure.locale.lib.moment_JS_min");
2
-
3
- // moment.js
4
- // version : 2.14.1
5
- // authors : Tim Wood, Iskren Chernev, Moment.js contributors
6
- // license : MIT
7
- // momentjs.com
8
-
9
- /****************************************************************************************************************************************
10
- H R F NOTE:
11
-
12
- This file was manually converted from js (as it is taken from momentjs.com) to xsjslib.
13
- Therefore if you want to replace it with other version taken from the momentjs.com, DO NOT forget to adapt it accordingly !!!
14
- Just run dif and see what was changed during the manual conversion to xsjslib.
15
-
16
- ****************************************************************************************************************************************/
17
-
18
-
19
- sap.rules.ui.parser.infrastructure.locale.lib.moment_JS_min = sap.rules.ui.parser.infrastructure.locale.lib.moment_JS_min|| {};
20
- sap.rules.ui.parser.infrastructure.locale.lib.moment_JS_min.lib = (function() {
21
-
22
- /* eslint-disable no-nested-ternary */
23
- /* eslint-disable no-catch-shadow */
24
- /* eslint-disable no-cond-assign */
25
- /* eslint-disable no-sequences */
26
- /* eslint-disable no-console */
27
- /* eslint-disable new-parens */
28
- /* eslint-disable no-undef */
29
- /* eslint-disable no-empty */
30
- /* eslint-disable curly */
1
+ sap.ui.define([
2
+ ], function() {
3
+ "use strict";
4
+
5
+ /* eslint-disable no-nested-ternary */
6
+ /* eslint-disable no-catch-shadow */
7
+ /* eslint-disable no-cond-assign */
8
+ /* eslint-disable no-sequences */
9
+ /* eslint-disable no-console */
10
+ /* eslint-disable new-parens */
11
+ /* eslint-disable no-undef */
12
+ /* eslint-disable no-empty */
13
+ /* eslint-disable curly */
14
+
15
+ var md, nd;
31
16
 
32
- var md, nd;
33
-
34
- function a() {
35
- return md.apply(null, arguments);
36
- }
37
- // This is done to register the method called with moment()
38
- // without creating circular dependencies.
39
- function b(a) {
40
- md = a;
41
- }
42
-
43
- function c(a) {
44
- return a instanceof Array || "[object Array]" === Object.prototype.toString.call(a);
45
- }
46
-
47
- function d(a) {
48
- return "[object Object]" === Object.prototype.toString.call(a);
49
- }
50
-
51
- function e(a) {
52
- var b;
53
- for (b in a){
54
- // even if its not own property I'd still call it non-empty
55
- return false;
56
- }
57
- return true;
58
- }
59
-
60
- function f(a) {
61
- return a instanceof Date || "[object Date]" === Object.prototype.toString.call(a);
62
- }
63
-
64
- function g(a, b) {
65
- var c, d = [];
66
- for (c = 0; c < a.length; ++c){
67
- d.push(b(a[c], c));
68
- }
69
- return d;
70
- }
71
-
72
- function h(a, b) {
73
- return Object.prototype.hasOwnProperty.call(a, b);
74
- }
75
-
76
- function i(a, b) {
77
- for (var c in b) h(b, c) && (a[c] = b[c]);
78
- return h(b, "toString") && (a.toString = b.toString), h(b, "valueOf") && (a.valueOf = b.valueOf), a;
79
- }
80
-
81
- function j(a, b, c, d) {
82
- return qb(a, b, c, d, !0).utc();
83
- }
84
-
85
- function k() {
86
- // We need to deep clone this object.
87
- return {
88
- empty: !1,
89
- unusedTokens: [],
90
- unusedInput: [],
91
- overflow: -2,
92
- charsLeftOver: 0,
93
- nullInput: !1,
94
- invalidMonth: null,
95
- invalidFormat: !1,
96
- userInvalidated: !1,
97
- iso: !1,
98
- parsedDateParts: [],
99
- meridiem: null
100
- };
101
- }
102
-
103
- function l(a) {
104
- return null == a._pf && (a._pf = k()), a._pf;
105
- }
106
-
107
- function m(a) {
108
- if (null == a._isValid) {
109
- var b = l(a),
110
- c = nd.call(b.parsedDateParts, function(a) {
111
- return null != a;
112
- });
113
- a._isValid = !isNaN(a._d.getTime()) && b.overflow < 0 && !b.empty && !b.invalidMonth && !b.invalidWeekday && !b.nullInput && !b.invalidFormat && !b.userInvalidated && (!b.meridiem || b.meridiem && c), a._strict && (a._isValid = a._isValid && 0 === b.charsLeftOver && 0 === b.unusedTokens.length && void 0 === b.bigHour);
114
- }
115
- return a._isValid;
116
- }
117
-
118
- function n(a) {
119
- var b = j(NaN);
120
- return null != a ? i(l(b), a) : l(b).userInvalidated = !0, b;
121
- }
122
-
123
- function o(a) {
124
- return void 0 === a;
125
- }
126
-
127
- function p(a, b) {
128
- var c, d, e;
129
- if (o(b._isAMomentObject) || (a._isAMomentObject = b._isAMomentObject), o(b._i) || (a._i = b._i), o(b._f) || (a._f = b._f), o(b._l) || (a._l = b._l), o(b._strict) || (a._strict = b._strict), o(b._tzm) || (a._tzm = b._tzm), o(b._isUTC) || (a._isUTC = b._isUTC), o(b._offset) || (a._offset = b._offset), o(b._pf) || (a._pf = l(b)), o(b._locale) || (a._locale = b._locale), od.length > 0)
130
- for (c in od) d = od[c], e = b[d], o(e) || (a[d] = e);
131
- return a;
132
- }
133
- // Moment prototype object
134
- function q(b) {
135
- p(this, b), this._d = new Date(null != b._d ? b._d.getTime() : NaN), pd === !1 && (pd = !0, a.updateOffset(this), pd = !1);
136
- }
137
-
138
- function r(a) {
139
- return a instanceof q || null != a && null != a._isAMomentObject;
140
- }
141
-
142
- function s(a) {
143
- return 0 > a ? Math.ceil(a) || 0 : Math.floor(a);
144
- }
145
-
146
- function t(a) {
147
- var b = +a,
148
- c = 0;
149
- return 0 !== b && isFinite(b) && (c = s(b)), c;
150
- }
151
- // compare two arrays, return the number of differences
152
- function u(a, b, c) {
153
- var d, e = Math.min(a.length, b.length),
154
- f = Math.abs(a.length - b.length),
155
- g = 0;
156
- for (d = 0; e > d; d++)(c && a[d] !== b[d] || !c && t(a[d]) !== t(b[d])) && g++;
157
- return g + f;
158
- }
159
-
160
- function v(b) {
161
- a.suppressDeprecationWarnings === !1 && "undefined" != typeof console && console.warn && console.warn("Deprecation warning: " + b);
162
- }
163
-
164
- function w(b, c) {
165
- var d = !0;
166
- return i(function() {
167
- return null != a.deprecationHandler && a.deprecationHandler(null, b), d && (v(b + "\nArguments: " + Array.prototype.slice.call(arguments).join(", ") + "\n" + (new Error).stack), d = !1), c.apply(this, arguments);
168
- }, c);
169
- }
170
-
171
- function x(b, c) {
172
- null != a.deprecationHandler && a.deprecationHandler(b, c), qd[b] || (v(c), qd[b] = !0);
173
- }
174
-
175
- function y(a) {
176
- return a instanceof Function || "[object Function]" === Object.prototype.toString.call(a);
177
- }
178
-
179
- function z(a) {
180
- var b, c;
181
- for (c in a) b = a[c], y(b) ? this[c] = b : this["_" + c] = b;
182
- this._config = a,
183
- // Lenient ordinal parsing accepts just a number in addition to
184
- // number + (possibly) stuff coming from _ordinalParseLenient.
185
- this._ordinalParseLenient = new RegExp(this._ordinalParse.source + "|" + /\d{1,2}/.source);
186
- }
187
-
188
- function A(a, b) {
189
- var c, e = i({}, a);
190
- for (c in b) h(b, c) && (d(a[c]) && d(b[c]) ? (e[c] = {}, i(e[c], a[c]), i(e[c], b[c])) : null != b[c] ? e[c] = b[c] : delete e[c]);
191
- for (c in a) h(a, c) && !h(b, c) && d(a[c]) && (
192
- // make sure changes to properties don't modify parent config
193
- e[c] = i({}, e[c]));
194
- return e;
195
- }
196
-
197
- function B(a) {
198
- null != a && this.set(a);
199
- }
200
-
201
- function C(a, b, c) {
202
- var d = this._calendar[a] || this._calendar.sameElse;
203
- return y(d) ? d.call(b, c) : d;
204
- }
205
-
206
- function D(a) {
207
- var b = this._longDateFormat[a],
208
- c = this._longDateFormat[a.toUpperCase()];
209
- return b || !c ? b : (this._longDateFormat[a] = c.replace(/MMMM|MM|DD|dddd/g, function(a) {
210
- return a.slice(1);
211
- }), this._longDateFormat[a]);
212
- }
213
-
214
- function E() {
215
- return this._invalidDate;
216
- }
217
-
218
- function F(a) {
219
- return this._ordinal.replace("%d", a);
220
- }
221
-
222
- function G(a, b, c, d) {
223
- var e = this._relativeTime[c];
224
- return y(e) ? e(a, b, c, d) : e.replace(/%d/i, a);
225
- }
226
-
227
- function H(a, b) {
228
- var c = this._relativeTime[a > 0 ? "future" : "past"];
229
- return y(c) ? c(b) : c.replace(/%s/i, b);
230
- }
231
-
232
- function I(a, b) {
233
- var c = a.toLowerCase();
234
- zd[c] = zd[c + "s"] = zd[b] = a;
235
- }
236
-
237
- function J(a) {
238
- return "string" == typeof a ? zd[a] || zd[a.toLowerCase()] : void 0;
239
- }
240
-
241
- function K(a) {
242
- var b, c, d = {};
243
- for (c in a) h(a, c) && (b = J(c), b && (d[b] = a[c]));
244
- return d;
245
- }
246
-
247
- function L(a, b) {
248
- Ad[a] = b;
249
- }
250
-
251
- function M(a) {
252
- var b = [];
253
- for (var c in a) b.push({
254
- unit: c,
255
- priority: Ad[c]
256
- });
257
- return b.sort(function(a, b) {
258
- return a.priority - b.priority;
259
- }), b;
260
- }
261
-
262
- function N(b, c) {
263
- return function(d) {
264
- return null != d ? (P(this, b, d), a.updateOffset(this, c), this) : O(this, b);
265
- };
266
- }
267
-
268
- function O(a, b) {
269
- return a.isValid() ? a._d["get" + (a._isUTC ? "UTC" : "") + b]() : NaN;
270
- }
271
-
272
- function P(a, b, c) {
273
- a.isValid() && a._d["set" + (a._isUTC ? "UTC" : "") + b](c);
274
- }
275
- // MOMENTS
276
- function Q(a) {
277
- return a = J(a), y(this[a]) ? this[a]() : this;
278
- }
279
-
280
- function R(a, b) {
281
- if ("object" == typeof a) {
282
- a = K(a);
283
- for (var c = M(a), d = 0; d < c.length; d++) this[c[d].unit](a[c[d].unit]);
284
- } else if (a = J(a), y(this[a])) return this[a](b);
285
- return this;
286
- }
287
-
288
- function S(a, b, c) {
289
- var d = "" + Math.abs(a),
290
- e = b - d.length,
291
- f = a >= 0;
292
- return (f ? c ? "+" : "" : "-") + Math.pow(10, Math.max(0, e)).toString().substr(1) + d;
293
- }
294
- // token: 'M'
295
- // padded: ['MM', 2]
296
- // ordinal: 'Mo'
297
- // callback: function () { this.month() + 1 }
298
- function T(a, b, c, d) {
299
- var e = d;
300
- "string" == typeof d && (e = function() {
301
- return this[d]();
302
- }), a && (Ed[a] = e), b && (Ed[b[0]] = function() {
303
- return S(e.apply(this, arguments), b[1], b[2]);
304
- }), c && (Ed[c] = function() {
305
- return this.localeData().ordinal(e.apply(this, arguments), a);
306
- });
307
- }
308
-
309
- function U(a) {
310
- return a.match(/\[[\s\S]/) ? a.replace(/^\[|\]$/g, "") : a.replace(/\\/g, "");
311
- }
312
-
313
- function V(a) {
314
- var b, c, d = a.match(Bd);
315
- for (b = 0, c = d.length; c > b; b++) Ed[d[b]] ? d[b] = Ed[d[b]] : d[b] = U(d[b]);
316
- return function(b) {
317
- var e, f = "";
318
- for (e = 0; c > e; e++) f += d[e] instanceof Function ? d[e].call(b, a) : d[e];
319
- return f;
320
- };
321
- }
322
- // format date using native date object
323
- function W(a, b) {
324
- return a.isValid() ? (b = X(b, a.localeData()), Dd[b] = Dd[b] || V(b), Dd[b](a)) : a.localeData().invalidDate();
325
- }
326
-
327
- function X(a, b) {
328
- function c(a) {
329
- return b.longDateFormat(a) || a;
17
+ function a() {
18
+ return md.apply(null, arguments);
19
+ }
20
+ // This is done to register the method called with moment()
21
+ // without creating circular dependencies.
22
+ function b(a) {
23
+ md = a;
24
+ }
25
+
26
+ function c(a) {
27
+ return a instanceof Array || "[object Array]" === Object.prototype.toString.call(a);
28
+ }
29
+
30
+ function d(a) {
31
+ return "[object Object]" === Object.prototype.toString.call(a);
32
+ }
33
+
34
+ function e(a) {
35
+ var b;
36
+ for (b in a){
37
+ // even if its not own property I'd still call it non-empty
38
+ return false;
39
+ }
40
+ return true;
41
+ }
42
+
43
+ function f(a) {
44
+ return a instanceof Date || "[object Date]" === Object.prototype.toString.call(a);
45
+ }
46
+
47
+ function g(a, b) {
48
+ var c, d = [];
49
+ for (c = 0; c < a.length; ++c){
50
+ d.push(b(a[c], c));
330
51
  }
331
- var d = 5;
332
- for (Cd.lastIndex = 0; d >= 0 && Cd.test(a);) a = a.replace(Cd, c), Cd.lastIndex = 0, d -= 1;
333
- return a;
334
- }
52
+ return d;
53
+ }
335
54
 
336
- function Y(a, b, c) {
337
- Wd[a] = y(b) ? b : function(a, d) {
338
- return a && c ? c : b;
339
- };
340
- }
55
+ function h(a, b) {
56
+ return Object.prototype.hasOwnProperty.call(a, b);
57
+ }
341
58
 
342
- function Z(a, b) {
343
- return h(Wd, a) ? Wd[a](b._strict, b._locale) : new RegExp($(a));
344
- }
345
- // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
346
- function $(a) {
347
- return _(a.replace("\\", "").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function(a, b, c, d, e) {
348
- return b || c || d || e;
349
- }));
350
- }
351
-
352
- function _(a) {
353
- return a.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&");
354
- }
355
-
356
- function aa(a, b) {
357
- var c, d = b;
358
- for ("string" == typeof a && (a = [a]), "number" == typeof b && (d = function(a, c) {
359
- c[b] = t(a);
360
- }), c = 0; c < a.length; c++) Xd[a[c]] = d;
361
- }
362
-
363
- function ba(a, b) {
364
- aa(a, function(a, c, d, e) {
365
- d._w = d._w || {}, b(a, d._w, d, e);
366
- });
367
- }
368
-
369
- function ca(a, b, c) {
370
- null != b && h(Xd, a) && Xd[a](b, c._a, c, a);
371
- }
59
+ function i(a, b) {
60
+ for (var c in b) h(b, c) && (a[c] = b[c]);
61
+ return h(b, "toString") && (a.toString = b.toString), h(b, "valueOf") && (a.valueOf = b.valueOf), a;
62
+ }
372
63
 
373
- function da(a, b) {
374
- return new Date(Date.UTC(a, b + 1, 0)).getUTCDate();
375
- }
64
+ function j(a, b, c, d) {
65
+ return qb(a, b, c, d, !0).utc();
66
+ }
376
67
 
377
- function ea(a, b) {
378
- return c(this._months) ? this._months[a.month()] : this._months[(this._months.isFormat || fe).test(b) ? "format" : "standalone"][a.month()];
379
- }
380
-
381
- function fa(a, b) {
382
- return c(this._monthsShort) ? this._monthsShort[a.month()] : this._monthsShort[fe.test(b) ? "format" : "standalone"][a.month()];
383
- }
384
-
385
- function ga(a, b, c) {
386
- var d, e, f, g = a.toLocaleLowerCase();
387
- if (!this._monthsParse)
388
- for (
389
- // this is not used
390
- this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = [], d = 0; 12 > d; ++d) f = j([2e3, d]), this._shortMonthsParse[d] = this.monthsShort(f, "").toLocaleLowerCase(), this._longMonthsParse[d] = this.months(f, "").toLocaleLowerCase();
391
- return c ? "MMM" === b ? (e = sd.call(this._shortMonthsParse, g), -1 !== e ? e : null) : (e = sd.call(this._longMonthsParse, g), -1 !== e ? e : null) : "MMM" === b ? (e = sd.call(this._shortMonthsParse, g), -1 !== e ? e : (e = sd.call(this._longMonthsParse, g), -1 !== e ? e : null)) : (e = sd.call(this._longMonthsParse, g), -1 !== e ? e : (e = sd.call(this._shortMonthsParse, g), -1 !== e ? e : null));
392
- }
393
-
394
- function ha(a, b, c) {
395
- var d, e, f;
396
- if (this._monthsParseExact) return ga.call(this, a, b, c);
397
- // TODO: add sorting
398
- // Sorting makes sure if one month (or abbr) is a prefix of another
399
- // see sorting in computeMonthsParse
400
- for (this._monthsParse || (this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = []), d = 0; 12 > d; d++) {
401
- // test the regex
402
- if (e = j([2e3, d]), c && !this._longMonthsParse[d] && (this._longMonthsParse[d] = new RegExp("^" + this.months(e, "").replace(".", "") + "$", "i"), this._shortMonthsParse[d] = new RegExp("^" + this.monthsShort(e, "").replace(".", "") + "$", "i")), c || this._monthsParse[d] || (f = "^" + this.months(e, "") + "|^" + this.monthsShort(e, ""), this._monthsParse[d] = new RegExp(f.replace(".", ""), "i")), c && "MMMM" === b && this._longMonthsParse[d].test(a)) return d;
403
- if (c && "MMM" === b && this._shortMonthsParse[d].test(a)) return d;
404
- if (!c && this._monthsParse[d].test(a)) return d;
405
- }
406
- }
407
- // MOMENTS
408
- function ia(a, b) {
409
- var c;
410
- if (!a.isValid())
411
- // No op
412
- return a;
413
- if ("string" == typeof b)
414
- if (/^\d+$/.test(b)) b = t(b);
415
- else
416
- // TODO: Another silent failure?
417
- if (b = a.localeData().monthsParse(b), "number" != typeof b) return a;
418
- return c = Math.min(a.date(), da(a.year(), b)), a._d["set" + (a._isUTC ? "UTC" : "") + "Month"](b, c), a;
419
- }
420
-
421
- function ja(b) {
422
- return null != b ? (ia(this, b), a.updateOffset(this, !0), this) : O(this, "Month");
423
- }
424
-
425
- function ka() {
426
- return da(this.year(), this.month());
427
- }
428
-
429
- function la(a) {
430
- return this._monthsParseExact ? (h(this, "_monthsRegex") || na.call(this), a ? this._monthsShortStrictRegex : this._monthsShortRegex) : (h(this, "_monthsShortRegex") || (this._monthsShortRegex = ie), this._monthsShortStrictRegex && a ? this._monthsShortStrictRegex : this._monthsShortRegex);
431
- }
432
-
433
- function ma(a) {
434
- return this._monthsParseExact ? (h(this, "_monthsRegex") || na.call(this), a ? this._monthsStrictRegex : this._monthsRegex) : (h(this, "_monthsRegex") || (this._monthsRegex = je), this._monthsStrictRegex && a ? this._monthsStrictRegex : this._monthsRegex);
435
- }
436
-
437
- function na() {
438
- function a(a, b) {
439
- return b.length - a.length;
440
- }
441
- var b, c, d = [],
442
- e = [],
443
- f = [];
444
- for (b = 0; 12 > b; b++) c = j([2e3, b]), d.push(this.monthsShort(c, "")), e.push(this.months(c, "")), f.push(this.months(c, "")), f.push(this.monthsShort(c, ""));
445
- for (
446
- // Sorting makes sure if one month (or abbr) is a prefix of another it
447
- // will match the longer piece.
448
- d.sort(a), e.sort(a), f.sort(a), b = 0; 12 > b; b++) d[b] = _(d[b]), e[b] = _(e[b]);
449
- for (b = 0; 24 > b; b++) f[b] = _(f[b]);
450
- this._monthsRegex = new RegExp("^(" + f.join("|") + ")", "i"), this._monthsShortRegex = this._monthsRegex, this._monthsStrictRegex = new RegExp("^(" + e.join("|") + ")", "i"), this._monthsShortStrictRegex = new RegExp("^(" + d.join("|") + ")", "i");
451
- }
452
- // HELPERS
453
- function oa(a) {
454
- return pa(a) ? 366 : 365;
455
- }
456
-
457
- function pa(a) {
458
- return a % 4 === 0 && a % 100 !== 0 || a % 400 === 0;
459
- }
460
-
461
- function qa() {
462
- return pa(this.year());
463
- }
464
-
465
- function ra(a, b, c, d, e, f, g) {
466
- //can't just apply() to create a date:
467
- //http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply
468
- var h = new Date(a, b, c, d, e, f, g);
469
- //the date constructor remaps years 0-99 to 1900-1999
470
- return 100 > a && a >= 0 && isFinite(h.getFullYear()) && h.setFullYear(a), h;
471
- }
472
-
473
- function sa(a) {
474
- var b = new Date(Date.UTC.apply(null, arguments));
475
- //the Date.UTC function remaps years 0-99 to 1900-1999
476
- return 100 > a && a >= 0 && isFinite(b.getUTCFullYear()) && b.setUTCFullYear(a), b;
477
- }
478
- // start-of-first-week - start-of-year
479
- function ta(a, b, c) {
480
- var // first-week day -- which january is always in the first week (4 for iso, 1 for other)
481
- d = 7 + b - c,
482
- // first-week day local weekday -- which local weekday is fwd
483
- e = (7 + sa(a, 0, d).getUTCDay() - b) % 7;
484
- return -e + d - 1;
485
- }
486
- //http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
487
- function ua(a, b, c, d, e) {
488
- var f, g, h = (7 + c - d) % 7,
489
- i = ta(a, d, e),
490
- j = 1 + 7 * (b - 1) + h + i;
491
- return 0 >= j ? (f = a - 1, g = oa(f) + j) : j > oa(a) ? (f = a + 1, g = j - oa(a)) : (f = a, g = j), {
492
- year: f,
493
- dayOfYear: g
494
- };
495
- }
496
-
497
- function va(a, b, c) {
498
- var d, e, f = ta(a.year(), b, c),
499
- g = Math.floor((a.dayOfYear() - f - 1) / 7) + 1;
500
- return 1 > g ? (e = a.year() - 1, d = g + wa(e, b, c)) : g > wa(a.year(), b, c) ? (d = g - wa(a.year(), b, c), e = a.year() + 1) : (e = a.year(), d = g), {
501
- week: d,
502
- year: e
503
- };
504
- }
505
-
506
- function wa(a, b, c) {
507
- var d = ta(a, b, c),
508
- e = ta(a + 1, b, c);
509
- return (oa(a) - d + e) / 7;
510
- }
511
- // HELPERS
512
- // LOCALES
513
- function xa(a) {
514
- return va(a, this._week.dow, this._week.doy).week;
515
- }
516
-
517
- function ya() {
518
- return this._week.dow;
519
- }
520
-
521
- function za() {
522
- return this._week.doy;
523
- }
524
- // MOMENTS
525
- function Aa(a) {
526
- var b = this.localeData().week(this);
527
- return null == a ? b : this.add(7 * (a - b), "d");
528
- }
529
-
530
- function Ba(a) {
531
- var b = va(this, 1, 4).week;
532
- return null == a ? b : this.add(7 * (a - b), "d");
533
- }
534
- // HELPERS
535
- function Ca(a, b) {
536
- return "string" != typeof a ? a : isNaN(a) ? (a = b.weekdaysParse(a), "number" == typeof a ? a : null) : parseInt(a, 10);
537
- }
538
-
539
- function Da(a, b) {
540
- return "string" == typeof a ? b.weekdaysParse(a) % 7 || 7 : isNaN(a) ? null : a;
541
- }
542
-
543
- function Ea(a, b) {
544
- return c(this._weekdays) ? this._weekdays[a.day()] : this._weekdays[this._weekdays.isFormat.test(b) ? "format" : "standalone"][a.day()];
545
- }
546
-
547
- function Fa(a) {
548
- return this._weekdaysShort[a.day()];
549
- }
550
-
551
- function Ga(a) {
552
- return this._weekdaysMin[a.day()];
553
- }
554
-
555
- function Ha(a, b, c) {
556
- var d, e, f, g = a.toLocaleLowerCase();
557
- if (!this._weekdaysParse)
558
- for (this._weekdaysParse = [], this._shortWeekdaysParse = [], this._minWeekdaysParse = [], d = 0; 7 > d; ++d) f = j([2e3, 1]).day(d), this._minWeekdaysParse[d] = this.weekdaysMin(f, "").toLocaleLowerCase(), this._shortWeekdaysParse[d] = this.weekdaysShort(f, "").toLocaleLowerCase(), this._weekdaysParse[d] = this.weekdays(f, "").toLocaleLowerCase();
559
- return c ? "dddd" === b ? (e = sd.call(this._weekdaysParse, g), -1 !== e ? e : null) : "ddd" === b ? (e = sd.call(this._shortWeekdaysParse, g), -1 !== e ? e : null) : (e = sd.call(this._minWeekdaysParse, g), -1 !== e ? e : null) : "dddd" === b ? (e = sd.call(this._weekdaysParse, g), -1 !== e ? e : (e = sd.call(this._shortWeekdaysParse, g), -1 !== e ? e : (e = sd.call(this._minWeekdaysParse, g), -1 !== e ? e : null))) : "ddd" === b ? (e = sd.call(this._shortWeekdaysParse, g), -1 !== e ? e : (e = sd.call(this._weekdaysParse, g), -1 !== e ? e : (e = sd.call(this._minWeekdaysParse, g), -1 !== e ? e : null))) : (e = sd.call(this._minWeekdaysParse, g), -1 !== e ? e : (e = sd.call(this._weekdaysParse, g), -1 !== e ? e : (e = sd.call(this._shortWeekdaysParse, g), -1 !== e ? e : null)));
560
- }
68
+ function k() {
69
+ // We need to deep clone this object.
70
+ return {
71
+ empty: !1,
72
+ unusedTokens: [],
73
+ unusedInput: [],
74
+ overflow: -2,
75
+ charsLeftOver: 0,
76
+ nullInput: !1,
77
+ invalidMonth: null,
78
+ invalidFormat: !1,
79
+ userInvalidated: !1,
80
+ iso: !1,
81
+ parsedDateParts: [],
82
+ meridiem: null
83
+ };
84
+ }
85
+
86
+ function l(a) {
87
+ return null == a._pf && (a._pf = k()), a._pf;
88
+ }
89
+
90
+ function m(a) {
91
+ if (null == a._isValid) {
92
+ var b = l(a),
93
+ c = nd.call(b.parsedDateParts, function(a) {
94
+ return null != a;
95
+ });
96
+ a._isValid = !isNaN(a._d.getTime()) && b.overflow < 0 && !b.empty && !b.invalidMonth && !b.invalidWeekday && !b.nullInput && !b.invalidFormat && !b.userInvalidated && (!b.meridiem || b.meridiem && c), a._strict && (a._isValid = a._isValid && 0 === b.charsLeftOver && 0 === b.unusedTokens.length && void 0 === b.bigHour);
97
+ }
98
+ return a._isValid;
99
+ }
100
+
101
+ function n(a) {
102
+ var b = j(NaN);
103
+ return null != a ? i(l(b), a) : l(b).userInvalidated = !0, b;
104
+ }
105
+
106
+ function o(a) {
107
+ return void 0 === a;
108
+ }
109
+
110
+ function p(a, b) {
111
+ var c, d, e;
112
+ if (o(b._isAMomentObject) || (a._isAMomentObject = b._isAMomentObject), o(b._i) || (a._i = b._i), o(b._f) || (a._f = b._f), o(b._l) || (a._l = b._l), o(b._strict) || (a._strict = b._strict), o(b._tzm) || (a._tzm = b._tzm), o(b._isUTC) || (a._isUTC = b._isUTC), o(b._offset) || (a._offset = b._offset), o(b._pf) || (a._pf = l(b)), o(b._locale) || (a._locale = b._locale), od.length > 0)
113
+ for (c in od) d = od[c], e = b[d], o(e) || (a[d] = e);
114
+ return a;
115
+ }
116
+ // Moment prototype object
117
+ function q(b) {
118
+ p(this, b), this._d = new Date(null != b._d ? b._d.getTime() : NaN), pd === !1 && (pd = !0, a.updateOffset(this), pd = !1);
119
+ }
120
+
121
+ function r(a) {
122
+ return a instanceof q || null != a && null != a._isAMomentObject;
123
+ }
124
+
125
+ function s(a) {
126
+ return 0 > a ? Math.ceil(a) || 0 : Math.floor(a);
127
+ }
128
+
129
+ function t(a) {
130
+ var b = +a,
131
+ c = 0;
132
+ return 0 !== b && isFinite(b) && (c = s(b)), c;
133
+ }
134
+ // compare two arrays, return the number of differences
135
+ function u(a, b, c) {
136
+ var d, e = Math.min(a.length, b.length),
137
+ f = Math.abs(a.length - b.length),
138
+ g = 0;
139
+ for (d = 0; e > d; d++)(c && a[d] !== b[d] || !c && t(a[d]) !== t(b[d])) && g++;
140
+ return g + f;
141
+ }
142
+
143
+ function v(b) {
144
+ a.suppressDeprecationWarnings === !1 && "undefined" != typeof console && console.warn && console.warn("Deprecation warning: " + b);
145
+ }
146
+
147
+ function w(b, c) {
148
+ var d = !0;
149
+ return i(function() {
150
+ return null != a.deprecationHandler && a.deprecationHandler(null, b), d && (v(b + "\nArguments: " + Array.prototype.slice.call(arguments).join(", ") + "\n" + (new Error).stack), d = !1), c.apply(this, arguments);
151
+ }, c);
152
+ }
153
+
154
+ function x(b, c) {
155
+ null != a.deprecationHandler && a.deprecationHandler(b, c), qd[b] || (v(c), qd[b] = !0);
156
+ }
157
+
158
+ function y(a) {
159
+ return a instanceof Function || "[object Function]" === Object.prototype.toString.call(a);
160
+ }
161
+
162
+ function z(a) {
163
+ var b, c;
164
+ for (c in a) b = a[c], y(b) ? this[c] = b : this["_" + c] = b;
165
+ this._config = a,
166
+ // Lenient ordinal parsing accepts just a number in addition to
167
+ // number + (possibly) stuff coming from _ordinalParseLenient.
168
+ this._ordinalParseLenient = new RegExp(this._ordinalParse.source + "|" + /\d{1,2}/.source);
169
+ }
170
+
171
+ function A(a, b) {
172
+ var c, e = i({}, a);
173
+ for (c in b) h(b, c) && (d(a[c]) && d(b[c]) ? (e[c] = {}, i(e[c], a[c]), i(e[c], b[c])) : null != b[c] ? e[c] = b[c] : delete e[c]);
174
+ for (c in a) h(a, c) && !h(b, c) && d(a[c]) && (
175
+ // make sure changes to properties don't modify parent config
176
+ e[c] = i({}, e[c]));
177
+ return e;
178
+ }
179
+
180
+ function B(a) {
181
+ null != a && this.set(a);
182
+ }
183
+
184
+ function C(a, b, c) {
185
+ var d = this._calendar[a] || this._calendar.sameElse;
186
+ return y(d) ? d.call(b, c) : d;
187
+ }
188
+
189
+ function D(a) {
190
+ var b = this._longDateFormat[a],
191
+ c = this._longDateFormat[a.toUpperCase()];
192
+ return b || !c ? b : (this._longDateFormat[a] = c.replace(/MMMM|MM|DD|dddd/g, function(a) {
193
+ return a.slice(1);
194
+ }), this._longDateFormat[a]);
195
+ }
196
+
197
+ function E() {
198
+ return this._invalidDate;
199
+ }
200
+
201
+ function F(a) {
202
+ return this._ordinal.replace("%d", a);
203
+ }
204
+
205
+ function G(a, b, c, d) {
206
+ var e = this._relativeTime[c];
207
+ return y(e) ? e(a, b, c, d) : e.replace(/%d/i, a);
208
+ }
209
+
210
+ function H(a, b) {
211
+ var c = this._relativeTime[a > 0 ? "future" : "past"];
212
+ return y(c) ? c(b) : c.replace(/%s/i, b);
213
+ }
214
+
215
+ function I(a, b) {
216
+ var c = a.toLowerCase();
217
+ zd[c] = zd[c + "s"] = zd[b] = a;
218
+ }
219
+
220
+ function J(a) {
221
+ return "string" == typeof a ? zd[a] || zd[a.toLowerCase()] : void 0;
222
+ }
223
+
224
+ function K(a) {
225
+ var b, c, d = {};
226
+ for (c in a) h(a, c) && (b = J(c), b && (d[b] = a[c]));
227
+ return d;
228
+ }
229
+
230
+ function L(a, b) {
231
+ Ad[a] = b;
232
+ }
233
+
234
+ function M(a) {
235
+ var b = [];
236
+ for (var c in a) b.push({
237
+ unit: c,
238
+ priority: Ad[c]
239
+ });
240
+ return b.sort(function(a, b) {
241
+ return a.priority - b.priority;
242
+ }), b;
243
+ }
244
+
245
+ function N(b, c) {
246
+ return function(d) {
247
+ return null != d ? (P(this, b, d), a.updateOffset(this, c), this) : O(this, b);
248
+ };
249
+ }
250
+
251
+ function O(a, b) {
252
+ return a.isValid() ? a._d["get" + (a._isUTC ? "UTC" : "") + b]() : NaN;
253
+ }
254
+
255
+ function P(a, b, c) {
256
+ a.isValid() && a._d["set" + (a._isUTC ? "UTC" : "") + b](c);
257
+ }
258
+ // MOMENTS
259
+ function Q(a) {
260
+ return a = J(a), y(this[a]) ? this[a]() : this;
261
+ }
262
+
263
+ function R(a, b) {
264
+ if ("object" == typeof a) {
265
+ a = K(a);
266
+ for (var c = M(a), d = 0; d < c.length; d++) this[c[d].unit](a[c[d].unit]);
267
+ } else if (a = J(a), y(this[a])) return this[a](b);
268
+ return this;
269
+ }
270
+
271
+ function S(a, b, c) {
272
+ var d = "" + Math.abs(a),
273
+ e = b - d.length,
274
+ f = a >= 0;
275
+ return (f ? c ? "+" : "" : "-") + Math.pow(10, Math.max(0, e)).toString().substr(1) + d;
276
+ }
277
+ // token: 'M'
278
+ // padded: ['MM', 2]
279
+ // ordinal: 'Mo'
280
+ // callback: function () { this.month() + 1 }
281
+ function T(a, b, c, d) {
282
+ var e = d;
283
+ "string" == typeof d && (e = function() {
284
+ return this[d]();
285
+ }), a && (Ed[a] = e), b && (Ed[b[0]] = function() {
286
+ return S(e.apply(this, arguments), b[1], b[2]);
287
+ }), c && (Ed[c] = function() {
288
+ return this.localeData().ordinal(e.apply(this, arguments), a);
289
+ });
290
+ }
291
+
292
+ function U(a) {
293
+ return a.match(/\[[\s\S]/) ? a.replace(/^\[|\]$/g, "") : a.replace(/\\/g, "");
294
+ }
295
+
296
+ function V(a) {
297
+ var b, c, d = a.match(Bd);
298
+ for (b = 0, c = d.length; c > b; b++) Ed[d[b]] ? d[b] = Ed[d[b]] : d[b] = U(d[b]);
299
+ return function(b) {
300
+ var e, f = "";
301
+ for (e = 0; c > e; e++) f += d[e] instanceof Function ? d[e].call(b, a) : d[e];
302
+ return f;
303
+ };
304
+ }
305
+ // format date using native date object
306
+ function W(a, b) {
307
+ return a.isValid() ? (b = X(b, a.localeData()), Dd[b] = Dd[b] || V(b), Dd[b](a)) : a.localeData().invalidDate();
308
+ }
561
309
 
562
- function Ia(a, b, c) {
563
- var d, e, f;
564
- if (this._weekdaysParseExact) return Ha.call(this, a, b, c);
565
- for (this._weekdaysParse || (this._weekdaysParse = [], this._minWeekdaysParse = [], this._shortWeekdaysParse = [], this._fullWeekdaysParse = []), d = 0; 7 > d; d++) {
566
- // test the regex
567
- if (e = j([2e3, 1]).day(d), c && !this._fullWeekdaysParse[d] && (this._fullWeekdaysParse[d] = new RegExp("^" + this.weekdays(e, "").replace(".", ".?") + "$", "i"), this._shortWeekdaysParse[d] = new RegExp("^" + this.weekdaysShort(e, "").replace(".", ".?") + "$", "i"), this._minWeekdaysParse[d] = new RegExp("^" + this.weekdaysMin(e, "").replace(".", ".?") + "$", "i")), this._weekdaysParse[d] || (f = "^" + this.weekdays(e, "") + "|^" + this.weekdaysShort(e, "") + "|^" + this.weekdaysMin(e, ""), this._weekdaysParse[d] = new RegExp(f.replace(".", ""), "i")), c && "dddd" === b && this._fullWeekdaysParse[d].test(a)) return d;
568
- if (c && "ddd" === b && this._shortWeekdaysParse[d].test(a)) return d;
569
- if (c && "dd" === b && this._minWeekdaysParse[d].test(a)) return d;
570
- if (!c && this._weekdaysParse[d].test(a)) return d;
571
- }
572
- }
573
- // MOMENTS
574
- function Ja(a) {
575
- if (!this.isValid()) return null != a ? this : NaN;
576
- var b = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
577
- return null != a ? (a = Ca(a, this.localeData()), this.add(a - b, "d")) : b;
310
+ function X(a, b) {
311
+ function c(a) {
312
+ return b.longDateFormat(a) || a;
578
313
  }
314
+ var d = 5;
315
+ for (Cd.lastIndex = 0; d >= 0 && Cd.test(a);) a = a.replace(Cd, c), Cd.lastIndex = 0, d -= 1;
316
+ return a;
317
+ }
579
318
 
580
- function Ka(a) {
581
- if (!this.isValid()) return null != a ? this : NaN;
582
- var b = (this.day() + 7 - this.localeData()._week.dow) % 7;
583
- return null == a ? b : this.add(a - b, "d");
584
- }
319
+ function Y(a, b, c) {
320
+ Wd[a] = y(b) ? b : function(a, d) {
321
+ return a && c ? c : b;
322
+ };
323
+ }
324
+
325
+ function Z(a, b) {
326
+ return h(Wd, a) ? Wd[a](b._strict, b._locale) : new RegExp($(a));
327
+ }
328
+ // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
329
+ function $(a) {
330
+ return _(a.replace("\\", "").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function(a, b, c, d, e) {
331
+ return b || c || d || e;
332
+ }));
333
+ }
334
+
335
+ function _(a) {
336
+ return a.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&");
337
+ }
338
+
339
+ function aa(a, b) {
340
+ var c, d = b;
341
+ for ("string" == typeof a && (a = [a]), "number" == typeof b && (d = function(a, c) {
342
+ c[b] = t(a);
343
+ }), c = 0; c < a.length; c++) Xd[a[c]] = d;
344
+ }
345
+
346
+ function ba(a, b) {
347
+ aa(a, function(a, c, d, e) {
348
+ d._w = d._w || {}, b(a, d._w, d, e);
349
+ });
350
+ }
585
351
 
586
- function La(a) {
587
- if (!this.isValid()) return null != a ? this : NaN;
588
- // behaves the same as moment#day except
589
- // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
590
- // as a setter, sunday should belong to the previous week.
591
- if (null != a) {
592
- var b = Da(a, this.localeData());
593
- return this.day(this.day() % 7 ? b : b - 7);
594
- }
595
- return this.day() || 7;
596
- }
352
+ function ca(a, b, c) {
353
+ null != b && h(Xd, a) && Xd[a](b, c._a, c, a);
354
+ }
597
355
 
598
- function Ma(a) {
599
- return this._weekdaysParseExact ? (h(this, "_weekdaysRegex") || Pa.call(this), a ? this._weekdaysStrictRegex : this._weekdaysRegex) : (h(this, "_weekdaysRegex") || (this._weekdaysRegex = pe), this._weekdaysStrictRegex && a ? this._weekdaysStrictRegex : this._weekdaysRegex);
600
- }
356
+ function da(a, b) {
357
+ return new Date(Date.UTC(a, b + 1, 0)).getUTCDate();
358
+ }
601
359
 
602
- function Na(a) {
603
- return this._weekdaysParseExact ? (h(this, "_weekdaysRegex") || Pa.call(this), a ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex) : (h(this, "_weekdaysShortRegex") || (this._weekdaysShortRegex = qe), this._weekdaysShortStrictRegex && a ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex);
604
- }
360
+ function ea(a, b) {
361
+ return c(this._months) ? this._months[a.month()] : this._months[(this._months.isFormat || fe).test(b) ? "format" : "standalone"][a.month()];
362
+ }
605
363
 
606
- function Oa(a) {
607
- return this._weekdaysParseExact ? (h(this, "_weekdaysRegex") || Pa.call(this), a ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex) : (h(this, "_weekdaysMinRegex") || (this._weekdaysMinRegex = re), this._weekdaysMinStrictRegex && a ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex);
608
- }
364
+ function fa(a, b) {
365
+ return c(this._monthsShort) ? this._monthsShort[a.month()] : this._monthsShort[fe.test(b) ? "format" : "standalone"][a.month()];
366
+ }
609
367
 
610
- function Pa() {
611
- function a(a, b) {
612
- return b.length - a.length;
613
- }
614
- var b, c, d, e, f, g = [],
615
- h = [],
616
- i = [],
617
- k = [];
618
- for (b = 0; 7 > b; b++) c = j([2e3, 1]).day(b), d = this.weekdaysMin(c, ""), e = this.weekdaysShort(c, ""), f = this.weekdays(c, ""), g.push(d), h.push(e), i.push(f), k.push(d), k.push(e), k.push(f);
368
+ function ga(a, b, c) {
369
+ var d, e, f, g = a.toLocaleLowerCase();
370
+ if (!this._monthsParse)
619
371
  for (
620
- // Sorting makes sure if one weekday (or abbr) is a prefix of another it
621
- // will match the longer piece.
622
- g.sort(a), h.sort(a), i.sort(a), k.sort(a), b = 0; 7 > b; b++) h[b] = _(h[b]), i[b] = _(i[b]), k[b] = _(k[b]);
623
- this._weekdaysRegex = new RegExp("^(" + k.join("|") + ")", "i"), this._weekdaysShortRegex = this._weekdaysRegex, this._weekdaysMinRegex = this._weekdaysRegex, this._weekdaysStrictRegex = new RegExp("^(" + i.join("|") + ")", "i"), this._weekdaysShortStrictRegex = new RegExp("^(" + h.join("|") + ")", "i"), this._weekdaysMinStrictRegex = new RegExp("^(" + g.join("|") + ")", "i");
624
- }
625
- // FORMATTING
626
- function Qa() {
627
- return this.hours() % 12 || 12;
628
- }
629
-
630
- function Ra() {
631
- return this.hours() || 24;
632
- }
633
-
634
- function Sa(a, b) {
635
- T(a, 0, 0, function() {
636
- return this.localeData().meridiem(this.hours(), this.minutes(), b);
637
- });
638
- }
639
- // PARSING
640
- function Ta(a, b) {
641
- return b._meridiemParse;
642
- }
643
- // LOCALES
644
- function Ua(a) {
645
- // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
646
- // Using charAt should be more compatible.
647
- return "p" === (a + "").toLowerCase().charAt(0);
648
- }
649
-
650
- function Va(a, b, c) {
651
- return a > 11 ? c ? "pm" : "PM" : c ? "am" : "AM";
652
- }
653
-
654
- function Wa(a) {
655
- return a ? a.toLowerCase().replace("_", "-") : a;
656
- }
657
- // pick the locale from the array
658
- // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
659
- // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
660
- function Xa(a) {
661
- for (var b, c, d, e, f = 0; f < a.length;) {
662
- for (e = Wa(a[f]).split("-"), b = e.length, c = Wa(a[f + 1]), c = c ? c.split("-") : null; b > 0;) {
663
- if (d = Ya(e.slice(0, b).join("-"))) return d;
664
- if (c && c.length >= b && u(e, c, !0) >= b - 1)
665
- //the next array item is better than a shallower substring of this one
666
- break;
667
- b--;
668
- }
669
- f++;
372
+ // this is not used
373
+ this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = [], d = 0; 12 > d; ++d) f = j([2e3, d]), this._shortMonthsParse[d] = this.monthsShort(f, "").toLocaleLowerCase(), this._longMonthsParse[d] = this.months(f, "").toLocaleLowerCase();
374
+ return c ? "MMM" === b ? (e = sd.call(this._shortMonthsParse, g), -1 !== e ? e : null) : (e = sd.call(this._longMonthsParse, g), -1 !== e ? e : null) : "MMM" === b ? (e = sd.call(this._shortMonthsParse, g), -1 !== e ? e : (e = sd.call(this._longMonthsParse, g), -1 !== e ? e : null)) : (e = sd.call(this._longMonthsParse, g), -1 !== e ? e : (e = sd.call(this._shortMonthsParse, g), -1 !== e ? e : null));
375
+ }
376
+
377
+ function ha(a, b, c) {
378
+ var d, e, f;
379
+ if (this._monthsParseExact) return ga.call(this, a, b, c);
380
+ // TODO: add sorting
381
+ // Sorting makes sure if one month (or abbr) is a prefix of another
382
+ // see sorting in computeMonthsParse
383
+ for (this._monthsParse || (this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = []), d = 0; 12 > d; d++) {
384
+ // test the regex
385
+ if (e = j([2e3, d]), c && !this._longMonthsParse[d] && (this._longMonthsParse[d] = new RegExp("^" + this.months(e, "").replace(".", "") + "$", "i"), this._shortMonthsParse[d] = new RegExp("^" + this.monthsShort(e, "").replace(".", "") + "$", "i")), c || this._monthsParse[d] || (f = "^" + this.months(e, "") + "|^" + this.monthsShort(e, ""), this._monthsParse[d] = new RegExp(f.replace(".", ""), "i")), c && "MMMM" === b && this._longMonthsParse[d].test(a)) return d;
386
+ if (c && "MMM" === b && this._shortMonthsParse[d].test(a)) return d;
387
+ if (!c && this._monthsParse[d].test(a)) return d;
388
+ }
389
+ }
390
+ // MOMENTS
391
+ function ia(a, b) {
392
+ var c;
393
+ if (!a.isValid())
394
+ // No op
395
+ return a;
396
+ if ("string" == typeof b)
397
+ if (/^\d+$/.test(b)) b = t(b);
398
+ else
399
+ // TODO: Another silent failure?
400
+ if (b = a.localeData().monthsParse(b), "number" != typeof b) return a;
401
+ return c = Math.min(a.date(), da(a.year(), b)), a._d["set" + (a._isUTC ? "UTC" : "") + "Month"](b, c), a;
402
+ }
403
+
404
+ function ja(b) {
405
+ return null != b ? (ia(this, b), a.updateOffset(this, !0), this) : O(this, "Month");
406
+ }
407
+
408
+ function ka() {
409
+ return da(this.year(), this.month());
410
+ }
411
+
412
+ function la(a) {
413
+ return this._monthsParseExact ? (h(this, "_monthsRegex") || na.call(this), a ? this._monthsShortStrictRegex : this._monthsShortRegex) : (h(this, "_monthsShortRegex") || (this._monthsShortRegex = ie), this._monthsShortStrictRegex && a ? this._monthsShortStrictRegex : this._monthsShortRegex);
414
+ }
415
+
416
+ function ma(a) {
417
+ return this._monthsParseExact ? (h(this, "_monthsRegex") || na.call(this), a ? this._monthsStrictRegex : this._monthsRegex) : (h(this, "_monthsRegex") || (this._monthsRegex = je), this._monthsStrictRegex && a ? this._monthsStrictRegex : this._monthsRegex);
418
+ }
419
+
420
+ function na() {
421
+ function a(a, b) {
422
+ return b.length - a.length;
423
+ }
424
+ var b, c, d = [],
425
+ e = [],
426
+ f = [];
427
+ for (b = 0; 12 > b; b++) c = j([2e3, b]), d.push(this.monthsShort(c, "")), e.push(this.months(c, "")), f.push(this.months(c, "")), f.push(this.monthsShort(c, ""));
428
+ for (
429
+ // Sorting makes sure if one month (or abbr) is a prefix of another it
430
+ // will match the longer piece.
431
+ d.sort(a), e.sort(a), f.sort(a), b = 0; 12 > b; b++) d[b] = _(d[b]), e[b] = _(e[b]);
432
+ for (b = 0; 24 > b; b++) f[b] = _(f[b]);
433
+ this._monthsRegex = new RegExp("^(" + f.join("|") + ")", "i"), this._monthsShortRegex = this._monthsRegex, this._monthsStrictRegex = new RegExp("^(" + e.join("|") + ")", "i"), this._monthsShortStrictRegex = new RegExp("^(" + d.join("|") + ")", "i");
434
+ }
435
+ // HELPERS
436
+ function oa(a) {
437
+ return pa(a) ? 366 : 365;
438
+ }
439
+
440
+ function pa(a) {
441
+ return a % 4 === 0 && a % 100 !== 0 || a % 400 === 0;
442
+ }
443
+
444
+ function qa() {
445
+ return pa(this.year());
446
+ }
447
+
448
+ function ra(a, b, c, d, e, f, g) {
449
+ //can't just apply() to create a date:
450
+ //http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply
451
+ var h = new Date(a, b, c, d, e, f, g);
452
+ //the date constructor remaps years 0-99 to 1900-1999
453
+ return 100 > a && a >= 0 && isFinite(h.getFullYear()) && h.setFullYear(a), h;
454
+ }
455
+
456
+ function sa(a) {
457
+ var b = new Date(Date.UTC.apply(null, arguments));
458
+ //the Date.UTC function remaps years 0-99 to 1900-1999
459
+ return 100 > a && a >= 0 && isFinite(b.getUTCFullYear()) && b.setUTCFullYear(a), b;
460
+ }
461
+ // start-of-first-week - start-of-year
462
+ function ta(a, b, c) {
463
+ var // first-week day -- which january is always in the first week (4 for iso, 1 for other)
464
+ d = 7 + b - c,
465
+ // first-week day local weekday -- which local weekday is fwd
466
+ e = (7 + sa(a, 0, d).getUTCDay() - b) % 7;
467
+ return -e + d - 1;
468
+ }
469
+ //http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
470
+ function ua(a, b, c, d, e) {
471
+ var f, g, h = (7 + c - d) % 7,
472
+ i = ta(a, d, e),
473
+ j = 1 + 7 * (b - 1) + h + i;
474
+ return 0 >= j ? (f = a - 1, g = oa(f) + j) : j > oa(a) ? (f = a + 1, g = j - oa(a)) : (f = a, g = j), {
475
+ year: f,
476
+ dayOfYear: g
477
+ };
478
+ }
479
+
480
+ function va(a, b, c) {
481
+ var d, e, f = ta(a.year(), b, c),
482
+ g = Math.floor((a.dayOfYear() - f - 1) / 7) + 1;
483
+ return 1 > g ? (e = a.year() - 1, d = g + wa(e, b, c)) : g > wa(a.year(), b, c) ? (d = g - wa(a.year(), b, c), e = a.year() + 1) : (e = a.year(), d = g), {
484
+ week: d,
485
+ year: e
486
+ };
487
+ }
488
+
489
+ function wa(a, b, c) {
490
+ var d = ta(a, b, c),
491
+ e = ta(a + 1, b, c);
492
+ return (oa(a) - d + e) / 7;
493
+ }
494
+ // HELPERS
495
+ // LOCALES
496
+ function xa(a) {
497
+ return va(a, this._week.dow, this._week.doy).week;
498
+ }
499
+
500
+ function ya() {
501
+ return this._week.dow;
502
+ }
503
+
504
+ function za() {
505
+ return this._week.doy;
506
+ }
507
+ // MOMENTS
508
+ function Aa(a) {
509
+ var b = this.localeData().week(this);
510
+ return null == a ? b : this.add(7 * (a - b), "d");
511
+ }
512
+
513
+ function Ba(a) {
514
+ var b = va(this, 1, 4).week;
515
+ return null == a ? b : this.add(7 * (a - b), "d");
516
+ }
517
+ // HELPERS
518
+ function Ca(a, b) {
519
+ return "string" != typeof a ? a : isNaN(a) ? (a = b.weekdaysParse(a), "number" == typeof a ? a : null) : parseInt(a, 10);
520
+ }
521
+
522
+ function Da(a, b) {
523
+ return "string" == typeof a ? b.weekdaysParse(a) % 7 || 7 : isNaN(a) ? null : a;
524
+ }
525
+
526
+ function Ea(a, b) {
527
+ return c(this._weekdays) ? this._weekdays[a.day()] : this._weekdays[this._weekdays.isFormat.test(b) ? "format" : "standalone"][a.day()];
528
+ }
529
+
530
+ function Fa(a) {
531
+ return this._weekdaysShort[a.day()];
532
+ }
533
+
534
+ function Ga(a) {
535
+ return this._weekdaysMin[a.day()];
536
+ }
537
+
538
+ function Ha(a, b, c) {
539
+ var d, e, f, g = a.toLocaleLowerCase();
540
+ if (!this._weekdaysParse)
541
+ for (this._weekdaysParse = [], this._shortWeekdaysParse = [], this._minWeekdaysParse = [], d = 0; 7 > d; ++d) f = j([2e3, 1]).day(d), this._minWeekdaysParse[d] = this.weekdaysMin(f, "").toLocaleLowerCase(), this._shortWeekdaysParse[d] = this.weekdaysShort(f, "").toLocaleLowerCase(), this._weekdaysParse[d] = this.weekdays(f, "").toLocaleLowerCase();
542
+ return c ? "dddd" === b ? (e = sd.call(this._weekdaysParse, g), -1 !== e ? e : null) : "ddd" === b ? (e = sd.call(this._shortWeekdaysParse, g), -1 !== e ? e : null) : (e = sd.call(this._minWeekdaysParse, g), -1 !== e ? e : null) : "dddd" === b ? (e = sd.call(this._weekdaysParse, g), -1 !== e ? e : (e = sd.call(this._shortWeekdaysParse, g), -1 !== e ? e : (e = sd.call(this._minWeekdaysParse, g), -1 !== e ? e : null))) : "ddd" === b ? (e = sd.call(this._shortWeekdaysParse, g), -1 !== e ? e : (e = sd.call(this._weekdaysParse, g), -1 !== e ? e : (e = sd.call(this._minWeekdaysParse, g), -1 !== e ? e : null))) : (e = sd.call(this._minWeekdaysParse, g), -1 !== e ? e : (e = sd.call(this._weekdaysParse, g), -1 !== e ? e : (e = sd.call(this._shortWeekdaysParse, g), -1 !== e ? e : null)));
543
+ }
544
+
545
+ function Ia(a, b, c) {
546
+ var d, e, f;
547
+ if (this._weekdaysParseExact) return Ha.call(this, a, b, c);
548
+ for (this._weekdaysParse || (this._weekdaysParse = [], this._minWeekdaysParse = [], this._shortWeekdaysParse = [], this._fullWeekdaysParse = []), d = 0; 7 > d; d++) {
549
+ // test the regex
550
+ if (e = j([2e3, 1]).day(d), c && !this._fullWeekdaysParse[d] && (this._fullWeekdaysParse[d] = new RegExp("^" + this.weekdays(e, "").replace(".", ".?") + "$", "i"), this._shortWeekdaysParse[d] = new RegExp("^" + this.weekdaysShort(e, "").replace(".", ".?") + "$", "i"), this._minWeekdaysParse[d] = new RegExp("^" + this.weekdaysMin(e, "").replace(".", ".?") + "$", "i")), this._weekdaysParse[d] || (f = "^" + this.weekdays(e, "") + "|^" + this.weekdaysShort(e, "") + "|^" + this.weekdaysMin(e, ""), this._weekdaysParse[d] = new RegExp(f.replace(".", ""), "i")), c && "dddd" === b && this._fullWeekdaysParse[d].test(a)) return d;
551
+ if (c && "ddd" === b && this._shortWeekdaysParse[d].test(a)) return d;
552
+ if (c && "dd" === b && this._minWeekdaysParse[d].test(a)) return d;
553
+ if (!c && this._weekdaysParse[d].test(a)) return d;
554
+ }
555
+ }
556
+ // MOMENTS
557
+ function Ja(a) {
558
+ if (!this.isValid()) return null != a ? this : NaN;
559
+ var b = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
560
+ return null != a ? (a = Ca(a, this.localeData()), this.add(a - b, "d")) : b;
561
+ }
562
+
563
+ function Ka(a) {
564
+ if (!this.isValid()) return null != a ? this : NaN;
565
+ var b = (this.day() + 7 - this.localeData()._week.dow) % 7;
566
+ return null == a ? b : this.add(a - b, "d");
567
+ }
568
+
569
+ function La(a) {
570
+ if (!this.isValid()) return null != a ? this : NaN;
571
+ // behaves the same as moment#day except
572
+ // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
573
+ // as a setter, sunday should belong to the previous week.
574
+ if (null != a) {
575
+ var b = Da(a, this.localeData());
576
+ return this.day(this.day() % 7 ? b : b - 7);
577
+ }
578
+ return this.day() || 7;
579
+ }
580
+
581
+ function Ma(a) {
582
+ return this._weekdaysParseExact ? (h(this, "_weekdaysRegex") || Pa.call(this), a ? this._weekdaysStrictRegex : this._weekdaysRegex) : (h(this, "_weekdaysRegex") || (this._weekdaysRegex = pe), this._weekdaysStrictRegex && a ? this._weekdaysStrictRegex : this._weekdaysRegex);
583
+ }
584
+
585
+ function Na(a) {
586
+ return this._weekdaysParseExact ? (h(this, "_weekdaysRegex") || Pa.call(this), a ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex) : (h(this, "_weekdaysShortRegex") || (this._weekdaysShortRegex = qe), this._weekdaysShortStrictRegex && a ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex);
587
+ }
588
+
589
+ function Oa(a) {
590
+ return this._weekdaysParseExact ? (h(this, "_weekdaysRegex") || Pa.call(this), a ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex) : (h(this, "_weekdaysMinRegex") || (this._weekdaysMinRegex = re), this._weekdaysMinStrictRegex && a ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex);
591
+ }
592
+
593
+ function Pa() {
594
+ function a(a, b) {
595
+ return b.length - a.length;
596
+ }
597
+ var b, c, d, e, f, g = [],
598
+ h = [],
599
+ i = [],
600
+ k = [];
601
+ for (b = 0; 7 > b; b++) c = j([2e3, 1]).day(b), d = this.weekdaysMin(c, ""), e = this.weekdaysShort(c, ""), f = this.weekdays(c, ""), g.push(d), h.push(e), i.push(f), k.push(d), k.push(e), k.push(f);
602
+ for (
603
+ // Sorting makes sure if one weekday (or abbr) is a prefix of another it
604
+ // will match the longer piece.
605
+ g.sort(a), h.sort(a), i.sort(a), k.sort(a), b = 0; 7 > b; b++) h[b] = _(h[b]), i[b] = _(i[b]), k[b] = _(k[b]);
606
+ this._weekdaysRegex = new RegExp("^(" + k.join("|") + ")", "i"), this._weekdaysShortRegex = this._weekdaysRegex, this._weekdaysMinRegex = this._weekdaysRegex, this._weekdaysStrictRegex = new RegExp("^(" + i.join("|") + ")", "i"), this._weekdaysShortStrictRegex = new RegExp("^(" + h.join("|") + ")", "i"), this._weekdaysMinStrictRegex = new RegExp("^(" + g.join("|") + ")", "i");
607
+ }
608
+ // FORMATTING
609
+ function Qa() {
610
+ return this.hours() % 12 || 12;
611
+ }
612
+
613
+ function Ra() {
614
+ return this.hours() || 24;
615
+ }
616
+
617
+ function Sa(a, b) {
618
+ T(a, 0, 0, function() {
619
+ return this.localeData().meridiem(this.hours(), this.minutes(), b);
620
+ });
621
+ }
622
+ // PARSING
623
+ function Ta(a, b) {
624
+ return b._meridiemParse;
625
+ }
626
+ // LOCALES
627
+ function Ua(a) {
628
+ // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
629
+ // Using charAt should be more compatible.
630
+ return "p" === (a + "").toLowerCase().charAt(0);
631
+ }
632
+
633
+ function Va(a, b, c) {
634
+ return a > 11 ? c ? "pm" : "PM" : c ? "am" : "AM";
635
+ }
636
+
637
+ function Wa(a) {
638
+ return a ? a.toLowerCase().replace("_", "-") : a;
639
+ }
640
+ // pick the locale from the array
641
+ // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
642
+ // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
643
+ function Xa(a) {
644
+ for (var b, c, d, e, f = 0; f < a.length;) {
645
+ for (e = Wa(a[f]).split("-"), b = e.length, c = Wa(a[f + 1]), c = c ? c.split("-") : null; b > 0;) {
646
+ if (d = Ya(e.slice(0, b).join("-"))) return d;
647
+ if (c && c.length >= b && u(e, c, !0) >= b - 1)
648
+ //the next array item is better than a shallower substring of this one
649
+ break;
650
+ b--;
670
651
  }
671
- return null;
672
- }
673
-
674
- function Ya(a) {
675
- var b = null;
676
- // TODO: Find a better way to register and load all the locales in Node
677
- if (!we[a] && "undefined" != typeof module && module && module.exports) try {
678
- b = se._abbr, require("./locale/" + a),
679
- // because defineLocale currently also sets the global locale, we
680
- // want to undo that for lazy loaded locales
681
- Za(b);
682
- } catch (c) {}
683
- return we[a];
684
- }
685
- // This function will load locale and then set the global locale. If
686
- // no arguments are passed in, it will simply return the current global
687
- // locale key.
688
- function Za(a, b) {
689
- var c;
690
- // moment.duration._locale = moment._locale = data;
691
- return a && (c = o(b) ? ab(a) : $a(a, b), c && (se = c)), se._abbr;
692
- }
693
-
694
- function $a(a, b) {
695
- if (null !== b) {
696
- var c = ve;
697
- // treat as if there is no base config
652
+ f++;
653
+ }
654
+ return null;
655
+ }
656
+
657
+ function Ya(a) {
658
+ var b = null;
659
+ // TODO: Find a better way to register and load all the locales in Node
660
+ if (!we[a] && "undefined" != typeof module && module && module.exports) try {
661
+ b = se._abbr, require("./locale/" + a),
662
+ // because defineLocale currently also sets the global locale, we
663
+ // want to undo that for lazy loaded locales
664
+ Za(b);
665
+ } catch (c) {}
666
+ return we[a];
667
+ }
668
+ // This function will load locale and then set the global locale. If
669
+ // no arguments are passed in, it will simply return the current global
670
+ // locale key.
671
+ function Za(a, b) {
672
+ var c;
673
+ // moment.duration._locale = moment._locale = data;
674
+ return a && (c = o(b) ? ab(a) : $a(a, b), c && (se = c)), se._abbr;
675
+ }
676
+
677
+ function $a(a, b) {
678
+ if (null !== b) {
679
+ var c = ve;
680
+ // treat as if there is no base config
681
+ // backwards compat for now: also set the locale
682
+ return b.abbr = a, null != we[a] ? (x("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."), c = we[a]._config) : null != b.parentLocale && (null != we[b.parentLocale] ? c = we[b.parentLocale]._config : x("parentLocaleUndefined", "specified parentLocale is not defined yet. See http://momentjs.com/guides/#/warnings/parent-locale/")), we[a] = new B(A(c, b)), Za(a), we[a];
683
+ }
684
+ // useful for testing
685
+ return delete we[a], null;
686
+ }
687
+
688
+ function _a(a, b) {
689
+ if (null != b) {
690
+ var c, d = ve;
691
+ // MERGE
692
+ null != we[a] && (d = we[a]._config), b = A(d, b), c = new B(b), c.parentLocale = we[a], we[a] = c,
698
693
  // backwards compat for now: also set the locale
699
- return b.abbr = a, null != we[a] ? (x("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."), c = we[a]._config) : null != b.parentLocale && (null != we[b.parentLocale] ? c = we[b.parentLocale]._config : x("parentLocaleUndefined", "specified parentLocale is not defined yet. See http://momentjs.com/guides/#/warnings/parent-locale/")), we[a] = new B(A(c, b)), Za(a), we[a];
700
- }
701
- // useful for testing
702
- return delete we[a], null;
703
- }
704
-
705
- function _a(a, b) {
706
- if (null != b) {
707
- var c, d = ve;
708
- // MERGE
709
- null != we[a] && (d = we[a]._config), b = A(d, b), c = new B(b), c.parentLocale = we[a], we[a] = c,
710
- // backwards compat for now: also set the locale
711
- Za(a);
712
- } else
713
- // pass null for config to unupdate, useful for tests
714
- null != we[a] && (null != we[a].parentLocale ? we[a] = we[a].parentLocale : null != we[a] && delete we[a]);
715
- return we[a];
716
- }
717
- // returns locale data
718
- function ab(a) {
719
- var b;
720
- if (a && a._locale && a._locale._abbr && (a = a._locale._abbr), !a) return se;
721
- if (!c(a)) {
722
- if (b = Ya(a)) return b;
723
- a = [a];
724
- }
725
- return Xa(a);
726
- }
727
-
728
- function bb() {
729
- return rd(we);
730
- }
731
-
732
- function cb(a) {
733
- var b, c = a._a;
734
- return c && -2 === l(a).overflow && (b = c[Zd] < 0 || c[Zd] > 11 ? Zd : c[$d] < 1 || c[$d] > da(c[Yd], c[Zd]) ? $d : c[_d] < 0 || c[_d] > 24 || 24 === c[_d] && (0 !== c[ae] || 0 !== c[be] || 0 !== c[ce]) ? _d : c[ae] < 0 || c[ae] > 59 ? ae : c[be] < 0 || c[be] > 59 ? be : c[ce] < 0 || c[ce] > 999 ? ce : -1, l(a)._overflowDayOfYear && (Yd > b || b > $d) && (b = $d), l(a)._overflowWeeks && -1 === b && (b = de), l(a)._overflowWeekday && -1 === b && (b = ee), l(a).overflow = b), a;
735
- }
736
- // date from iso format
737
- function db(a) {
738
- var b, c, d, e, f, g, h = a._i,
739
- i = xe.exec(h) || ye.exec(h);
740
- if (i) {
741
- for (l(a).iso = !0, b = 0, c = Ae.length; c > b; b++)
742
- if (Ae[b][1].exec(i[1])) {
743
- e = Ae[b][0], d = Ae[b][2] !== !1;
694
+ Za(a);
695
+ } else
696
+ // pass null for config to unupdate, useful for tests
697
+ null != we[a] && (null != we[a].parentLocale ? we[a] = we[a].parentLocale : null != we[a] && delete we[a]);
698
+ return we[a];
699
+ }
700
+ // returns locale data
701
+ function ab(a) {
702
+ var b;
703
+ if (a && a._locale && a._locale._abbr && (a = a._locale._abbr), !a) return se;
704
+ if (!c(a)) {
705
+ if (b = Ya(a)) return b;
706
+ a = [a];
707
+ }
708
+ return Xa(a);
709
+ }
710
+
711
+ function bb() {
712
+ return rd(we);
713
+ }
714
+
715
+ function cb(a) {
716
+ var b, c = a._a;
717
+ return c && -2 === l(a).overflow && (b = c[Zd] < 0 || c[Zd] > 11 ? Zd : c[$d] < 1 || c[$d] > da(c[Yd], c[Zd]) ? $d : c[_d] < 0 || c[_d] > 24 || 24 === c[_d] && (0 !== c[ae] || 0 !== c[be] || 0 !== c[ce]) ? _d : c[ae] < 0 || c[ae] > 59 ? ae : c[be] < 0 || c[be] > 59 ? be : c[ce] < 0 || c[ce] > 999 ? ce : -1, l(a)._overflowDayOfYear && (Yd > b || b > $d) && (b = $d), l(a)._overflowWeeks && -1 === b && (b = de), l(a)._overflowWeekday && -1 === b && (b = ee), l(a).overflow = b), a;
718
+ }
719
+ // date from iso format
720
+ function db(a) {
721
+ var b, c, d, e, f, g, h = a._i,
722
+ i = xe.exec(h) || ye.exec(h);
723
+ if (i) {
724
+ for (l(a).iso = !0, b = 0, c = Ae.length; c > b; b++)
725
+ if (Ae[b][1].exec(i[1])) {
726
+ e = Ae[b][0], d = Ae[b][2] !== !1;
727
+ break;
728
+ }
729
+ if (null == e) return void(a._isValid = !1);
730
+ if (i[3]) {
731
+ for (b = 0, c = Be.length; c > b; b++)
732
+ if (Be[b][1].exec(i[3])) {
733
+ // match[2] should be 'T' or space
734
+ f = (i[2] || " ") + Be[b][0];
744
735
  break;
745
736
  }
746
- if (null == e) return void(a._isValid = !1);
747
- if (i[3]) {
748
- for (b = 0, c = Be.length; c > b; b++)
749
- if (Be[b][1].exec(i[3])) {
750
- // match[2] should be 'T' or space
751
- f = (i[2] || " ") + Be[b][0];
752
- break;
753
- }
754
- if (null == f) return void(a._isValid = !1);
755
- }
756
- if (!d && null != f) return void(a._isValid = !1);
757
- if (i[4]) {
758
- if (!ze.exec(i[4])) return void(a._isValid = !1);
759
- g = "Z";
760
- }
761
- a._f = e + (f || "") + (g || ""), jb(a);
762
- } else a._isValid = !1;
763
- }
764
- // date from iso format or fallback
765
- function eb(b) {
766
- var c = Ce.exec(b._i);
767
- return null !== c ? void(b._d = new Date(+c[1])) : (db(b), void(b._isValid === !1 && (delete b._isValid, a.createFromInputFallback(b))));
768
- }
769
- // Pick the first defined of two or three arguments.
770
- function fb(a, b, c) {
771
- return null != a ? a : null != b ? b : c;
772
- }
773
-
774
- function gb(b) {
775
- // hooks is actually the exported moment object
776
- var c = new Date(a.now());
777
- return b._useUTC ? [c.getUTCFullYear(), c.getUTCMonth(), c.getUTCDate()] : [c.getFullYear(), c.getMonth(), c.getDate()];
778
- }
779
- // convert an array to a date.
780
- // the array should mirror the parameters below
781
- // note: all values past the year are optional and will default to the lowest possible value.
782
- // [year, month, day , hour, minute, second, millisecond]
783
- function hb(a) {
784
- var b, c, d, e, f = [];
785
- if (!a._d) {
786
- // Default to current date.
787
- // * if no year, month, day of month are given, default to today
788
- // * if day of month is given, default month and year
789
- // * if month is given, default only year
790
- // * if year is given, don't default anything
791
- for (d = gb(a), a._w && null == a._a[$d] && null == a._a[Zd] && ib(a), a._dayOfYear && (e = fb(a._a[Yd], d[Yd]), a._dayOfYear > oa(e) && (l(a)._overflowDayOfYear = !0), c = sa(e, 0, a._dayOfYear), a._a[Zd] = c.getUTCMonth(), a._a[$d] = c.getUTCDate()), b = 0; 3 > b && null == a._a[b]; ++b) a._a[b] = f[b] = d[b];
792
- // Zero out whatever was not defaulted, including time
793
- for (; 7 > b; b++) a._a[b] = f[b] = null == a._a[b] ? 2 === b ? 1 : 0 : a._a[b];
794
- // Check for 24:00:00.000
795
- 24 === a._a[_d] && 0 === a._a[ae] && 0 === a._a[be] && 0 === a._a[ce] && (a._nextDay = !0, a._a[_d] = 0), a._d = (a._useUTC ? sa : ra).apply(null, f),
796
- // Apply timezone offset from input. The actual utcOffset can be changed
797
- // with parseZone.
798
- null != a._tzm && a._d.setUTCMinutes(a._d.getUTCMinutes() - a._tzm), a._nextDay && (a._a[_d] = 24);
799
- }
800
- }
801
-
802
- function ib(a) {
803
- var b, c, d, e, f, g, h, i;
804
- b = a._w, null != b.GG || null != b.W || null != b.E ? (f = 1, g = 4, c = fb(b.GG, a._a[Yd], va(rb(), 1, 4).year), d = fb(b.W, 1), e = fb(b.E, 1), (1 > e || e > 7) && (i = !0)) : (f = a._locale._week.dow, g = a._locale._week.doy, c = fb(b.gg, a._a[Yd], va(rb(), f, g).year), d = fb(b.w, 1), null != b.d ? (e = b.d, (0 > e || e > 6) && (i = !0)) : null != b.e ? (e = b.e + f, (b.e < 0 || b.e > 6) && (i = !0)) : e = f), 1 > d || d > wa(c, f, g) ? l(a)._overflowWeeks = !0 : null != i ? l(a)._overflowWeekday = !0 : (h = ua(c, d, e, f, g), a._a[Yd] = h.year, a._dayOfYear = h.dayOfYear);
805
- }
806
- // date from string and format string
807
- function jb(b) {
808
- // TODO: Move this to another part of the creation flow to prevent circular deps
809
- if (b._f === a.ISO_8601) return void db(b);
810
- b._a = [], l(b).empty = !0;
811
- // This array is used to make a Date, either with `new Date` or `Date.UTC`
812
- var c, d, e, f, g, h = "" + b._i,
813
- i = h.length,
814
- j = 0;
815
- for (e = X(b._f, b._locale).match(Bd) || [], c = 0; c < e.length; c++) f = e[c], d = (h.match(Z(f, b)) || [])[0], d && (g = h.substr(0, h.indexOf(d)), g.length > 0 && l(b).unusedInput.push(g), h = h.slice(h.indexOf(d) + d.length), j += d.length), Ed[f] ? (d ? l(b).empty = !1 : l(b).unusedTokens.push(f), ca(f, d, b)) : b._strict && !d && l(b).unusedTokens.push(f);
816
- // add remaining unparsed input length to the string
817
- l(b).charsLeftOver = i - j, h.length > 0 && l(b).unusedInput.push(h),
818
- // clear _12h flag if hour is <= 12
819
- b._a[_d] <= 12 && l(b).bigHour === !0 && b._a[_d] > 0 && (l(b).bigHour = void 0), l(b).parsedDateParts = b._a.slice(0), l(b).meridiem = b._meridiem,
820
- // handle meridiem
821
- b._a[_d] = kb(b._locale, b._a[_d], b._meridiem), hb(b), cb(b);
822
- }
823
-
824
- function kb(a, b, c) {
825
- var d;
826
- // Fallback
827
- return null == c ? b : null != a.meridiemHour ? a.meridiemHour(b, c) : null != a.isPM ? (d = a.isPM(c), d && 12 > b && (b += 12), d || 12 !== b || (b = 0), b) : b;
828
- }
829
- // date from string and array of format strings
830
- function lb(a) {
831
- var b, c, d, e, f;
832
- if (0 === a._f.length) return l(a).invalidFormat = !0, void(a._d = new Date(NaN));
833
- for (e = 0; e < a._f.length; e++) f = 0, b = p({}, a), null != a._useUTC && (b._useUTC = a._useUTC), b._f = a._f[e], jb(b), m(b) && (f += l(b).charsLeftOver, f += 10 * l(b).unusedTokens.length, l(b).score = f, (null == d || d > f) && (d = f, c = b));
834
- i(a, c || b);
835
- }
836
-
837
- function mb(a) {
838
- if (!a._d) {
839
- var b = K(a._i);
840
- a._a = g([b.year, b.month, b.day || b.date, b.hour, b.minute, b.second, b.millisecond], function(a) {
841
- return a && parseInt(a, 10);
842
- }), hb(a);
737
+ if (null == f) return void(a._isValid = !1);
843
738
  }
844
- }
845
-
846
- function nb(a) {
847
- var b = new q(cb(ob(a)));
848
- // Adding is smart enough around DST
849
- return b._nextDay && (b.add(1, "d"), b._nextDay = void 0), b;
850
- }
851
-
852
- function ob(a) {
853
- var b = a._i,
854
- d = a._f;
855
- return a._locale = a._locale || ab(a._l), null === b || void 0 === d && "" === b ? n({
856
- nullInput: !0
857
- }) : ("string" == typeof b && (a._i = b = a._locale.preparse(b)), r(b) ? new q(cb(b)) : (c(d) ? lb(a) : f(b) ? a._d = b : d ? jb(a) : pb(a), m(a) || (a._d = null), a));
858
- }
859
-
860
- function pb(b) {
861
- var d = b._i;
862
- void 0 === d ? b._d = new Date(a.now()) : f(d) ? b._d = new Date(d.valueOf()) : "string" == typeof d ? eb(b) : c(d) ? (b._a = g(d.slice(0), function(a) {
863
- return parseInt(a, 10);
864
- }), hb(b)) : "object" == typeof d ? mb(b) : "number" == typeof d ?
865
- // from milliseconds
866
- b._d = new Date(d) : a.createFromInputFallback(b);
867
- }
868
-
869
- function qb(a, b, f, g, h) {
870
- var i = {};
871
- // object construction must be done this way.
872
- // https://github.com/moment/moment/issues/1423
873
- return "boolean" == typeof f && (g = f, f = void 0), (d(a) && e(a) || c(a) && 0 === a.length) && (a = void 0), i._isAMomentObject = !0, i._useUTC = i._isUTC = h, i._l = f, i._i = a, i._f = b, i._strict = g, nb(i);
874
- }
875
-
876
- function rb(a, b, c, d) {
877
- return qb(a, b, c, d, !1);
878
- }
879
- // Pick a moment m from moments so that m[fn](other) is true for all
880
- // other. This relies on the function fn to be transitive.
881
- //
882
- // moments should either be an array of moment objects or an array, whose
883
- // first element is an array of moment objects.
884
- function sb(a, b) {
885
- var d, e;
886
- if (1 === b.length && c(b[0]) && (b = b[0]), !b.length) return rb();
887
- for (d = b[0], e = 1; e < b.length; ++e) b[e].isValid() && !b[e][a](d) || (d = b[e]);
888
- return d;
889
- }
890
- // TODO: Use [].sort instead?
891
- function tb() {
892
- var a = [].slice.call(arguments, 0);
893
- return sb("isBefore", a);
894
- }
895
-
896
- function ub() {
897
- var a = [].slice.call(arguments, 0);
898
- return sb("isAfter", a);
899
- }
900
-
901
- function vb(a) {
902
- var b = K(a),
903
- c = b.year || 0,
904
- d = b.quarter || 0,
905
- e = b.month || 0,
906
- f = b.week || 0,
907
- g = b.day || 0,
908
- h = b.hour || 0,
909
- i = b.minute || 0,
910
- j = b.second || 0,
911
- k = b.millisecond || 0;
912
- // representation for dateAddRemove
913
- this._milliseconds = +k + 1e3 * j + // 1000
914
- 6e4 * i + // 1000 * 60
915
- 1e3 * h * 60 * 60, //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978
916
- // Because of dateAddRemove treats 24 hours as different from a
917
- // day when working around DST, we need to store them separately
918
- this._days = +g + 7 * f,
919
- // It is impossible translate months into days without knowing
920
- // which months you are are talking about, so we have to store
921
- // it separately.
922
- this._months = +e + 3 * d + 12 * c, this._data = {}, this._locale = ab(), this._bubble();
923
- }
924
-
925
- function wb(a) {
926
- return a instanceof vb;
927
- }
928
- // FORMATTING
929
- function xb(a, b) {
930
- T(a, 0, 0, function() {
931
- var a = this.utcOffset(),
932
- c = "+";
933
- return 0 > a && (a = -a, c = "-"), c + S(~~(a / 60), 2) + b + S(~~a % 60, 2);
934
- });
935
- }
936
-
937
- function yb(a, b) {
938
- var c = (b || "").match(a) || [],
939
- d = c[c.length - 1] || [],
940
- e = (d + "").match(Ge) || ["-", 0, 0],
941
- f = +(60 * e[1]) + t(e[2]);
942
- return "+" === e[0] ? f : -f;
943
- }
944
- // Return a moment from input, that is local/utc/zone equivalent to model.
945
- function zb(b, c) {
946
- var d, e;
947
- // Use low-level api, because this fn is low-level api.
948
- return c._isUTC ? (d = c.clone(), e = (r(b) || f(b) ? b.valueOf() : rb(b).valueOf()) - d.valueOf(), d._d.setTime(d._d.valueOf() + e), a.updateOffset(d, !1), d) : rb(b).local();
949
- }
950
-
951
- function Ab(a) {
952
- // On Firefox.24 Date#getTimezoneOffset returns a floating point.
953
- // https://github.com/moment/moment/pull/1871
954
- return 15 * -Math.round(a._d.getTimezoneOffset() / 15);
955
- }
956
- // MOMENTS
957
- // keepLocalTime = true means only change the timezone, without
958
- // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
959
- // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
960
- // +0200, so we adjust the time as needed, to be valid.
961
- //
962
- // Keeping the time actually adds/subtracts (one hour)
963
- // from the actual represented time. That is why we call updateOffset
964
- // a second time. In case it wants us to change the offset again
965
- // _changeInProgress == true case, then we have to adjust, because
966
- // there is no such time in the given timezone.
967
- function Bb(b, c) {
968
- var d, e = this._offset || 0;
969
- return this.isValid() ? null != b ? ("string" == typeof b ? b = yb(Td, b) : Math.abs(b) < 16 && (b = 60 * b), !this._isUTC && c && (d = Ab(this)), this._offset = b, this._isUTC = !0, null != d && this.add(d, "m"), e !== b && (!c || this._changeInProgress ? Sb(this, Mb(b - e, "m"), 1, !1) : this._changeInProgress || (this._changeInProgress = !0, a.updateOffset(this, !0), this._changeInProgress = null)), this) : this._isUTC ? e : Ab(this) : null != b ? this : NaN;
970
- }
971
-
972
- function Cb(a, b) {
973
- return null != a ? ("string" != typeof a && (a = -a), this.utcOffset(a, b), this) : -this.utcOffset();
974
- }
975
-
976
- function Db(a) {
977
- return this.utcOffset(0, a);
978
- }
979
-
980
- function Eb(a) {
981
- return this._isUTC && (this.utcOffset(0, a), this._isUTC = !1, a && this.subtract(Ab(this), "m")), this;
982
- }
983
-
984
- function Fb() {
985
- return this._tzm ? this.utcOffset(this._tzm) : "string" == typeof this._i && this.utcOffset(yb(Sd, this._i)), this;
986
- }
987
-
988
- function Gb(a) {
989
- return this.isValid() ? (a = a ? rb(a).utcOffset() : 0, (this.utcOffset() - a) % 60 === 0) : !1;
990
- }
991
-
992
- function Hb() {
993
- return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset();
994
- }
995
-
996
- function Ib() {
997
- if (!o(this._isDSTShifted)) return this._isDSTShifted;
998
- var a = {};
999
- if (p(a, this), a = ob(a), a._a) {
1000
- var b = a._isUTC ? j(a._a) : rb(a._a);
1001
- this._isDSTShifted = this.isValid() && u(a._a, b.toArray()) > 0;
1002
- } else this._isDSTShifted = !1;
1003
- return this._isDSTShifted;
1004
- }
1005
-
1006
- function Jb() {
1007
- return this.isValid() ? !this._isUTC : !1;
1008
- }
1009
-
1010
- function Kb() {
1011
- return this.isValid() ? this._isUTC : !1;
1012
- }
1013
-
1014
- function Lb() {
1015
- return this.isValid() ? this._isUTC && 0 === this._offset : !1;
1016
- }
1017
-
1018
- function Mb(a, b) {
1019
- var c, d, e, f = a,
1020
- // matching against regexp is expensive, do it on demand
1021
- g = null; // checks for null or undefined
1022
- return wb(a) ? f = {
1023
- ms: a._milliseconds,
1024
- d: a._days,
1025
- M: a._months
1026
- } : "number" == typeof a ? (f = {}, b ? f[b] = a : f.milliseconds = a) : (g = He.exec(a)) ? (c = "-" === g[1] ? -1 : 1, f = {
1027
- y: 0,
1028
- d: t(g[$d]) * c,
1029
- h: t(g[_d]) * c,
1030
- m: t(g[ae]) * c,
1031
- s: t(g[be]) * c,
1032
- ms: t(g[ce]) * c
1033
- }) : (g = Ie.exec(a)) ? (c = "-" === g[1] ? -1 : 1, f = {
1034
- y: Nb(g[2], c),
1035
- M: Nb(g[3], c),
1036
- w: Nb(g[4], c),
1037
- d: Nb(g[5], c),
1038
- h: Nb(g[6], c),
1039
- m: Nb(g[7], c),
1040
- s: Nb(g[8], c)
1041
- }) : null == f ? f = {} : "object" == typeof f && ("from" in f || "to" in f) && (e = Pb(rb(f.from), rb(f.to)), f = {}, f.ms = e.milliseconds, f.M = e.months), d = new vb(f), wb(a) && h(a, "_locale") && (d._locale = a._locale), d;
1042
- }
1043
-
1044
- function Nb(a, b) {
1045
- // We'd normally use ~~inp for this, but unfortunately it also
1046
- // converts floats to ints.
1047
- // inp may be undefined, so careful calling replace on it.
1048
- var c = a && parseFloat(a.replace(",", "."));
1049
- // apply sign while we're at it
1050
- return (isNaN(c) ? 0 : c) * b;
1051
- }
1052
-
1053
- function Ob(a, b) {
1054
- var c = {
1055
- milliseconds: 0,
1056
- months: 0
1057
- };
1058
- return c.months = b.month() - a.month() + 12 * (b.year() - a.year()), a.clone().add(c.months, "M").isAfter(b) && --c.months, c.milliseconds = +b - +a.clone().add(c.months, "M"), c;
1059
- }
1060
-
1061
- function Pb(a, b) {
1062
- var c;
1063
- return a.isValid() && b.isValid() ? (b = zb(b, a), a.isBefore(b) ? c = Ob(a, b) : (c = Ob(b, a), c.milliseconds = -c.milliseconds, c.months = -c.months), c) : {
1064
- milliseconds: 0,
1065
- months: 0
1066
- };
1067
- }
1068
-
1069
- function Qb(a) {
1070
- return 0 > a ? -1 * Math.round(-1 * a) : Math.round(a);
1071
- }
1072
- // TODO: remove 'name' arg after deprecation is removed
1073
- function Rb(a, b) {
1074
- return function(c, d) {
1075
- var e, f;
1076
- //invert the arguments, but complain about it
1077
- return null === d || isNaN(+d) || (x(b, "moment()." + b + "(period, number) is deprecated. Please use moment()." + b + "(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."), f = c, c = d, d = f), c = "string" == typeof c ? +c : c, e = Mb(c, d), Sb(this, e, a), this;
1078
- };
1079
- }
1080
-
1081
- function Sb(b, c, d, e) {
1082
- var f = c._milliseconds,
1083
- g = Qb(c._days),
1084
- h = Qb(c._months);
1085
- b.isValid() && (e = null == e ? !0 : e, f && b._d.setTime(b._d.valueOf() + f * d), g && P(b, "Date", O(b, "Date") + g * d), h && ia(b, O(b, "Month") + h * d), e && a.updateOffset(b, g || h));
1086
- }
1087
-
1088
- function Tb(a, b) {
1089
- var c = a.diff(b, "days", !0);
1090
- return -6 > c ? "sameElse" : -1 > c ? "lastWeek" : 0 > c ? "lastDay" : 1 > c ? "sameDay" : 2 > c ? "nextDay" : 7 > c ? "nextWeek" : "sameElse";
1091
- }
1092
-
1093
- function Ub(b, c) {
1094
- // We want to compare the start of today, vs this.
1095
- // Getting start-of-today depends on whether we're local/utc/offset or not.
1096
- var d = b || rb(),
1097
- e = zb(d, this).startOf("day"),
1098
- f = a.calendarFormat(this, e) || "sameElse",
1099
- g = c && (y(c[f]) ? c[f].call(this, d) : c[f]);
1100
- return this.format(g || this.localeData().calendar(f, this, rb(d)));
1101
- }
1102
-
1103
- function Vb() {
1104
- return new q(this);
1105
- }
1106
-
1107
- function Wb(a, b) {
1108
- var c = r(a) ? a : rb(a);
1109
- return this.isValid() && c.isValid() ? (b = J(o(b) ? "millisecond" : b), "millisecond" === b ? this.valueOf() > c.valueOf() : c.valueOf() < this.clone().startOf(b).valueOf()) : !1;
1110
- }
1111
-
1112
- function Xb(a, b) {
1113
- var c = r(a) ? a : rb(a);
1114
- return this.isValid() && c.isValid() ? (b = J(o(b) ? "millisecond" : b), "millisecond" === b ? this.valueOf() < c.valueOf() : this.clone().endOf(b).valueOf() < c.valueOf()) : !1;
1115
- }
1116
-
1117
- function Yb(a, b, c, d) {
1118
- return d = d || "()", ("(" === d[0] ? this.isAfter(a, c) : !this.isBefore(a, c)) && (")" === d[1] ? this.isBefore(b, c) : !this.isAfter(b, c));
1119
- }
1120
-
1121
- function Zb(a, b) {
1122
- var c, d = r(a) ? a : rb(a);
1123
- return this.isValid() && d.isValid() ? (b = J(b || "millisecond"), "millisecond" === b ? this.valueOf() === d.valueOf() : (c = d.valueOf(), this.clone().startOf(b).valueOf() <= c && c <= this.clone().endOf(b).valueOf())) : !1;
1124
- }
1125
-
1126
- function $b(a, b) {
1127
- return this.isSame(a, b) || this.isAfter(a, b);
1128
- }
1129
-
1130
- function _b(a, b) {
1131
- return this.isSame(a, b) || this.isBefore(a, b);
1132
- }
1133
-
1134
- function ac(a, b, c) {
1135
- var d, e, f, g; // 1000
1136
- // 1000 * 60
1137
- // 1000 * 60 * 60
1138
- // 1000 * 60 * 60 * 24, negate dst
1139
- // 1000 * 60 * 60 * 24 * 7, negate dst
1140
- return this.isValid() ? (d = zb(a, this), d.isValid() ? (e = 6e4 * (d.utcOffset() - this.utcOffset()), b = J(b), "year" === b || "month" === b || "quarter" === b ? (g = bc(this, d), "quarter" === b ? g /= 3 : "year" === b && (g /= 12)) : (f = this - d, g = "second" === b ? f / 1e3 : "minute" === b ? f / 6e4 : "hour" === b ? f / 36e5 : "day" === b ? (f - e) / 864e5 : "week" === b ? (f - e) / 6048e5 : f), c ? g : s(g)) : NaN) : NaN;
1141
- }
1142
-
1143
- function bc(a, b) {
1144
- // difference in months
1145
- var c, d, e = 12 * (b.year() - a.year()) + (b.month() - a.month()),
1146
- // b is in (anchor - 1 month, anchor + 1 month)
1147
- f = a.clone().add(e, "months");
1148
- //check for negative zero, return zero if negative zero
1149
- // linear across the month
1150
- // linear across the month
1151
- return 0 > b - f ? (c = a.clone().add(e - 1, "months"), d = (b - f) / (f - c)) : (c = a.clone().add(e + 1, "months"), d = (b - f) / (c - f)), -(e + d) || 0;
1152
- }
1153
-
1154
- function cc() {
1155
- return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ");
1156
- }
1157
-
1158
- function dc() {
1159
- var a = this.clone().utc();
1160
- return 0 < a.year() && a.year() <= 9999 ? y(Date.prototype.toISOString) ? this.toDate().toISOString() : W(a, "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]") : W(a, "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]");
1161
- }
1162
-
1163
- function ec(b) {
1164
- b || (b = this.isUtc() ? a.defaultFormatUtc : a.defaultFormat);
1165
- var c = W(this, b);
1166
- return this.localeData().postformat(c);
1167
- }
1168
-
1169
- function fc(a, b) {
1170
- return this.isValid() && (r(a) && a.isValid() || rb(a).isValid()) ? Mb({
1171
- to: this,
1172
- from: a
1173
- }).locale(this.locale()).humanize(!b) : this.localeData().invalidDate();
1174
- }
1175
-
1176
- function gc(a) {
1177
- return this.from(rb(), a);
1178
- }
1179
-
1180
- function hc(a, b) {
1181
- return this.isValid() && (r(a) && a.isValid() || rb(a).isValid()) ? Mb({
1182
- from: this,
1183
- to: a
1184
- }).locale(this.locale()).humanize(!b) : this.localeData().invalidDate();
1185
- }
1186
-
1187
- function ic(a) {
1188
- return this.to(rb(), a);
1189
- }
1190
- // If passed a locale key, it will set the locale for this
1191
- // instance. Otherwise, it will return the locale configuration
1192
- // variables for this instance.
1193
- function jc(a) {
1194
- var b;
1195
- return void 0 === a ? this._locale._abbr : (b = ab(a), null != b && (this._locale = b), this);
1196
- }
1197
-
1198
- function kc() {
1199
- return this._locale;
1200
- }
1201
-
1202
- function lc(a) {
1203
- // the following switch intentionally omits break keywords
1204
- // to utilize falling through the cases.
1205
- switch (a = J(a)) {
1206
- case "year":
1207
- this.month(0); /* falls through */
1208
- case "quarter":
1209
- case "month":
1210
- this.date(1); /* falls through */
1211
- case "week":
1212
- case "isoWeek":
1213
- case "day":
1214
- case "date":
1215
- this.hours(0); /* falls through */
1216
- case "hour":
1217
- this.minutes(0); /* falls through */
1218
- case "minute":
1219
- this.seconds(0); /* falls through */
1220
- case "second":
1221
- this.milliseconds(0);
739
+ if (!d && null != f) return void(a._isValid = !1);
740
+ if (i[4]) {
741
+ if (!ze.exec(i[4])) return void(a._isValid = !1);
742
+ g = "Z";
1222
743
  }
1223
- // weeks are a special case
1224
- // quarters are also special
1225
- return "week" === a && this.weekday(0), "isoWeek" === a && this.isoWeekday(1), "quarter" === a && this.month(3 * Math.floor(this.month() / 3)), this;
1226
- }
1227
-
1228
- function mc(a) {
1229
- // 'date' is an alias for 'day', so it should be considered as such.
1230
- return a = J(a), void 0 === a || "millisecond" === a ? this : ("date" === a && (a = "day"), this.startOf(a).add(1, "isoWeek" === a ? "week" : a).subtract(1, "ms"));
1231
- }
1232
-
1233
- function nc() {
1234
- return this._d.valueOf() - 6e4 * (this._offset || 0);
1235
- }
1236
-
1237
- function oc() {
1238
- return Math.floor(this.valueOf() / 1e3);
1239
- }
1240
-
1241
- function pc() {
1242
- return new Date(this.valueOf());
1243
- }
1244
-
1245
- function qc() {
1246
- var a = this;
1247
- return [a.year(), a.month(), a.date(), a.hour(), a.minute(), a.second(), a.millisecond()];
1248
- }
1249
-
1250
- function rc() {
1251
- var a = this;
1252
- return {
1253
- years: a.year(),
1254
- months: a.month(),
1255
- date: a.date(),
1256
- hours: a.hours(),
1257
- minutes: a.minutes(),
1258
- seconds: a.seconds(),
1259
- milliseconds: a.milliseconds()
1260
- };
1261
- }
1262
-
1263
- function sc() {
1264
- // new Date(NaN).toJSON() === null
1265
- return this.isValid() ? this.toISOString() : null;
1266
- }
1267
-
1268
- function tc() {
1269
- return m(this);
1270
- }
1271
-
1272
- function uc() {
1273
- return i({}, l(this));
1274
- }
1275
-
1276
- function vc() {
1277
- return l(this).overflow;
1278
- }
1279
-
1280
- function wc() {
1281
- return {
1282
- input: this._i,
1283
- format: this._f,
1284
- locale: this._locale,
1285
- isUTC: this._isUTC,
1286
- strict: this._strict
1287
- };
1288
- }
1289
-
1290
- function xc(a, b) {
1291
- T(0, [a, a.length], 0, b);
1292
- }
1293
- // MOMENTS
1294
- function yc(a) {
1295
- return Cc.call(this, a, this.week(), this.weekday(), this.localeData()._week.dow, this.localeData()._week.doy);
1296
- }
1297
-
1298
- function zc(a) {
1299
- return Cc.call(this, a, this.isoWeek(), this.isoWeekday(), 1, 4);
1300
- }
1301
-
1302
- function Ac() {
1303
- return wa(this.year(), 1, 4);
1304
- }
1305
-
1306
- function Bc() {
1307
- var a = this.localeData()._week;
1308
- return wa(this.year(), a.dow, a.doy);
1309
- }
1310
-
1311
- function Cc(a, b, c, d, e) {
1312
- var f;
1313
- return null == a ? va(this, d, e).year : (f = wa(a, d, e), b > f && (b = f), Dc.call(this, a, b, c, d, e));
1314
- }
1315
-
1316
- function Dc(a, b, c, d, e) {
1317
- var f = ua(a, b, c, d, e),
1318
- g = sa(f.year, 0, f.dayOfYear);
1319
- return this.year(g.getUTCFullYear()), this.month(g.getUTCMonth()), this.date(g.getUTCDate()), this;
1320
- }
1321
- // MOMENTS
1322
- function Ec(a) {
1323
- return null == a ? Math.ceil((this.month() + 1) / 3) : this.month(3 * (a - 1) + this.month() % 3);
1324
- }
1325
- // HELPERS
1326
- // MOMENTS
1327
- function Fc(a) {
1328
- var b = Math.round((this.clone().startOf("day") - this.clone().startOf("year")) / 864e5) + 1;
1329
- return null == a ? b : this.add(a - b, "d");
1330
- }
1331
-
1332
- function Gc(a, b) {
1333
- b[ce] = t(1e3 * ("0." + a));
1334
- }
1335
- // MOMENTS
1336
- function Hc() {
1337
- return this._isUTC ? "UTC" : "";
1338
- }
1339
-
1340
- function Ic() {
1341
- return this._isUTC ? "Coordinated Universal Time" : "";
1342
- }
1343
-
1344
- function Jc(a) {
1345
- return rb(1e3 * a);
1346
- }
1347
-
1348
- function Kc() {
1349
- return rb.apply(null, arguments).parseZone();
1350
- }
1351
-
1352
- function Lc(a) {
1353
- return a;
1354
- }
1355
-
1356
- function Mc(a, b, c, d) {
1357
- var e = ab(),
1358
- f = j().set(d, b);
1359
- return e[c](f, a);
1360
- }
1361
-
1362
- function Nc(a, b, c) {
1363
- if ("number" == typeof a && (b = a, a = void 0), a = a || "", null != b) return Mc(a, b, c, "month");
1364
- var d, e = [];
1365
- for (d = 0; 12 > d; d++) e[d] = Mc(a, d, c, "month");
1366
- return e;
1367
- }
1368
- // ()
1369
- // (5)
1370
- // (fmt, 5)
1371
- // (fmt)
1372
- // (true)
1373
- // (true, 5)
1374
- // (true, fmt, 5)
1375
- // (true, fmt)
1376
- function Oc(a, b, c, d) {
1377
- "boolean" == typeof a ? ("number" == typeof b && (c = b, b = void 0), b = b || "") : (b = a, c = b, a = !1, "number" == typeof b && (c = b, b = void 0), b = b || "");
1378
- var e = ab(),
1379
- f = a ? e._week.dow : 0;
1380
- if (null != c) return Mc(b, (c + f) % 7, d, "day");
1381
- var g, h = [];
1382
- for (g = 0; 7 > g; g++) h[g] = Mc(b, (g + f) % 7, d, "day");
1383
- return h;
1384
- }
1385
-
1386
- function Pc(a, b) {
1387
- return Nc(a, b, "months");
1388
- }
1389
-
1390
- function Qc(a, b) {
1391
- return Nc(a, b, "monthsShort");
1392
- }
1393
-
1394
- function Rc(a, b, c) {
1395
- return Oc(a, b, c, "weekdays");
1396
- }
1397
-
1398
- function Sc(a, b, c) {
1399
- return Oc(a, b, c, "weekdaysShort");
1400
- }
1401
-
1402
- function Tc(a, b, c) {
1403
- return Oc(a, b, c, "weekdaysMin");
1404
- }
1405
-
1406
- function Uc() {
1407
- var a = this._data;
1408
- return this._milliseconds = Ue(this._milliseconds), this._days = Ue(this._days), this._months = Ue(this._months), a.milliseconds = Ue(a.milliseconds), a.seconds = Ue(a.seconds), a.minutes = Ue(a.minutes), a.hours = Ue(a.hours), a.months = Ue(a.months), a.years = Ue(a.years), this;
1409
- }
1410
-
1411
- function Vc(a, b, c, d) {
1412
- var e = Mb(b, c);
1413
- return a._milliseconds += d * e._milliseconds, a._days += d * e._days, a._months += d * e._months, a._bubble();
1414
- }
1415
- // supports only 2.0-style add(1, 's') or add(duration)
1416
- function Wc(a, b) {
1417
- return Vc(this, a, b, 1);
1418
- }
1419
- // supports only 2.0-style subtract(1, 's') or subtract(duration)
1420
- function Xc(a, b) {
1421
- return Vc(this, a, b, -1);
1422
- }
1423
-
1424
- function Yc(a) {
1425
- return 0 > a ? Math.floor(a) : Math.ceil(a);
1426
- }
1427
-
1428
- function Zc() {
1429
- var a, b, c, d, e, f = this._milliseconds,
1430
- g = this._days,
1431
- h = this._months,
1432
- i = this._data;
1433
- // if we have a mix of positive and negative values, bubble down first
1434
- // check: https://github.com/moment/moment/issues/2166
1435
- // The following code bubbles up values, see the tests for
1436
- // examples of what that means.
1437
- // convert days to months
1438
- // 12 months -> 1 year
1439
- return f >= 0 && g >= 0 && h >= 0 || 0 >= f && 0 >= g && 0 >= h || (f += 864e5 * Yc(_c(h) + g), g = 0, h = 0), i.milliseconds = f % 1e3, a = s(f / 1e3), i.seconds = a % 60, b = s(a / 60), i.minutes = b % 60, c = s(b / 60), i.hours = c % 24, g += s(c / 24), e = s($c(g)), h += e, g -= Yc(_c(e)), d = s(h / 12), h %= 12, i.days = g, i.months = h, i.years = d, this;
1440
- }
1441
-
1442
- function $c(a) {
1443
- // 400 years have 146097 days (taking into account leap year rules)
1444
- // 400 years have 12 months === 4800
1445
- return 4800 * a / 146097;
1446
- }
1447
-
1448
- function _c(a) {
1449
- // the reverse of daysToMonths
1450
- return 146097 * a / 4800;
1451
- }
1452
-
1453
- function ad(a) {
1454
- var b, c, d = this._milliseconds;
1455
- if (a = J(a), "month" === a || "year" === a) return b = this._days + d / 864e5, c = this._months + $c(b), "month" === a ? c : c / 12;
1456
- switch (b = this._days + Math.round(_c(this._months)), a) {
1457
- case "week":
1458
- return b / 7 + d / 6048e5;
1459
- case "day":
1460
- return b + d / 864e5;
1461
- case "hour":
1462
- return 24 * b + d / 36e5;
1463
- case "minute":
1464
- return 1440 * b + d / 6e4;
1465
- case "second":
1466
- return 86400 * b + d / 1e3;
1467
- // Math.floor prevents floating point math errors here
1468
- case "millisecond":
1469
- return Math.floor(864e5 * b) + d;
1470
- default:
1471
- throw new Error("Unknown unit " + a);
1472
- }
1473
- }
1474
- // TODO: Use this.as('ms')?
1475
- function bd() {
1476
- return this._milliseconds + 864e5 * this._days + this._months % 12 * 2592e6 + 31536e6 * t(this._months / 12);
1477
- }
1478
-
1479
- function cd(a) {
1480
- return function() {
1481
- return this.as(a);
1482
- };
1483
- }
744
+ a._f = e + (f || "") + (g || ""), jb(a);
745
+ } else a._isValid = !1;
746
+ }
747
+ // date from iso format or fallback
748
+ function eb(b) {
749
+ var c = Ce.exec(b._i);
750
+ return null !== c ? void(b._d = new Date(+c[1])) : (db(b), void(b._isValid === !1 && (delete b._isValid, a.createFromInputFallback(b))));
751
+ }
752
+ // Pick the first defined of two or three arguments.
753
+ function fb(a, b, c) {
754
+ return null != a ? a : null != b ? b : c;
755
+ }
756
+
757
+ function gb(b) {
758
+ // hooks is actually the exported moment object
759
+ var c = new Date(a.now());
760
+ return b._useUTC ? [c.getUTCFullYear(), c.getUTCMonth(), c.getUTCDate()] : [c.getFullYear(), c.getMonth(), c.getDate()];
761
+ }
762
+ // convert an array to a date.
763
+ // the array should mirror the parameters below
764
+ // note: all values past the year are optional and will default to the lowest possible value.
765
+ // [year, month, day , hour, minute, second, millisecond]
766
+ function hb(a) {
767
+ var b, c, d, e, f = [];
768
+ if (!a._d) {
769
+ // Default to current date.
770
+ // * if no year, month, day of month are given, default to today
771
+ // * if day of month is given, default month and year
772
+ // * if month is given, default only year
773
+ // * if year is given, don't default anything
774
+ for (d = gb(a), a._w && null == a._a[$d] && null == a._a[Zd] && ib(a), a._dayOfYear && (e = fb(a._a[Yd], d[Yd]), a._dayOfYear > oa(e) && (l(a)._overflowDayOfYear = !0), c = sa(e, 0, a._dayOfYear), a._a[Zd] = c.getUTCMonth(), a._a[$d] = c.getUTCDate()), b = 0; 3 > b && null == a._a[b]; ++b) a._a[b] = f[b] = d[b];
775
+ // Zero out whatever was not defaulted, including time
776
+ for (; 7 > b; b++) a._a[b] = f[b] = null == a._a[b] ? 2 === b ? 1 : 0 : a._a[b];
777
+ // Check for 24:00:00.000
778
+ 24 === a._a[_d] && 0 === a._a[ae] && 0 === a._a[be] && 0 === a._a[ce] && (a._nextDay = !0, a._a[_d] = 0), a._d = (a._useUTC ? sa : ra).apply(null, f),
779
+ // Apply timezone offset from input. The actual utcOffset can be changed
780
+ // with parseZone.
781
+ null != a._tzm && a._d.setUTCMinutes(a._d.getUTCMinutes() - a._tzm), a._nextDay && (a._a[_d] = 24);
782
+ }
783
+ }
784
+
785
+ function ib(a) {
786
+ var b, c, d, e, f, g, h, i;
787
+ b = a._w, null != b.GG || null != b.W || null != b.E ? (f = 1, g = 4, c = fb(b.GG, a._a[Yd], va(rb(), 1, 4).year), d = fb(b.W, 1), e = fb(b.E, 1), (1 > e || e > 7) && (i = !0)) : (f = a._locale._week.dow, g = a._locale._week.doy, c = fb(b.gg, a._a[Yd], va(rb(), f, g).year), d = fb(b.w, 1), null != b.d ? (e = b.d, (0 > e || e > 6) && (i = !0)) : null != b.e ? (e = b.e + f, (b.e < 0 || b.e > 6) && (i = !0)) : e = f), 1 > d || d > wa(c, f, g) ? l(a)._overflowWeeks = !0 : null != i ? l(a)._overflowWeekday = !0 : (h = ua(c, d, e, f, g), a._a[Yd] = h.year, a._dayOfYear = h.dayOfYear);
788
+ }
789
+ // date from string and format string
790
+ function jb(b) {
791
+ // TODO: Move this to another part of the creation flow to prevent circular deps
792
+ if (b._f === a.ISO_8601) return void db(b);
793
+ b._a = [], l(b).empty = !0;
794
+ // This array is used to make a Date, either with `new Date` or `Date.UTC`
795
+ var c, d, e, f, g, h = "" + b._i,
796
+ i = h.length,
797
+ j = 0;
798
+ for (e = X(b._f, b._locale).match(Bd) || [], c = 0; c < e.length; c++) f = e[c], d = (h.match(Z(f, b)) || [])[0], d && (g = h.substr(0, h.indexOf(d)), g.length > 0 && l(b).unusedInput.push(g), h = h.slice(h.indexOf(d) + d.length), j += d.length), Ed[f] ? (d ? l(b).empty = !1 : l(b).unusedTokens.push(f), ca(f, d, b)) : b._strict && !d && l(b).unusedTokens.push(f);
799
+ // add remaining unparsed input length to the string
800
+ l(b).charsLeftOver = i - j, h.length > 0 && l(b).unusedInput.push(h),
801
+ // clear _12h flag if hour is <= 12
802
+ b._a[_d] <= 12 && l(b).bigHour === !0 && b._a[_d] > 0 && (l(b).bigHour = void 0), l(b).parsedDateParts = b._a.slice(0), l(b).meridiem = b._meridiem,
803
+ // handle meridiem
804
+ b._a[_d] = kb(b._locale, b._a[_d], b._meridiem), hb(b), cb(b);
805
+ }
806
+
807
+ function kb(a, b, c) {
808
+ var d;
809
+ // Fallback
810
+ return null == c ? b : null != a.meridiemHour ? a.meridiemHour(b, c) : null != a.isPM ? (d = a.isPM(c), d && 12 > b && (b += 12), d || 12 !== b || (b = 0), b) : b;
811
+ }
812
+ // date from string and array of format strings
813
+ function lb(a) {
814
+ var b, c, d, e, f;
815
+ if (0 === a._f.length) return l(a).invalidFormat = !0, void(a._d = new Date(NaN));
816
+ for (e = 0; e < a._f.length; e++) f = 0, b = p({}, a), null != a._useUTC && (b._useUTC = a._useUTC), b._f = a._f[e], jb(b), m(b) && (f += l(b).charsLeftOver, f += 10 * l(b).unusedTokens.length, l(b).score = f, (null == d || d > f) && (d = f, c = b));
817
+ i(a, c || b);
818
+ }
819
+
820
+ function mb(a) {
821
+ if (!a._d) {
822
+ var b = K(a._i);
823
+ a._a = g([b.year, b.month, b.day || b.date, b.hour, b.minute, b.second, b.millisecond], function(a) {
824
+ return a && parseInt(a, 10);
825
+ }), hb(a);
826
+ }
827
+ }
828
+
829
+ function nb(a) {
830
+ var b = new q(cb(ob(a)));
831
+ // Adding is smart enough around DST
832
+ return b._nextDay && (b.add(1, "d"), b._nextDay = void 0), b;
833
+ }
834
+
835
+ function ob(a) {
836
+ var b = a._i,
837
+ d = a._f;
838
+ return a._locale = a._locale || ab(a._l), null === b || void 0 === d && "" === b ? n({
839
+ nullInput: !0
840
+ }) : ("string" == typeof b && (a._i = b = a._locale.preparse(b)), r(b) ? new q(cb(b)) : (c(d) ? lb(a) : f(b) ? a._d = b : d ? jb(a) : pb(a), m(a) || (a._d = null), a));
841
+ }
842
+
843
+ function pb(b) {
844
+ var d = b._i;
845
+ void 0 === d ? b._d = new Date(a.now()) : f(d) ? b._d = new Date(d.valueOf()) : "string" == typeof d ? eb(b) : c(d) ? (b._a = g(d.slice(0), function(a) {
846
+ return parseInt(a, 10);
847
+ }), hb(b)) : "object" == typeof d ? mb(b) : "number" == typeof d ?
848
+ // from milliseconds
849
+ b._d = new Date(d) : a.createFromInputFallback(b);
850
+ }
851
+
852
+ function qb(a, b, f, g, h) {
853
+ var i = {};
854
+ // object construction must be done this way.
855
+ // https://github.com/moment/moment/issues/1423
856
+ return "boolean" == typeof f && (g = f, f = void 0), (d(a) && e(a) || c(a) && 0 === a.length) && (a = void 0), i._isAMomentObject = !0, i._useUTC = i._isUTC = h, i._l = f, i._i = a, i._f = b, i._strict = g, nb(i);
857
+ }
858
+
859
+ function rb(a, b, c, d) {
860
+ return qb(a, b, c, d, !1);
861
+ }
862
+ // Pick a moment m from moments so that m[fn](other) is true for all
863
+ // other. This relies on the function fn to be transitive.
864
+ //
865
+ // moments should either be an array of moment objects or an array, whose
866
+ // first element is an array of moment objects.
867
+ function sb(a, b) {
868
+ var d, e;
869
+ if (1 === b.length && c(b[0]) && (b = b[0]), !b.length) return rb();
870
+ for (d = b[0], e = 1; e < b.length; ++e) b[e].isValid() && !b[e][a](d) || (d = b[e]);
871
+ return d;
872
+ }
873
+ // TODO: Use [].sort instead?
874
+ function tb() {
875
+ var a = [].slice.call(arguments, 0);
876
+ return sb("isBefore", a);
877
+ }
878
+
879
+ function ub() {
880
+ var a = [].slice.call(arguments, 0);
881
+ return sb("isAfter", a);
882
+ }
883
+
884
+ function vb(a) {
885
+ var b = K(a),
886
+ c = b.year || 0,
887
+ d = b.quarter || 0,
888
+ e = b.month || 0,
889
+ f = b.week || 0,
890
+ g = b.day || 0,
891
+ h = b.hour || 0,
892
+ i = b.minute || 0,
893
+ j = b.second || 0,
894
+ k = b.millisecond || 0;
895
+ // representation for dateAddRemove
896
+ this._milliseconds = +k + 1e3 * j + // 1000
897
+ 6e4 * i + // 1000 * 60
898
+ 1e3 * h * 60 * 60, //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978
899
+ // Because of dateAddRemove treats 24 hours as different from a
900
+ // day when working around DST, we need to store them separately
901
+ this._days = +g + 7 * f,
902
+ // It is impossible translate months into days without knowing
903
+ // which months you are are talking about, so we have to store
904
+ // it separately.
905
+ this._months = +e + 3 * d + 12 * c, this._data = {}, this._locale = ab(), this._bubble();
906
+ }
907
+
908
+ function wb(a) {
909
+ return a instanceof vb;
910
+ }
911
+ // FORMATTING
912
+ function xb(a, b) {
913
+ T(a, 0, 0, function() {
914
+ var a = this.utcOffset(),
915
+ c = "+";
916
+ return 0 > a && (a = -a, c = "-"), c + S(~~(a / 60), 2) + b + S(~~a % 60, 2);
917
+ });
918
+ }
919
+
920
+ function yb(a, b) {
921
+ var c = (b || "").match(a) || [],
922
+ d = c[c.length - 1] || [],
923
+ e = (d + "").match(Ge) || ["-", 0, 0],
924
+ f = +(60 * e[1]) + t(e[2]);
925
+ return "+" === e[0] ? f : -f;
926
+ }
927
+ // Return a moment from input, that is local/utc/zone equivalent to model.
928
+ function zb(b, c) {
929
+ var d, e;
930
+ // Use low-level api, because this fn is low-level api.
931
+ return c._isUTC ? (d = c.clone(), e = (r(b) || f(b) ? b.valueOf() : rb(b).valueOf()) - d.valueOf(), d._d.setTime(d._d.valueOf() + e), a.updateOffset(d, !1), d) : rb(b).local();
932
+ }
933
+
934
+ function Ab(a) {
935
+ // On Firefox.24 Date#getTimezoneOffset returns a floating point.
936
+ // https://github.com/moment/moment/pull/1871
937
+ return 15 * -Math.round(a._d.getTimezoneOffset() / 15);
938
+ }
939
+ // MOMENTS
940
+ // keepLocalTime = true means only change the timezone, without
941
+ // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
942
+ // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
943
+ // +0200, so we adjust the time as needed, to be valid.
944
+ //
945
+ // Keeping the time actually adds/subtracts (one hour)
946
+ // from the actual represented time. That is why we call updateOffset
947
+ // a second time. In case it wants us to change the offset again
948
+ // _changeInProgress == true case, then we have to adjust, because
949
+ // there is no such time in the given timezone.
950
+ function Bb(b, c) {
951
+ var d, e = this._offset || 0;
952
+ return this.isValid() ? null != b ? ("string" == typeof b ? b = yb(Td, b) : Math.abs(b) < 16 && (b = 60 * b), !this._isUTC && c && (d = Ab(this)), this._offset = b, this._isUTC = !0, null != d && this.add(d, "m"), e !== b && (!c || this._changeInProgress ? Sb(this, Mb(b - e, "m"), 1, !1) : this._changeInProgress || (this._changeInProgress = !0, a.updateOffset(this, !0), this._changeInProgress = null)), this) : this._isUTC ? e : Ab(this) : null != b ? this : NaN;
953
+ }
954
+
955
+ function Cb(a, b) {
956
+ return null != a ? ("string" != typeof a && (a = -a), this.utcOffset(a, b), this) : -this.utcOffset();
957
+ }
958
+
959
+ function Db(a) {
960
+ return this.utcOffset(0, a);
961
+ }
962
+
963
+ function Eb(a) {
964
+ return this._isUTC && (this.utcOffset(0, a), this._isUTC = !1, a && this.subtract(Ab(this), "m")), this;
965
+ }
966
+
967
+ function Fb() {
968
+ return this._tzm ? this.utcOffset(this._tzm) : "string" == typeof this._i && this.utcOffset(yb(Sd, this._i)), this;
969
+ }
970
+
971
+ function Gb(a) {
972
+ return this.isValid() ? (a = a ? rb(a).utcOffset() : 0, (this.utcOffset() - a) % 60 === 0) : !1;
973
+ }
974
+
975
+ function Hb() {
976
+ return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset();
977
+ }
978
+
979
+ function Ib() {
980
+ if (!o(this._isDSTShifted)) return this._isDSTShifted;
981
+ var a = {};
982
+ if (p(a, this), a = ob(a), a._a) {
983
+ var b = a._isUTC ? j(a._a) : rb(a._a);
984
+ this._isDSTShifted = this.isValid() && u(a._a, b.toArray()) > 0;
985
+ } else this._isDSTShifted = !1;
986
+ return this._isDSTShifted;
987
+ }
988
+
989
+ function Jb() {
990
+ return this.isValid() ? !this._isUTC : !1;
991
+ }
992
+
993
+ function Kb() {
994
+ return this.isValid() ? this._isUTC : !1;
995
+ }
996
+
997
+ function Lb() {
998
+ return this.isValid() ? this._isUTC && 0 === this._offset : !1;
999
+ }
1000
+
1001
+ function Mb(a, b) {
1002
+ var c, d, e, f = a,
1003
+ // matching against regexp is expensive, do it on demand
1004
+ g = null; // checks for null or undefined
1005
+ return wb(a) ? f = {
1006
+ ms: a._milliseconds,
1007
+ d: a._days,
1008
+ M: a._months
1009
+ } : "number" == typeof a ? (f = {}, b ? f[b] = a : f.milliseconds = a) : (g = He.exec(a)) ? (c = "-" === g[1] ? -1 : 1, f = {
1010
+ y: 0,
1011
+ d: t(g[$d]) * c,
1012
+ h: t(g[_d]) * c,
1013
+ m: t(g[ae]) * c,
1014
+ s: t(g[be]) * c,
1015
+ ms: t(g[ce]) * c
1016
+ }) : (g = Ie.exec(a)) ? (c = "-" === g[1] ? -1 : 1, f = {
1017
+ y: Nb(g[2], c),
1018
+ M: Nb(g[3], c),
1019
+ w: Nb(g[4], c),
1020
+ d: Nb(g[5], c),
1021
+ h: Nb(g[6], c),
1022
+ m: Nb(g[7], c),
1023
+ s: Nb(g[8], c)
1024
+ }) : null == f ? f = {} : "object" == typeof f && ("from" in f || "to" in f) && (e = Pb(rb(f.from), rb(f.to)), f = {}, f.ms = e.milliseconds, f.M = e.months), d = new vb(f), wb(a) && h(a, "_locale") && (d._locale = a._locale), d;
1025
+ }
1026
+
1027
+ function Nb(a, b) {
1028
+ // We'd normally use ~~inp for this, but unfortunately it also
1029
+ // converts floats to ints.
1030
+ // inp may be undefined, so careful calling replace on it.
1031
+ var c = a && parseFloat(a.replace(",", "."));
1032
+ // apply sign while we're at it
1033
+ return (isNaN(c) ? 0 : c) * b;
1034
+ }
1035
+
1036
+ function Ob(a, b) {
1037
+ var c = {
1038
+ milliseconds: 0,
1039
+ months: 0
1040
+ };
1041
+ return c.months = b.month() - a.month() + 12 * (b.year() - a.year()), a.clone().add(c.months, "M").isAfter(b) && --c.months, c.milliseconds = +b - +a.clone().add(c.months, "M"), c;
1042
+ }
1043
+
1044
+ function Pb(a, b) {
1045
+ var c;
1046
+ return a.isValid() && b.isValid() ? (b = zb(b, a), a.isBefore(b) ? c = Ob(a, b) : (c = Ob(b, a), c.milliseconds = -c.milliseconds, c.months = -c.months), c) : {
1047
+ milliseconds: 0,
1048
+ months: 0
1049
+ };
1050
+ }
1051
+
1052
+ function Qb(a) {
1053
+ return 0 > a ? -1 * Math.round(-1 * a) : Math.round(a);
1054
+ }
1055
+ // TODO: remove 'name' arg after deprecation is removed
1056
+ function Rb(a, b) {
1057
+ return function(c, d) {
1058
+ var e, f;
1059
+ //invert the arguments, but complain about it
1060
+ return null === d || isNaN(+d) || (x(b, "moment()." + b + "(period, number) is deprecated. Please use moment()." + b + "(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."), f = c, c = d, d = f), c = "string" == typeof c ? +c : c, e = Mb(c, d), Sb(this, e, a), this;
1061
+ };
1062
+ }
1063
+
1064
+ function Sb(b, c, d, e) {
1065
+ var f = c._milliseconds,
1066
+ g = Qb(c._days),
1067
+ h = Qb(c._months);
1068
+ b.isValid() && (e = null == e ? !0 : e, f && b._d.setTime(b._d.valueOf() + f * d), g && P(b, "Date", O(b, "Date") + g * d), h && ia(b, O(b, "Month") + h * d), e && a.updateOffset(b, g || h));
1069
+ }
1070
+
1071
+ function Tb(a, b) {
1072
+ var c = a.diff(b, "days", !0);
1073
+ return -6 > c ? "sameElse" : -1 > c ? "lastWeek" : 0 > c ? "lastDay" : 1 > c ? "sameDay" : 2 > c ? "nextDay" : 7 > c ? "nextWeek" : "sameElse";
1074
+ }
1075
+
1076
+ function Ub(b, c) {
1077
+ // We want to compare the start of today, vs this.
1078
+ // Getting start-of-today depends on whether we're local/utc/offset or not.
1079
+ var d = b || rb(),
1080
+ e = zb(d, this).startOf("day"),
1081
+ f = a.calendarFormat(this, e) || "sameElse",
1082
+ g = c && (y(c[f]) ? c[f].call(this, d) : c[f]);
1083
+ return this.format(g || this.localeData().calendar(f, this, rb(d)));
1084
+ }
1085
+
1086
+ function Vb() {
1087
+ return new q(this);
1088
+ }
1089
+
1090
+ function Wb(a, b) {
1091
+ var c = r(a) ? a : rb(a);
1092
+ return this.isValid() && c.isValid() ? (b = J(o(b) ? "millisecond" : b), "millisecond" === b ? this.valueOf() > c.valueOf() : c.valueOf() < this.clone().startOf(b).valueOf()) : !1;
1093
+ }
1094
+
1095
+ function Xb(a, b) {
1096
+ var c = r(a) ? a : rb(a);
1097
+ return this.isValid() && c.isValid() ? (b = J(o(b) ? "millisecond" : b), "millisecond" === b ? this.valueOf() < c.valueOf() : this.clone().endOf(b).valueOf() < c.valueOf()) : !1;
1098
+ }
1099
+
1100
+ function Yb(a, b, c, d) {
1101
+ return d = d || "()", ("(" === d[0] ? this.isAfter(a, c) : !this.isBefore(a, c)) && (")" === d[1] ? this.isBefore(b, c) : !this.isAfter(b, c));
1102
+ }
1103
+
1104
+ function Zb(a, b) {
1105
+ var c, d = r(a) ? a : rb(a);
1106
+ return this.isValid() && d.isValid() ? (b = J(b || "millisecond"), "millisecond" === b ? this.valueOf() === d.valueOf() : (c = d.valueOf(), this.clone().startOf(b).valueOf() <= c && c <= this.clone().endOf(b).valueOf())) : !1;
1107
+ }
1108
+
1109
+ function $b(a, b) {
1110
+ return this.isSame(a, b) || this.isAfter(a, b);
1111
+ }
1112
+
1113
+ function _b(a, b) {
1114
+ return this.isSame(a, b) || this.isBefore(a, b);
1115
+ }
1116
+
1117
+ function ac(a, b, c) {
1118
+ var d, e, f, g; // 1000
1119
+ // 1000 * 60
1120
+ // 1000 * 60 * 60
1121
+ // 1000 * 60 * 60 * 24, negate dst
1122
+ // 1000 * 60 * 60 * 24 * 7, negate dst
1123
+ return this.isValid() ? (d = zb(a, this), d.isValid() ? (e = 6e4 * (d.utcOffset() - this.utcOffset()), b = J(b), "year" === b || "month" === b || "quarter" === b ? (g = bc(this, d), "quarter" === b ? g /= 3 : "year" === b && (g /= 12)) : (f = this - d, g = "second" === b ? f / 1e3 : "minute" === b ? f / 6e4 : "hour" === b ? f / 36e5 : "day" === b ? (f - e) / 864e5 : "week" === b ? (f - e) / 6048e5 : f), c ? g : s(g)) : NaN) : NaN;
1124
+ }
1125
+
1126
+ function bc(a, b) {
1127
+ // difference in months
1128
+ var c, d, e = 12 * (b.year() - a.year()) + (b.month() - a.month()),
1129
+ // b is in (anchor - 1 month, anchor + 1 month)
1130
+ f = a.clone().add(e, "months");
1131
+ //check for negative zero, return zero if negative zero
1132
+ // linear across the month
1133
+ // linear across the month
1134
+ return 0 > b - f ? (c = a.clone().add(e - 1, "months"), d = (b - f) / (f - c)) : (c = a.clone().add(e + 1, "months"), d = (b - f) / (c - f)), -(e + d) || 0;
1135
+ }
1136
+
1137
+ function cc() {
1138
+ return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ");
1139
+ }
1140
+
1141
+ function dc() {
1142
+ var a = this.clone().utc();
1143
+ return 0 < a.year() && a.year() <= 9999 ? y(Date.prototype.toISOString) ? this.toDate().toISOString() : W(a, "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]") : W(a, "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]");
1144
+ }
1145
+
1146
+ function ec(b) {
1147
+ b || (b = this.isUtc() ? a.defaultFormatUtc : a.defaultFormat);
1148
+ var c = W(this, b);
1149
+ return this.localeData().postformat(c);
1150
+ }
1151
+
1152
+ function fc(a, b) {
1153
+ return this.isValid() && (r(a) && a.isValid() || rb(a).isValid()) ? Mb({
1154
+ to: this,
1155
+ from: a
1156
+ }).locale(this.locale()).humanize(!b) : this.localeData().invalidDate();
1157
+ }
1158
+
1159
+ function gc(a) {
1160
+ return this.from(rb(), a);
1161
+ }
1162
+
1163
+ function hc(a, b) {
1164
+ return this.isValid() && (r(a) && a.isValid() || rb(a).isValid()) ? Mb({
1165
+ from: this,
1166
+ to: a
1167
+ }).locale(this.locale()).humanize(!b) : this.localeData().invalidDate();
1168
+ }
1169
+
1170
+ function ic(a) {
1171
+ return this.to(rb(), a);
1172
+ }
1173
+ // If passed a locale key, it will set the locale for this
1174
+ // instance. Otherwise, it will return the locale configuration
1175
+ // variables for this instance.
1176
+ function jc(a) {
1177
+ var b;
1178
+ return void 0 === a ? this._locale._abbr : (b = ab(a), null != b && (this._locale = b), this);
1179
+ }
1180
+
1181
+ function kc() {
1182
+ return this._locale;
1183
+ }
1184
+
1185
+ function lc(a) {
1186
+ // the following switch intentionally omits break keywords
1187
+ // to utilize falling through the cases.
1188
+ switch (a = J(a)) {
1189
+ case "year":
1190
+ this.month(0); /* falls through */
1191
+ case "quarter":
1192
+ case "month":
1193
+ this.date(1); /* falls through */
1194
+ case "week":
1195
+ case "isoWeek":
1196
+ case "day":
1197
+ case "date":
1198
+ this.hours(0); /* falls through */
1199
+ case "hour":
1200
+ this.minutes(0); /* falls through */
1201
+ case "minute":
1202
+ this.seconds(0); /* falls through */
1203
+ case "second":
1204
+ this.milliseconds(0);
1205
+ }
1206
+ // weeks are a special case
1207
+ // quarters are also special
1208
+ return "week" === a && this.weekday(0), "isoWeek" === a && this.isoWeekday(1), "quarter" === a && this.month(3 * Math.floor(this.month() / 3)), this;
1209
+ }
1210
+
1211
+ function mc(a) {
1212
+ // 'date' is an alias for 'day', so it should be considered as such.
1213
+ return a = J(a), void 0 === a || "millisecond" === a ? this : ("date" === a && (a = "day"), this.startOf(a).add(1, "isoWeek" === a ? "week" : a).subtract(1, "ms"));
1214
+ }
1215
+
1216
+ function nc() {
1217
+ return this._d.valueOf() - 6e4 * (this._offset || 0);
1218
+ }
1219
+
1220
+ function oc() {
1221
+ return Math.floor(this.valueOf() / 1e3);
1222
+ }
1223
+
1224
+ function pc() {
1225
+ return new Date(this.valueOf());
1226
+ }
1227
+
1228
+ function qc() {
1229
+ var a = this;
1230
+ return [a.year(), a.month(), a.date(), a.hour(), a.minute(), a.second(), a.millisecond()];
1231
+ }
1232
+
1233
+ function rc() {
1234
+ var a = this;
1235
+ return {
1236
+ years: a.year(),
1237
+ months: a.month(),
1238
+ date: a.date(),
1239
+ hours: a.hours(),
1240
+ minutes: a.minutes(),
1241
+ seconds: a.seconds(),
1242
+ milliseconds: a.milliseconds()
1243
+ };
1244
+ }
1484
1245
 
1485
- function dd(a) {
1486
- return a = J(a), this[a + "s"]();
1487
- }
1246
+ function sc() {
1247
+ // new Date(NaN).toJSON() === null
1248
+ return this.isValid() ? this.toISOString() : null;
1249
+ }
1488
1250
 
1489
- function ed(a) {
1490
- return function() {
1491
- return this._data[a];
1492
- };
1493
- }
1251
+ function tc() {
1252
+ return m(this);
1253
+ }
1494
1254
 
1495
- function fd() {
1496
- return s(this.days() / 7);
1497
- }
1498
- // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
1499
- function gd(a, b, c, d, e) {
1500
- return e.relativeTime(b || 1, !!c, a, d);
1501
- }
1255
+ function uc() {
1256
+ return i({}, l(this));
1257
+ }
1502
1258
 
1503
- function hd(a, b, c) {
1504
- var d = Mb(a).abs(),
1505
- e = jf(d.as("s")),
1506
- f = jf(d.as("m")),
1507
- g = jf(d.as("h")),
1508
- h = jf(d.as("d")),
1509
- i = jf(d.as("M")),
1510
- j = jf(d.as("y")),
1511
- k = e < kf.s && ["s", e] || 1 >= f && ["m"] || f < kf.m && ["mm", f] || 1 >= g && ["h"] || g < kf.h && ["hh", g] || 1 >= h && ["d"] || h < kf.d && ["dd", h] || 1 >= i && ["M"] || i < kf.M && ["MM", i] || 1 >= j && ["y"] || ["yy", j];
1512
- return k[2] = b, k[3] = +a > 0, k[4] = c, gd.apply(null, k);
1513
- }
1514
- // This function allows you to set the rounding function for relative time strings
1515
- function id(a) {
1516
- return void 0 === a ? jf : "function" == typeof a ? (jf = a, !0) : !1;
1517
- }
1518
- // This function allows you to set a threshold for relative time strings
1519
- function jd(a, b) {
1520
- return void 0 === kf[a] ? !1 : void 0 === b ? kf[a] : (kf[a] = b, !0);
1521
- }
1259
+ function vc() {
1260
+ return l(this).overflow;
1261
+ }
1522
1262
 
1523
- function kd(a) {
1524
- var b = this.localeData(),
1525
- c = hd(this, !a, b);
1526
- return a && (c = b.pastFuture(+this, c)), b.postformat(c);
1527
- }
1263
+ function wc() {
1264
+ return {
1265
+ input: this._i,
1266
+ format: this._f,
1267
+ locale: this._locale,
1268
+ isUTC: this._isUTC,
1269
+ strict: this._strict
1270
+ };
1271
+ }
1272
+
1273
+ function xc(a, b) {
1274
+ T(0, [a, a.length], 0, b);
1275
+ }
1276
+ // MOMENTS
1277
+ function yc(a) {
1278
+ return Cc.call(this, a, this.week(), this.weekday(), this.localeData()._week.dow, this.localeData()._week.doy);
1279
+ }
1280
+
1281
+ function zc(a) {
1282
+ return Cc.call(this, a, this.isoWeek(), this.isoWeekday(), 1, 4);
1283
+ }
1284
+
1285
+ function Ac() {
1286
+ return wa(this.year(), 1, 4);
1287
+ }
1288
+
1289
+ function Bc() {
1290
+ var a = this.localeData()._week;
1291
+ return wa(this.year(), a.dow, a.doy);
1292
+ }
1293
+
1294
+ function Cc(a, b, c, d, e) {
1295
+ var f;
1296
+ return null == a ? va(this, d, e).year : (f = wa(a, d, e), b > f && (b = f), Dc.call(this, a, b, c, d, e));
1297
+ }
1298
+
1299
+ function Dc(a, b, c, d, e) {
1300
+ var f = ua(a, b, c, d, e),
1301
+ g = sa(f.year, 0, f.dayOfYear);
1302
+ return this.year(g.getUTCFullYear()), this.month(g.getUTCMonth()), this.date(g.getUTCDate()), this;
1303
+ }
1304
+ // MOMENTS
1305
+ function Ec(a) {
1306
+ return null == a ? Math.ceil((this.month() + 1) / 3) : this.month(3 * (a - 1) + this.month() % 3);
1307
+ }
1308
+ // HELPERS
1309
+ // MOMENTS
1310
+ function Fc(a) {
1311
+ var b = Math.round((this.clone().startOf("day") - this.clone().startOf("year")) / 864e5) + 1;
1312
+ return null == a ? b : this.add(a - b, "d");
1313
+ }
1314
+
1315
+ function Gc(a, b) {
1316
+ b[ce] = t(1e3 * ("0." + a));
1317
+ }
1318
+ // MOMENTS
1319
+ function Hc() {
1320
+ return this._isUTC ? "UTC" : "";
1321
+ }
1322
+
1323
+ function Ic() {
1324
+ return this._isUTC ? "Coordinated Universal Time" : "";
1325
+ }
1326
+
1327
+ function Jc(a) {
1328
+ return rb(1e3 * a);
1329
+ }
1330
+
1331
+ function Kc() {
1332
+ return rb.apply(null, arguments).parseZone();
1333
+ }
1334
+
1335
+ function Lc(a) {
1336
+ return a;
1337
+ }
1338
+
1339
+ function Mc(a, b, c, d) {
1340
+ var e = ab(),
1341
+ f = j().set(d, b);
1342
+ return e[c](f, a);
1343
+ }
1344
+
1345
+ function Nc(a, b, c) {
1346
+ if ("number" == typeof a && (b = a, a = void 0), a = a || "", null != b) return Mc(a, b, c, "month");
1347
+ var d, e = [];
1348
+ for (d = 0; 12 > d; d++) e[d] = Mc(a, d, c, "month");
1349
+ return e;
1350
+ }
1351
+ // ()
1352
+ // (5)
1353
+ // (fmt, 5)
1354
+ // (fmt)
1355
+ // (true)
1356
+ // (true, 5)
1357
+ // (true, fmt, 5)
1358
+ // (true, fmt)
1359
+ function Oc(a, b, c, d) {
1360
+ "boolean" == typeof a ? ("number" == typeof b && (c = b, b = void 0), b = b || "") : (b = a, c = b, a = !1, "number" == typeof b && (c = b, b = void 0), b = b || "");
1361
+ var e = ab(),
1362
+ f = a ? e._week.dow : 0;
1363
+ if (null != c) return Mc(b, (c + f) % 7, d, "day");
1364
+ var g, h = [];
1365
+ for (g = 0; 7 > g; g++) h[g] = Mc(b, (g + f) % 7, d, "day");
1366
+ return h;
1367
+ }
1368
+
1369
+ function Pc(a, b) {
1370
+ return Nc(a, b, "months");
1371
+ }
1372
+
1373
+ function Qc(a, b) {
1374
+ return Nc(a, b, "monthsShort");
1375
+ }
1376
+
1377
+ function Rc(a, b, c) {
1378
+ return Oc(a, b, c, "weekdays");
1379
+ }
1380
+
1381
+ function Sc(a, b, c) {
1382
+ return Oc(a, b, c, "weekdaysShort");
1383
+ }
1384
+
1385
+ function Tc(a, b, c) {
1386
+ return Oc(a, b, c, "weekdaysMin");
1387
+ }
1388
+
1389
+ function Uc() {
1390
+ var a = this._data;
1391
+ return this._milliseconds = Ue(this._milliseconds), this._days = Ue(this._days), this._months = Ue(this._months), a.milliseconds = Ue(a.milliseconds), a.seconds = Ue(a.seconds), a.minutes = Ue(a.minutes), a.hours = Ue(a.hours), a.months = Ue(a.months), a.years = Ue(a.years), this;
1392
+ }
1393
+
1394
+ function Vc(a, b, c, d) {
1395
+ var e = Mb(b, c);
1396
+ return a._milliseconds += d * e._milliseconds, a._days += d * e._days, a._months += d * e._months, a._bubble();
1397
+ }
1398
+ // supports only 2.0-style add(1, 's') or add(duration)
1399
+ function Wc(a, b) {
1400
+ return Vc(this, a, b, 1);
1401
+ }
1402
+ // supports only 2.0-style subtract(1, 's') or subtract(duration)
1403
+ function Xc(a, b) {
1404
+ return Vc(this, a, b, -1);
1405
+ }
1406
+
1407
+ function Yc(a) {
1408
+ return 0 > a ? Math.floor(a) : Math.ceil(a);
1409
+ }
1410
+
1411
+ function Zc() {
1412
+ var a, b, c, d, e, f = this._milliseconds,
1413
+ g = this._days,
1414
+ h = this._months,
1415
+ i = this._data;
1416
+ // if we have a mix of positive and negative values, bubble down first
1417
+ // check: https://github.com/moment/moment/issues/2166
1418
+ // The following code bubbles up values, see the tests for
1419
+ // examples of what that means.
1420
+ // convert days to months
1421
+ // 12 months -> 1 year
1422
+ return f >= 0 && g >= 0 && h >= 0 || 0 >= f && 0 >= g && 0 >= h || (f += 864e5 * Yc(_c(h) + g), g = 0, h = 0), i.milliseconds = f % 1e3, a = s(f / 1e3), i.seconds = a % 60, b = s(a / 60), i.minutes = b % 60, c = s(b / 60), i.hours = c % 24, g += s(c / 24), e = s($c(g)), h += e, g -= Yc(_c(e)), d = s(h / 12), h %= 12, i.days = g, i.months = h, i.years = d, this;
1423
+ }
1424
+
1425
+ function $c(a) {
1426
+ // 400 years have 146097 days (taking into account leap year rules)
1427
+ // 400 years have 12 months === 4800
1428
+ return 4800 * a / 146097;
1429
+ }
1430
+
1431
+ function _c(a) {
1432
+ // the reverse of daysToMonths
1433
+ return 146097 * a / 4800;
1434
+ }
1435
+
1436
+ function ad(a) {
1437
+ var b, c, d = this._milliseconds;
1438
+ if (a = J(a), "month" === a || "year" === a) return b = this._days + d / 864e5, c = this._months + $c(b), "month" === a ? c : c / 12;
1439
+ switch (b = this._days + Math.round(_c(this._months)), a) {
1440
+ case "week":
1441
+ return b / 7 + d / 6048e5;
1442
+ case "day":
1443
+ return b + d / 864e5;
1444
+ case "hour":
1445
+ return 24 * b + d / 36e5;
1446
+ case "minute":
1447
+ return 1440 * b + d / 6e4;
1448
+ case "second":
1449
+ return 86400 * b + d / 1e3;
1450
+ // Math.floor prevents floating point math errors here
1451
+ case "millisecond":
1452
+ return Math.floor(864e5 * b) + d;
1453
+ default:
1454
+ throw new Error("Unknown unit " + a);
1455
+ }
1456
+ }
1457
+ // TODO: Use this.as('ms')?
1458
+ function bd() {
1459
+ return this._milliseconds + 864e5 * this._days + this._months % 12 * 2592e6 + 31536e6 * t(this._months / 12);
1460
+ }
1461
+
1462
+ function cd(a) {
1463
+ return function() {
1464
+ return this.as(a);
1465
+ };
1466
+ }
1528
1467
 
1529
- function ld() {
1530
- // for ISO strings we do not use the normal bubbling rules:
1531
- // * milliseconds bubble up until they become hours
1532
- // * days do not bubble at all
1533
- // * months bubble up until they become years
1534
- // This is because there is no context-free conversion between hours and days
1535
- // (think of clock changes)
1536
- // and also not between days and months (28-31 days per month)
1537
- var a, b, c, d = lf(this._milliseconds) / 1e3,
1538
- e = lf(this._days),
1539
- f = lf(this._months);
1540
- a = s(d / 60), b = s(a / 60), d %= 60, a %= 60, c = s(f / 12), f %= 12;
1541
- // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
1542
- var g = c,
1543
- h = f,
1544
- i = e,
1545
- j = b,
1546
- k = a,
1547
- l = d,
1548
- m = this.asSeconds();
1549
- return m ? (0 > m ? "-" : "") + "P" + (g ? g + "Y" : "") + (h ? h + "M" : "") + (i ? i + "D" : "") + (j || k || l ? "T" : "") + (j ? j + "H" : "") + (k ? k + "M" : "") + (l ? l + "S" : "") : "P0D";
1550
- }
1468
+ function dd(a) {
1469
+ return a = J(a), this[a + "s"]();
1470
+ }
1551
1471
 
1552
- nd = Array.prototype.some ? Array.prototype.some : function(a) {
1553
- for (var b = Object(this), c = b.length >>> 0, d = 0; c > d; d++)
1554
- if (d in b && a.call(this, b[d], d, b)) return !0;
1555
- return !1;
1472
+ function ed(a) {
1473
+ return function() {
1474
+ return this._data[a];
1556
1475
  };
1557
- // Plugins that add properties should also add the key here (null value),
1558
- // so we can properly clone ourselves.
1559
- var od = a.momentProperties = [],
1560
- pd = !1,
1561
- qd = {};
1562
- a.suppressDeprecationWarnings = !1, a.deprecationHandler = null;
1563
- var rd;
1564
- rd = Object.keys ? Object.keys : function(a) {
1565
- var b, c = [];
1566
- for (b in a) h(a, b) && c.push(b);
1567
- return c;
1476
+ }
1477
+
1478
+ function fd() {
1479
+ return s(this.days() / 7);
1480
+ }
1481
+ // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
1482
+ function gd(a, b, c, d, e) {
1483
+ return e.relativeTime(b || 1, !!c, a, d);
1484
+ }
1485
+
1486
+ function hd(a, b, c) {
1487
+ var d = Mb(a).abs(),
1488
+ e = jf(d.as("s")),
1489
+ f = jf(d.as("m")),
1490
+ g = jf(d.as("h")),
1491
+ h = jf(d.as("d")),
1492
+ i = jf(d.as("M")),
1493
+ j = jf(d.as("y")),
1494
+ k = e < kf.s && ["s", e] || 1 >= f && ["m"] || f < kf.m && ["mm", f] || 1 >= g && ["h"] || g < kf.h && ["hh", g] || 1 >= h && ["d"] || h < kf.d && ["dd", h] || 1 >= i && ["M"] || i < kf.M && ["MM", i] || 1 >= j && ["y"] || ["yy", j];
1495
+ return k[2] = b, k[3] = +a > 0, k[4] = c, gd.apply(null, k);
1496
+ }
1497
+ // This function allows you to set the rounding function for relative time strings
1498
+ function id(a) {
1499
+ return void 0 === a ? jf : "function" == typeof a ? (jf = a, !0) : !1;
1500
+ }
1501
+ // This function allows you to set a threshold for relative time strings
1502
+ function jd(a, b) {
1503
+ return void 0 === kf[a] ? !1 : void 0 === b ? kf[a] : (kf[a] = b, !0);
1504
+ }
1505
+
1506
+ function kd(a) {
1507
+ var b = this.localeData(),
1508
+ c = hd(this, !a, b);
1509
+ return a && (c = b.pastFuture(+this, c)), b.postformat(c);
1510
+ }
1511
+
1512
+ function ld() {
1513
+ // for ISO strings we do not use the normal bubbling rules:
1514
+ // * milliseconds bubble up until they become hours
1515
+ // * days do not bubble at all
1516
+ // * months bubble up until they become years
1517
+ // This is because there is no context-free conversion between hours and days
1518
+ // (think of clock changes)
1519
+ // and also not between days and months (28-31 days per month)
1520
+ var a, b, c, d = lf(this._milliseconds) / 1e3,
1521
+ e = lf(this._days),
1522
+ f = lf(this._months);
1523
+ a = s(d / 60), b = s(a / 60), d %= 60, a %= 60, c = s(f / 12), f %= 12;
1524
+ // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
1525
+ var g = c,
1526
+ h = f,
1527
+ i = e,
1528
+ j = b,
1529
+ k = a,
1530
+ l = d,
1531
+ m = this.asSeconds();
1532
+ return m ? (0 > m ? "-" : "") + "P" + (g ? g + "Y" : "") + (h ? h + "M" : "") + (i ? i + "D" : "") + (j || k || l ? "T" : "") + (j ? j + "H" : "") + (k ? k + "M" : "") + (l ? l + "S" : "") : "P0D";
1533
+ }
1534
+
1535
+ nd = Array.prototype.some ? Array.prototype.some : function(a) {
1536
+ for (var b = Object(this), c = b.length >>> 0, d = 0; c > d; d++)
1537
+ if (d in b && a.call(this, b[d], d, b)) return !0;
1538
+ return !1;
1539
+ };
1540
+ // Plugins that add properties should also add the key here (null value),
1541
+ // so we can properly clone ourselves.
1542
+ var od = a.momentProperties = [],
1543
+ pd = !1,
1544
+ qd = {};
1545
+ a.suppressDeprecationWarnings = !1, a.deprecationHandler = null;
1546
+ var rd;
1547
+ rd = Object.keys ? Object.keys : function(a) {
1548
+ var b, c = [];
1549
+ for (b in a) h(a, b) && c.push(b);
1550
+ return c;
1551
+ };
1552
+ var sd, td = {
1553
+ sameDay: "[Today at] LT",
1554
+ nextDay: "[Tomorrow at] LT",
1555
+ nextWeek: "dddd [at] LT",
1556
+ lastDay: "[Yesterday at] LT",
1557
+ lastWeek: "[Last] dddd [at] LT",
1558
+ sameElse: "L"
1559
+ },
1560
+ ud = {
1561
+ LTS: "h:mm:ss A",
1562
+ LT: "h:mm A",
1563
+ L: "MM/DD/YYYY",
1564
+ LL: "MMMM D, YYYY",
1565
+ LLL: "MMMM D, YYYY h:mm A",
1566
+ LLLL: "dddd, MMMM D, YYYY h:mm A"
1567
+ },
1568
+ vd = "Invalid date",
1569
+ wd = "%d",
1570
+ xd = /\d{1,2}/,
1571
+ yd = {
1572
+ future: "in %s",
1573
+ past: "%s ago",
1574
+ s: "a few seconds",
1575
+ m: "a minute",
1576
+ mm: "%d minutes",
1577
+ h: "an hour",
1578
+ hh: "%d hours",
1579
+ d: "a day",
1580
+ dd: "%d days",
1581
+ M: "a month",
1582
+ MM: "%d months",
1583
+ y: "a year",
1584
+ yy: "%d years"
1585
+ },
1586
+ zd = {},
1587
+ Ad = {},
1588
+ Bd = /(\[[^\[]*\])|(\\)?([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,
1589
+ Cd = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,
1590
+ Dd = {},
1591
+ Ed = {},
1592
+ Fd = /\d/,
1593
+ Gd = /\d\d/,
1594
+ Hd = /\d{3}/,
1595
+ Id = /\d{4}/,
1596
+ Jd = /[+-]?\d{6}/,
1597
+ Kd = /\d\d?/,
1598
+ Ld = /\d\d\d\d?/,
1599
+ Md = /\d\d\d\d\d\d?/,
1600
+ Nd = /\d{1,3}/,
1601
+ Od = /\d{1,4}/,
1602
+ Pd = /[+-]?\d{1,6}/,
1603
+ Qd = /\d+/,
1604
+ Rd = /[+-]?\d+/,
1605
+ Sd = /Z|[+-]\d\d:?\d\d/gi,
1606
+ Td = /Z|[+-]\d\d(?::?\d\d)?/gi,
1607
+ Ud = /[+-]?\d+(\.\d{1,3})?/,
1608
+ Vd = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,
1609
+ Wd = {},
1610
+ Xd = {},
1611
+ Yd = 0,
1612
+ Zd = 1,
1613
+ $d = 2,
1614
+ _d = 3,
1615
+ ae = 4,
1616
+ be = 5,
1617
+ ce = 6,
1618
+ de = 7,
1619
+ ee = 8;
1620
+ sd = Array.prototype.indexOf ? Array.prototype.indexOf : function(a) {
1621
+ // I know
1622
+ var b;
1623
+ for (b = 0; b < this.length; ++b)
1624
+ if (this[b] === a) return b;
1625
+ return -1;
1626
+ }, T("M", ["MM", 2], "Mo", function() {
1627
+ return this.month() + 1;
1628
+ }), T("MMM", 0, 0, function(a) {
1629
+ return this.localeData().monthsShort(this, a);
1630
+ }), T("MMMM", 0, 0, function(a) {
1631
+ return this.localeData().months(this, a);
1632
+ }), I("month", "M"), L("month", 8), Y("M", Kd), Y("MM", Kd, Gd), Y("MMM", function(a, b) {
1633
+ return b.monthsShortRegex(a);
1634
+ }), Y("MMMM", function(a, b) {
1635
+ return b.monthsRegex(a);
1636
+ }), aa(["M", "MM"], function(a, b) {
1637
+ b[Zd] = t(a) - 1;
1638
+ }), aa(["MMM", "MMMM"], function(a, b, c, d) {
1639
+ var e = c._locale.monthsParse(a, d, c._strict);
1640
+ null != e ? b[Zd] = e : l(c).invalidMonth = a;
1641
+ });
1642
+ // LOCALES
1643
+ var fe = /D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/,
1644
+ ge = "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
1645
+ he = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
1646
+ ie = Vd,
1647
+ je = Vd;
1648
+ // FORMATTING
1649
+ T("Y", 0, 0, function() {
1650
+ var a = this.year();
1651
+ return 9999 >= a ? "" + a : "+" + a;
1652
+ }), T(0, ["YY", 2], 0, function() {
1653
+ return this.year() % 100;
1654
+ }), T(0, ["YYYY", 4], 0, "year"), T(0, ["YYYYY", 5], 0, "year"), T(0, ["YYYYYY", 6, !0], 0, "year"),
1655
+ // ALIASES
1656
+ I("year", "y"),
1657
+ // PRIORITIES
1658
+ L("year", 1),
1659
+ // PARSING
1660
+ Y("Y", Rd), Y("YY", Kd, Gd), Y("YYYY", Od, Id), Y("YYYYY", Pd, Jd), Y("YYYYYY", Pd, Jd), aa(["YYYYY", "YYYYYY"], Yd), aa("YYYY", function(b, c) {
1661
+ c[Yd] = 2 === b.length ? a.parseTwoDigitYear(b) : t(b);
1662
+ }), aa("YY", function(b, c) {
1663
+ c[Yd] = a.parseTwoDigitYear(b);
1664
+ }), aa("Y", function(a, b) {
1665
+ b[Yd] = parseInt(a, 10);
1666
+ }),
1667
+ // HOOKS
1668
+ a.parseTwoDigitYear = function(a) {
1669
+ return t(a) + (t(a) > 68 ? 1900 : 2e3);
1568
1670
  };
1569
- var sd, td = {
1570
- sameDay: "[Today at] LT",
1571
- nextDay: "[Tomorrow at] LT",
1572
- nextWeek: "dddd [at] LT",
1573
- lastDay: "[Yesterday at] LT",
1574
- lastWeek: "[Last] dddd [at] LT",
1575
- sameElse: "L"
1576
- },
1577
- ud = {
1578
- LTS: "h:mm:ss A",
1579
- LT: "h:mm A",
1580
- L: "MM/DD/YYYY",
1581
- LL: "MMMM D, YYYY",
1582
- LLL: "MMMM D, YYYY h:mm A",
1583
- LLLL: "dddd, MMMM D, YYYY h:mm A"
1584
- },
1585
- vd = "Invalid date",
1586
- wd = "%d",
1587
- xd = /\d{1,2}/,
1588
- yd = {
1589
- future: "in %s",
1590
- past: "%s ago",
1591
- s: "a few seconds",
1592
- m: "a minute",
1593
- mm: "%d minutes",
1594
- h: "an hour",
1595
- hh: "%d hours",
1596
- d: "a day",
1597
- dd: "%d days",
1598
- M: "a month",
1599
- MM: "%d months",
1600
- y: "a year",
1601
- yy: "%d years"
1602
- },
1603
- zd = {},
1604
- Ad = {},
1605
- Bd = /(\[[^\[]*\])|(\\)?([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,
1606
- Cd = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,
1607
- Dd = {},
1608
- Ed = {},
1609
- Fd = /\d/,
1610
- Gd = /\d\d/,
1611
- Hd = /\d{3}/,
1612
- Id = /\d{4}/,
1613
- Jd = /[+-]?\d{6}/,
1614
- Kd = /\d\d?/,
1615
- Ld = /\d\d\d\d?/,
1616
- Md = /\d\d\d\d\d\d?/,
1617
- Nd = /\d{1,3}/,
1618
- Od = /\d{1,4}/,
1619
- Pd = /[+-]?\d{1,6}/,
1620
- Qd = /\d+/,
1621
- Rd = /[+-]?\d+/,
1622
- Sd = /Z|[+-]\d\d:?\d\d/gi,
1623
- Td = /Z|[+-]\d\d(?::?\d\d)?/gi,
1624
- Ud = /[+-]?\d+(\.\d{1,3})?/,
1625
- Vd = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,
1626
- Wd = {},
1627
- Xd = {},
1628
- Yd = 0,
1629
- Zd = 1,
1630
- $d = 2,
1631
- _d = 3,
1632
- ae = 4,
1633
- be = 5,
1634
- ce = 6,
1635
- de = 7,
1636
- ee = 8;
1637
- sd = Array.prototype.indexOf ? Array.prototype.indexOf : function(a) {
1638
- // I know
1639
- var b;
1640
- for (b = 0; b < this.length; ++b)
1641
- if (this[b] === a) return b;
1642
- return -1;
1643
- }, T("M", ["MM", 2], "Mo", function() {
1644
- return this.month() + 1;
1645
- }), T("MMM", 0, 0, function(a) {
1646
- return this.localeData().monthsShort(this, a);
1647
- }), T("MMMM", 0, 0, function(a) {
1648
- return this.localeData().months(this, a);
1649
- }), I("month", "M"), L("month", 8), Y("M", Kd), Y("MM", Kd, Gd), Y("MMM", function(a, b) {
1650
- return b.monthsShortRegex(a);
1651
- }), Y("MMMM", function(a, b) {
1652
- return b.monthsRegex(a);
1653
- }), aa(["M", "MM"], function(a, b) {
1654
- b[Zd] = t(a) - 1;
1655
- }), aa(["MMM", "MMMM"], function(a, b, c, d) {
1656
- var e = c._locale.monthsParse(a, d, c._strict);
1657
- null != e ? b[Zd] = e : l(c).invalidMonth = a;
1671
+ // MOMENTS
1672
+ var ke = N("FullYear", !0);
1673
+ // FORMATTING
1674
+ T("w", ["ww", 2], "wo", "week"), T("W", ["WW", 2], "Wo", "isoWeek"),
1675
+ // ALIASES
1676
+ I("week", "w"), I("isoWeek", "W"),
1677
+ // PRIORITIES
1678
+ L("week", 5), L("isoWeek", 5),
1679
+ // PARSING
1680
+ Y("w", Kd), Y("ww", Kd, Gd), Y("W", Kd), Y("WW", Kd, Gd), ba(["w", "ww", "W", "WW"], function(a, b, c, d) {
1681
+ b[d.substr(0, 1)] = t(a);
1658
1682
  });
1659
- // LOCALES
1660
- var fe = /D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/,
1661
- ge = "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
1662
- he = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
1663
- ie = Vd,
1664
- je = Vd;
1665
- // FORMATTING
1666
- T("Y", 0, 0, function() {
1667
- var a = this.year();
1668
- return 9999 >= a ? "" + a : "+" + a;
1669
- }), T(0, ["YY", 2], 0, function() {
1670
- return this.year() % 100;
1671
- }), T(0, ["YYYY", 4], 0, "year"), T(0, ["YYYYY", 5], 0, "year"), T(0, ["YYYYYY", 6, !0], 0, "year"),
1672
- // ALIASES
1673
- I("year", "y"),
1674
- // PRIORITIES
1675
- L("year", 1),
1676
- // PARSING
1677
- Y("Y", Rd), Y("YY", Kd, Gd), Y("YYYY", Od, Id), Y("YYYYY", Pd, Jd), Y("YYYYYY", Pd, Jd), aa(["YYYYY", "YYYYYY"], Yd), aa("YYYY", function(b, c) {
1678
- c[Yd] = 2 === b.length ? a.parseTwoDigitYear(b) : t(b);
1679
- }), aa("YY", function(b, c) {
1680
- c[Yd] = a.parseTwoDigitYear(b);
1681
- }), aa("Y", function(a, b) {
1682
- b[Yd] = parseInt(a, 10);
1683
- }),
1684
- // HOOKS
1685
- a.parseTwoDigitYear = function(a) {
1686
- return t(a) + (t(a) > 68 ? 1900 : 2e3);
1687
- };
1688
- // MOMENTS
1689
- var ke = N("FullYear", !0);
1690
- // FORMATTING
1691
- T("w", ["ww", 2], "wo", "week"), T("W", ["WW", 2], "Wo", "isoWeek"),
1692
- // ALIASES
1693
- I("week", "w"), I("isoWeek", "W"),
1694
- // PRIORITIES
1695
- L("week", 5), L("isoWeek", 5),
1696
- // PARSING
1697
- Y("w", Kd), Y("ww", Kd, Gd), Y("W", Kd), Y("WW", Kd, Gd), ba(["w", "ww", "W", "WW"], function(a, b, c, d) {
1698
- b[d.substr(0, 1)] = t(a);
1699
- });
1700
- var le = {
1701
- dow: 0, // Sunday is the first day of the week.
1702
- doy: 6
1683
+ var le = {
1684
+ dow: 0, // Sunday is the first day of the week.
1685
+ doy: 6
1686
+ };
1687
+ // FORMATTING
1688
+ T("d", 0, "do", "day"), T("dd", 0, 0, function(a) {
1689
+ return this.localeData().weekdaysMin(this, a);
1690
+ }), T("ddd", 0, 0, function(a) {
1691
+ return this.localeData().weekdaysShort(this, a);
1692
+ }), T("dddd", 0, 0, function(a) {
1693
+ return this.localeData().weekdays(this, a);
1694
+ }), T("e", 0, 0, "weekday"), T("E", 0, 0, "isoWeekday"),
1695
+ // ALIASES
1696
+ I("day", "d"), I("weekday", "e"), I("isoWeekday", "E"),
1697
+ // PRIORITY
1698
+ L("day", 11), L("weekday", 11), L("isoWeekday", 11),
1699
+ // PARSING
1700
+ Y("d", Kd), Y("e", Kd), Y("E", Kd), Y("dd", function(a, b) {
1701
+ return b.weekdaysMinRegex(a);
1702
+ }), Y("ddd", function(a, b) {
1703
+ return b.weekdaysShortRegex(a);
1704
+ }), Y("dddd", function(a, b) {
1705
+ return b.weekdaysRegex(a);
1706
+ }), ba(["dd", "ddd", "dddd"], function(a, b, c, d) {
1707
+ var e = c._locale.weekdaysParse(a, d, c._strict);
1708
+ // if we didn't get a weekday name, mark the date as invalid
1709
+ null != e ? b.d = e : l(c).invalidWeekday = a;
1710
+ }), ba(["d", "e", "E"], function(a, b, c, d) {
1711
+ b[d] = t(a);
1712
+ });
1713
+ // LOCALES
1714
+ var me = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
1715
+ ne = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
1716
+ oe = "Su_Mo_Tu_We_Th_Fr_Sa".split("_"),
1717
+ pe = Vd,
1718
+ qe = Vd,
1719
+ re = Vd;
1720
+ T("H", ["HH", 2], 0, "hour"), T("h", ["hh", 2], 0, Qa), T("k", ["kk", 2], 0, Ra), T("hmm", 0, 0, function() {
1721
+ return "" + Qa.apply(this) + S(this.minutes(), 2);
1722
+ }), T("hmmss", 0, 0, function() {
1723
+ return "" + Qa.apply(this) + S(this.minutes(), 2) + S(this.seconds(), 2);
1724
+ }), T("Hmm", 0, 0, function() {
1725
+ return "" + this.hours() + S(this.minutes(), 2);
1726
+ }), T("Hmmss", 0, 0, function() {
1727
+ return "" + this.hours() + S(this.minutes(), 2) + S(this.seconds(), 2);
1728
+ }), Sa("a", !0), Sa("A", !1),
1729
+ // ALIASES
1730
+ I("hour", "h"),
1731
+ // PRIORITY
1732
+ L("hour", 13), Y("a", Ta), Y("A", Ta), Y("H", Kd), Y("h", Kd), Y("HH", Kd, Gd), Y("hh", Kd, Gd), Y("hmm", Ld), Y("hmmss", Md), Y("Hmm", Ld), Y("Hmmss", Md), aa(["H", "HH"], _d), aa(["a", "A"], function(a, b, c) {
1733
+ c._isPm = c._locale.isPM(a), c._meridiem = a;
1734
+ }), aa(["h", "hh"], function(a, b, c) {
1735
+ b[_d] = t(a), l(c).bigHour = !0;
1736
+ }), aa("hmm", function(a, b, c) {
1737
+ var d = a.length - 2;
1738
+ b[_d] = t(a.substr(0, d)), b[ae] = t(a.substr(d)), l(c).bigHour = !0;
1739
+ }), aa("hmmss", function(a, b, c) {
1740
+ var d = a.length - 4,
1741
+ e = a.length - 2;
1742
+ b[_d] = t(a.substr(0, d)), b[ae] = t(a.substr(d, 2)), b[be] = t(a.substr(e)), l(c).bigHour = !0;
1743
+ }), aa("Hmm", function(a, b, c) {
1744
+ var d = a.length - 2;
1745
+ b[_d] = t(a.substr(0, d)), b[ae] = t(a.substr(d));
1746
+ }), aa("Hmmss", function(a, b, c) {
1747
+ var d = a.length - 4,
1748
+ e = a.length - 2;
1749
+ b[_d] = t(a.substr(0, d)), b[ae] = t(a.substr(d, 2)), b[be] = t(a.substr(e));
1750
+ });
1751
+ var se, te = /[ap]\.?m?\.?/i,
1752
+ ue = N("Hours", !0),
1753
+ ve = {
1754
+ calendar: td,
1755
+ longDateFormat: ud,
1756
+ invalidDate: vd,
1757
+ ordinal: wd,
1758
+ ordinalParse: xd,
1759
+ relativeTime: yd,
1760
+ months: ge,
1761
+ monthsShort: he,
1762
+ week: le,
1763
+ weekdays: me,
1764
+ weekdaysMin: oe,
1765
+ weekdaysShort: ne,
1766
+ meridiemParse: te
1767
+ },
1768
+ we = {},
1769
+ xe = /^\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)?)?/,
1770
+ ye = /^\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)?)?/,
1771
+ ze = /Z|[+-]\d\d(?::?\d\d)?/,
1772
+ Ae = [
1773
+ ["YYYYYY-MM-DD", /[+-]\d{6}-\d\d-\d\d/],
1774
+ ["YYYY-MM-DD", /\d{4}-\d\d-\d\d/],
1775
+ ["GGGG-[W]WW-E", /\d{4}-W\d\d-\d/],
1776
+ ["GGGG-[W]WW", /\d{4}-W\d\d/, !1],
1777
+ ["YYYY-DDD", /\d{4}-\d{3}/],
1778
+ ["YYYY-MM", /\d{4}-\d\d/, !1],
1779
+ ["YYYYYYMMDD", /[+-]\d{10}/],
1780
+ ["YYYYMMDD", /\d{8}/],
1781
+ // YYYYMM is NOT allowed by the standard
1782
+ ["GGGG[W]WWE", /\d{4}W\d{3}/],
1783
+ ["GGGG[W]WW", /\d{4}W\d{2}/, !1],
1784
+ ["YYYYDDD", /\d{7}/]
1785
+ ],
1786
+ Be = [
1787
+ ["HH:mm:ss.SSSS", /\d\d:\d\d:\d\d\.\d+/],
1788
+ ["HH:mm:ss,SSSS", /\d\d:\d\d:\d\d,\d+/],
1789
+ ["HH:mm:ss", /\d\d:\d\d:\d\d/],
1790
+ ["HH:mm", /\d\d:\d\d/],
1791
+ ["HHmmss.SSSS", /\d\d\d\d\d\d\.\d+/],
1792
+ ["HHmmss,SSSS", /\d\d\d\d\d\d,\d+/],
1793
+ ["HHmmss", /\d\d\d\d\d\d/],
1794
+ ["HHmm", /\d\d\d\d/],
1795
+ ["HH", /\d\d/]
1796
+ ],
1797
+ Ce = /^\/?Date\((\-?\d+)/i;
1798
+ a.createFromInputFallback = w("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.", function(a) {
1799
+ a._d = new Date(a._i + (a._useUTC ? " UTC" : ""));
1800
+ }),
1801
+ // constant that refers to the ISO standard
1802
+ a.ISO_8601 = function() {};
1803
+ var De = w("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/", function() {
1804
+ var a = rb.apply(null, arguments);
1805
+ return this.isValid() && a.isValid() ? this > a ? this : a : n();
1806
+ }),
1807
+ Ee = w("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/", function() {
1808
+ var a = rb.apply(null, arguments);
1809
+ return this.isValid() && a.isValid() ? a > this ? this : a : n();
1810
+ }),
1811
+ Fe = function() {
1812
+ return Date.now ? Date.now() : +new Date;
1703
1813
  };
1704
- // FORMATTING
1705
- T("d", 0, "do", "day"), T("dd", 0, 0, function(a) {
1706
- return this.localeData().weekdaysMin(this, a);
1707
- }), T("ddd", 0, 0, function(a) {
1708
- return this.localeData().weekdaysShort(this, a);
1709
- }), T("dddd", 0, 0, function(a) {
1710
- return this.localeData().weekdays(this, a);
1711
- }), T("e", 0, 0, "weekday"), T("E", 0, 0, "isoWeekday"),
1712
- // ALIASES
1713
- I("day", "d"), I("weekday", "e"), I("isoWeekday", "E"),
1714
- // PRIORITY
1715
- L("day", 11), L("weekday", 11), L("isoWeekday", 11),
1716
- // PARSING
1717
- Y("d", Kd), Y("e", Kd), Y("E", Kd), Y("dd", function(a, b) {
1718
- return b.weekdaysMinRegex(a);
1719
- }), Y("ddd", function(a, b) {
1720
- return b.weekdaysShortRegex(a);
1721
- }), Y("dddd", function(a, b) {
1722
- return b.weekdaysRegex(a);
1723
- }), ba(["dd", "ddd", "dddd"], function(a, b, c, d) {
1724
- var e = c._locale.weekdaysParse(a, d, c._strict);
1725
- // if we didn't get a weekday name, mark the date as invalid
1726
- null != e ? b.d = e : l(c).invalidWeekday = a;
1727
- }), ba(["d", "e", "E"], function(a, b, c, d) {
1728
- b[d] = t(a);
1729
- });
1730
- // LOCALES
1731
- var me = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
1732
- ne = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
1733
- oe = "Su_Mo_Tu_We_Th_Fr_Sa".split("_"),
1734
- pe = Vd,
1735
- qe = Vd,
1736
- re = Vd;
1737
- T("H", ["HH", 2], 0, "hour"), T("h", ["hh", 2], 0, Qa), T("k", ["kk", 2], 0, Ra), T("hmm", 0, 0, function() {
1738
- return "" + Qa.apply(this) + S(this.minutes(), 2);
1739
- }), T("hmmss", 0, 0, function() {
1740
- return "" + Qa.apply(this) + S(this.minutes(), 2) + S(this.seconds(), 2);
1741
- }), T("Hmm", 0, 0, function() {
1742
- return "" + this.hours() + S(this.minutes(), 2);
1743
- }), T("Hmmss", 0, 0, function() {
1744
- return "" + this.hours() + S(this.minutes(), 2) + S(this.seconds(), 2);
1745
- }), Sa("a", !0), Sa("A", !1),
1746
- // ALIASES
1747
- I("hour", "h"),
1748
- // PRIORITY
1749
- L("hour", 13), Y("a", Ta), Y("A", Ta), Y("H", Kd), Y("h", Kd), Y("HH", Kd, Gd), Y("hh", Kd, Gd), Y("hmm", Ld), Y("hmmss", Md), Y("Hmm", Ld), Y("Hmmss", Md), aa(["H", "HH"], _d), aa(["a", "A"], function(a, b, c) {
1750
- c._isPm = c._locale.isPM(a), c._meridiem = a;
1751
- }), aa(["h", "hh"], function(a, b, c) {
1752
- b[_d] = t(a), l(c).bigHour = !0;
1753
- }), aa("hmm", function(a, b, c) {
1754
- var d = a.length - 2;
1755
- b[_d] = t(a.substr(0, d)), b[ae] = t(a.substr(d)), l(c).bigHour = !0;
1756
- }), aa("hmmss", function(a, b, c) {
1757
- var d = a.length - 4,
1758
- e = a.length - 2;
1759
- b[_d] = t(a.substr(0, d)), b[ae] = t(a.substr(d, 2)), b[be] = t(a.substr(e)), l(c).bigHour = !0;
1760
- }), aa("Hmm", function(a, b, c) {
1761
- var d = a.length - 2;
1762
- b[_d] = t(a.substr(0, d)), b[ae] = t(a.substr(d));
1763
- }), aa("Hmmss", function(a, b, c) {
1764
- var d = a.length - 4,
1765
- e = a.length - 2;
1766
- b[_d] = t(a.substr(0, d)), b[ae] = t(a.substr(d, 2)), b[be] = t(a.substr(e));
1767
- });
1768
- var se, te = /[ap]\.?m?\.?/i,
1769
- ue = N("Hours", !0),
1770
- ve = {
1771
- calendar: td,
1772
- longDateFormat: ud,
1773
- invalidDate: vd,
1774
- ordinal: wd,
1775
- ordinalParse: xd,
1776
- relativeTime: yd,
1777
- months: ge,
1778
- monthsShort: he,
1779
- week: le,
1780
- weekdays: me,
1781
- weekdaysMin: oe,
1782
- weekdaysShort: ne,
1783
- meridiemParse: te
1784
- },
1785
- we = {},
1786
- xe = /^\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)?)?/,
1787
- ye = /^\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)?)?/,
1788
- ze = /Z|[+-]\d\d(?::?\d\d)?/,
1789
- Ae = [
1790
- ["YYYYYY-MM-DD", /[+-]\d{6}-\d\d-\d\d/],
1791
- ["YYYY-MM-DD", /\d{4}-\d\d-\d\d/],
1792
- ["GGGG-[W]WW-E", /\d{4}-W\d\d-\d/],
1793
- ["GGGG-[W]WW", /\d{4}-W\d\d/, !1],
1794
- ["YYYY-DDD", /\d{4}-\d{3}/],
1795
- ["YYYY-MM", /\d{4}-\d\d/, !1],
1796
- ["YYYYYYMMDD", /[+-]\d{10}/],
1797
- ["YYYYMMDD", /\d{8}/],
1798
- // YYYYMM is NOT allowed by the standard
1799
- ["GGGG[W]WWE", /\d{4}W\d{3}/],
1800
- ["GGGG[W]WW", /\d{4}W\d{2}/, !1],
1801
- ["YYYYDDD", /\d{7}/]
1802
- ],
1803
- Be = [
1804
- ["HH:mm:ss.SSSS", /\d\d:\d\d:\d\d\.\d+/],
1805
- ["HH:mm:ss,SSSS", /\d\d:\d\d:\d\d,\d+/],
1806
- ["HH:mm:ss", /\d\d:\d\d:\d\d/],
1807
- ["HH:mm", /\d\d:\d\d/],
1808
- ["HHmmss.SSSS", /\d\d\d\d\d\d\.\d+/],
1809
- ["HHmmss,SSSS", /\d\d\d\d\d\d,\d+/],
1810
- ["HHmmss", /\d\d\d\d\d\d/],
1811
- ["HHmm", /\d\d\d\d/],
1812
- ["HH", /\d\d/]
1813
- ],
1814
- Ce = /^\/?Date\((\-?\d+)/i;
1815
- a.createFromInputFallback = w("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.", function(a) {
1816
- a._d = new Date(a._i + (a._useUTC ? " UTC" : ""));
1817
- }),
1818
- // constant that refers to the ISO standard
1819
- a.ISO_8601 = function() {};
1820
- var De = w("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/", function() {
1821
- var a = rb.apply(null, arguments);
1822
- return this.isValid() && a.isValid() ? this > a ? this : a : n();
1823
- }),
1824
- Ee = w("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/", function() {
1825
- var a = rb.apply(null, arguments);
1826
- return this.isValid() && a.isValid() ? a > this ? this : a : n();
1827
- }),
1828
- Fe = function() {
1829
- return Date.now ? Date.now() : +new Date;
1830
- };
1831
- xb("Z", ":"), xb("ZZ", ""),
1832
- // PARSING
1833
- Y("Z", Td), Y("ZZ", Td), aa(["Z", "ZZ"], function(a, b, c) {
1834
- c._useUTC = !0, c._tzm = yb(Td, a);
1835
- });
1836
- // HELPERS
1837
- // timezone chunker
1838
- // '+10:00' > ['10', '00']
1839
- // '-1530' > ['-15', '30']
1840
- var Ge = /([\+\-]|\d\d)/gi;
1841
- // HOOKS
1842
- // This function will be called whenever a moment is mutated.
1843
- // It is intended to keep the offset in sync with the timezone.
1844
- a.updateOffset = function() {};
1845
- // ASP.NET json date format regex
1846
- var He = /^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?\d*)?$/,
1847
- Ie = /^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;
1848
- Mb.fn = vb.prototype;
1849
- var Je = Rb(1, "add"),
1850
- Ke = Rb(-1, "subtract");
1851
- a.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ", a.defaultFormatUtc = "YYYY-MM-DDTHH:mm:ss[Z]";
1852
- var Le = w("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.", function(a) {
1853
- return void 0 === a ? this.localeData() : this.locale(a);
1814
+ xb("Z", ":"), xb("ZZ", ""),
1815
+ // PARSING
1816
+ Y("Z", Td), Y("ZZ", Td), aa(["Z", "ZZ"], function(a, b, c) {
1817
+ c._useUTC = !0, c._tzm = yb(Td, a);
1854
1818
  });
1819
+ // HELPERS
1820
+ // timezone chunker
1821
+ // '+10:00' > ['10', '00']
1822
+ // '-1530' > ['-15', '30']
1823
+ var Ge = /([\+\-]|\d\d)/gi;
1824
+ // HOOKS
1825
+ // This function will be called whenever a moment is mutated.
1826
+ // It is intended to keep the offset in sync with the timezone.
1827
+ a.updateOffset = function() {};
1828
+ // ASP.NET json date format regex
1829
+ var He = /^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?\d*)?$/,
1830
+ Ie = /^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;
1831
+ Mb.fn = vb.prototype;
1832
+ var Je = Rb(1, "add"),
1833
+ Ke = Rb(-1, "subtract");
1834
+ a.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ", a.defaultFormatUtc = "YYYY-MM-DDTHH:mm:ss[Z]";
1835
+ var Le = w("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.", function(a) {
1836
+ return void 0 === a ? this.localeData() : this.locale(a);
1837
+ });
1838
+ // FORMATTING
1839
+ T(0, ["gg", 2], 0, function() {
1840
+ return this.weekYear() % 100;
1841
+ }), T(0, ["GG", 2], 0, function() {
1842
+ return this.isoWeekYear() % 100;
1843
+ }), xc("gggg", "weekYear"), xc("ggggg", "weekYear"), xc("GGGG", "isoWeekYear"), xc("GGGGG", "isoWeekYear"),
1844
+ // ALIASES
1845
+ I("weekYear", "gg"), I("isoWeekYear", "GG"),
1846
+ // PRIORITY
1847
+ L("weekYear", 1), L("isoWeekYear", 1),
1848
+ // PARSING
1849
+ Y("G", Rd), Y("g", Rd), Y("GG", Kd, Gd), Y("gg", Kd, Gd), Y("GGGG", Od, Id), Y("gggg", Od, Id), Y("GGGGG", Pd, Jd), Y("ggggg", Pd, Jd), ba(["gggg", "ggggg", "GGGG", "GGGGG"], function(a, b, c, d) {
1850
+ b[d.substr(0, 2)] = t(a);
1851
+ }), ba(["gg", "GG"], function(b, c, d, e) {
1852
+ c[e] = a.parseTwoDigitYear(b);
1853
+ }),
1855
1854
  // FORMATTING
1856
- T(0, ["gg", 2], 0, function() {
1857
- return this.weekYear() % 100;
1858
- }), T(0, ["GG", 2], 0, function() {
1859
- return this.isoWeekYear() % 100;
1860
- }), xc("gggg", "weekYear"), xc("ggggg", "weekYear"), xc("GGGG", "isoWeekYear"), xc("GGGGG", "isoWeekYear"),
1861
- // ALIASES
1862
- I("weekYear", "gg"), I("isoWeekYear", "GG"),
1863
- // PRIORITY
1864
- L("weekYear", 1), L("isoWeekYear", 1),
1865
- // PARSING
1866
- Y("G", Rd), Y("g", Rd), Y("GG", Kd, Gd), Y("gg", Kd, Gd), Y("GGGG", Od, Id), Y("gggg", Od, Id), Y("GGGGG", Pd, Jd), Y("ggggg", Pd, Jd), ba(["gggg", "ggggg", "GGGG", "GGGGG"], function(a, b, c, d) {
1867
- b[d.substr(0, 2)] = t(a);
1868
- }), ba(["gg", "GG"], function(b, c, d, e) {
1869
- c[e] = a.parseTwoDigitYear(b);
1870
- }),
1871
- // FORMATTING
1872
- T("Q", 0, "Qo", "quarter"),
1873
- // ALIASES
1874
- I("quarter", "Q"),
1875
- // PRIORITY
1876
- L("quarter", 7),
1877
- // PARSING
1878
- Y("Q", Fd), aa("Q", function(a, b) {
1879
- b[Zd] = 3 * (t(a) - 1);
1880
- }),
1881
- // FORMATTING
1882
- T("D", ["DD", 2], "Do", "date"),
1883
- // ALIASES
1884
- I("date", "D"),
1885
- // PRIOROITY
1886
- L("date", 9),
1887
- // PARSING
1888
- Y("D", Kd), Y("DD", Kd, Gd), Y("Do", function(a, b) {
1889
- return a ? b._ordinalParse : b._ordinalParseLenient;
1890
- }), aa(["D", "DD"], $d), aa("Do", function(a, b) {
1891
- b[$d] = t(a.match(Kd)[0], 10);
1892
- });
1893
- // MOMENTS
1894
- var Me = N("Date", !0);
1895
- // FORMATTING
1896
- T("DDD", ["DDDD", 3], "DDDo", "dayOfYear"),
1897
- // ALIASES
1898
- I("dayOfYear", "DDD"),
1899
- // PRIORITY
1900
- L("dayOfYear", 4),
1901
- // PARSING
1902
- Y("DDD", Nd), Y("DDDD", Hd), aa(["DDD", "DDDD"], function(a, b, c) {
1903
- c._dayOfYear = t(a);
1904
- }),
1905
- // FORMATTING
1906
- T("m", ["mm", 2], 0, "minute"),
1907
- // ALIASES
1908
- I("minute", "m"),
1909
- // PRIORITY
1910
- L("minute", 14),
1911
- // PARSING
1912
- Y("m", Kd), Y("mm", Kd, Gd), aa(["m", "mm"], ae);
1913
- // MOMENTS
1914
- var Ne = N("Minutes", !1);
1855
+ T("Q", 0, "Qo", "quarter"),
1856
+ // ALIASES
1857
+ I("quarter", "Q"),
1858
+ // PRIORITY
1859
+ L("quarter", 7),
1860
+ // PARSING
1861
+ Y("Q", Fd), aa("Q", function(a, b) {
1862
+ b[Zd] = 3 * (t(a) - 1);
1863
+ }),
1915
1864
  // FORMATTING
1916
- T("s", ["ss", 2], 0, "second"),
1917
- // ALIASES
1918
- I("second", "s"),
1919
- // PRIORITY
1920
- L("second", 15),
1921
- // PARSING
1922
- Y("s", Kd), Y("ss", Kd, Gd), aa(["s", "ss"], be);
1923
- // MOMENTS
1924
- var Oe = N("Seconds", !1);
1865
+ T("D", ["DD", 2], "Do", "date"),
1866
+ // ALIASES
1867
+ I("date", "D"),
1868
+ // PRIOROITY
1869
+ L("date", 9),
1870
+ // PARSING
1871
+ Y("D", Kd), Y("DD", Kd, Gd), Y("Do", function(a, b) {
1872
+ return a ? b._ordinalParse : b._ordinalParseLenient;
1873
+ }), aa(["D", "DD"], $d), aa("Do", function(a, b) {
1874
+ b[$d] = t(a.match(Kd)[0], 10);
1875
+ });
1876
+ // MOMENTS
1877
+ var Me = N("Date", !0);
1878
+ // FORMATTING
1879
+ T("DDD", ["DDDD", 3], "DDDo", "dayOfYear"),
1880
+ // ALIASES
1881
+ I("dayOfYear", "DDD"),
1882
+ // PRIORITY
1883
+ L("dayOfYear", 4),
1884
+ // PARSING
1885
+ Y("DDD", Nd), Y("DDDD", Hd), aa(["DDD", "DDDD"], function(a, b, c) {
1886
+ c._dayOfYear = t(a);
1887
+ }),
1925
1888
  // FORMATTING
1926
- T("S", 0, 0, function() {
1927
- return ~~(this.millisecond() / 100);
1928
- }), T(0, ["SS", 2], 0, function() {
1929
- return ~~(this.millisecond() / 10);
1930
- }), T(0, ["SSS", 3], 0, "millisecond"), T(0, ["SSSS", 4], 0, function() {
1931
- return 10 * this.millisecond();
1932
- }), T(0, ["SSSSS", 5], 0, function() {
1933
- return 100 * this.millisecond();
1934
- }), T(0, ["SSSSSS", 6], 0, function() {
1935
- return 1e3 * this.millisecond();
1936
- }), T(0, ["SSSSSSS", 7], 0, function() {
1937
- return 1e4 * this.millisecond();
1938
- }), T(0, ["SSSSSSSS", 8], 0, function() {
1939
- return 1e5 * this.millisecond();
1940
- }), T(0, ["SSSSSSSSS", 9], 0, function() {
1941
- return 1e6 * this.millisecond();
1942
- }),
1943
- // ALIASES
1944
- I("millisecond", "ms"),
1945
- // PRIORITY
1946
- L("millisecond", 16),
1947
- // PARSING
1948
- Y("S", Nd, Fd), Y("SS", Nd, Gd), Y("SSS", Nd, Hd);
1949
- var Pe;
1950
- for (Pe = "SSSS"; Pe.length <= 9; Pe += "S") Y(Pe, Qd);
1951
- for (Pe = "S"; Pe.length <= 9; Pe += "S") aa(Pe, Gc);
1952
- // MOMENTS
1953
- var Qe = N("Milliseconds", !1);
1889
+ T("m", ["mm", 2], 0, "minute"),
1890
+ // ALIASES
1891
+ I("minute", "m"),
1892
+ // PRIORITY
1893
+ L("minute", 14),
1894
+ // PARSING
1895
+ Y("m", Kd), Y("mm", Kd, Gd), aa(["m", "mm"], ae);
1896
+ // MOMENTS
1897
+ var Ne = N("Minutes", !1);
1898
+ // FORMATTING
1899
+ T("s", ["ss", 2], 0, "second"),
1900
+ // ALIASES
1901
+ I("second", "s"),
1902
+ // PRIORITY
1903
+ L("second", 15),
1904
+ // PARSING
1905
+ Y("s", Kd), Y("ss", Kd, Gd), aa(["s", "ss"], be);
1906
+ // MOMENTS
1907
+ var Oe = N("Seconds", !1);
1908
+ // FORMATTING
1909
+ T("S", 0, 0, function() {
1910
+ return ~~(this.millisecond() / 100);
1911
+ }), T(0, ["SS", 2], 0, function() {
1912
+ return ~~(this.millisecond() / 10);
1913
+ }), T(0, ["SSS", 3], 0, "millisecond"), T(0, ["SSSS", 4], 0, function() {
1914
+ return 10 * this.millisecond();
1915
+ }), T(0, ["SSSSS", 5], 0, function() {
1916
+ return 100 * this.millisecond();
1917
+ }), T(0, ["SSSSSS", 6], 0, function() {
1918
+ return 1e3 * this.millisecond();
1919
+ }), T(0, ["SSSSSSS", 7], 0, function() {
1920
+ return 1e4 * this.millisecond();
1921
+ }), T(0, ["SSSSSSSS", 8], 0, function() {
1922
+ return 1e5 * this.millisecond();
1923
+ }), T(0, ["SSSSSSSSS", 9], 0, function() {
1924
+ return 1e6 * this.millisecond();
1925
+ }),
1926
+ // ALIASES
1927
+ I("millisecond", "ms"),
1928
+ // PRIORITY
1929
+ L("millisecond", 16),
1930
+ // PARSING
1931
+ Y("S", Nd, Fd), Y("SS", Nd, Gd), Y("SSS", Nd, Hd);
1932
+ var Pe;
1933
+ for (Pe = "SSSS"; Pe.length <= 9; Pe += "S") Y(Pe, Qd);
1934
+ for (Pe = "S"; Pe.length <= 9; Pe += "S") aa(Pe, Gc);
1935
+ // MOMENTS
1936
+ var Qe = N("Milliseconds", !1);
1937
+ // FORMATTING
1938
+ T("z", 0, 0, "zoneAbbr"), T("zz", 0, 0, "zoneName");
1939
+ var Re = q.prototype;
1940
+ Re.add = Je, Re.calendar = Ub, Re.clone = Vb, Re.diff = ac, Re.endOf = mc, Re.format = ec, Re.from = fc, Re.fromNow = gc, Re.to = hc, Re.toNow = ic, Re.get = Q, Re.invalidAt = vc, Re.isAfter = Wb, Re.isBefore = Xb, Re.isBetween = Yb, Re.isSame = Zb, Re.isSameOrAfter = $b, Re.isSameOrBefore = _b, Re.isValid = tc, Re.lang = Le, Re.locale = jc, Re.localeData = kc, Re.max = Ee, Re.min = De, Re.parsingFlags = uc, Re.set = R, Re.startOf = lc, Re.subtract = Ke, Re.toArray = qc, Re.toObject = rc, Re.toDate = pc, Re.toISOString = dc, Re.toJSON = sc, Re.toString = cc, Re.unix = oc, Re.valueOf = nc, Re.creationData = wc,
1941
+ // Year
1942
+ Re.year = ke, Re.isLeapYear = qa,
1943
+ // Week Year
1944
+ Re.weekYear = yc, Re.isoWeekYear = zc,
1945
+ // Quarter
1946
+ Re.quarter = Re.quarters = Ec,
1947
+ // Month
1948
+ Re.month = ja, Re.daysInMonth = ka,
1949
+ // Week
1950
+ Re.week = Re.weeks = Aa, Re.isoWeek = Re.isoWeeks = Ba, Re.weeksInYear = Bc, Re.isoWeeksInYear = Ac,
1951
+ // Day
1952
+ Re.date = Me, Re.day = Re.days = Ja, Re.weekday = Ka, Re.isoWeekday = La, Re.dayOfYear = Fc,
1953
+ // Hour
1954
+ Re.hour = Re.hours = ue,
1955
+ // Minute
1956
+ Re.minute = Re.minutes = Ne,
1957
+ // Second
1958
+ Re.second = Re.seconds = Oe,
1959
+ // Millisecond
1960
+ Re.millisecond = Re.milliseconds = Qe,
1961
+ // Offset
1962
+ Re.utcOffset = Bb, Re.utc = Db, Re.local = Eb, Re.parseZone = Fb, Re.hasAlignedHourOffset = Gb, Re.isDST = Hb, Re.isLocal = Jb, Re.isUtcOffset = Kb, Re.isUtc = Lb, Re.isUTC = Lb,
1963
+ // Timezone
1964
+ Re.zoneAbbr = Hc, Re.zoneName = Ic,
1965
+ // Deprecations
1966
+ Re.dates = w("dates accessor is deprecated. Use date instead.", Me), Re.months = w("months accessor is deprecated. Use month instead", ja), Re.years = w("years accessor is deprecated. Use year instead", ke), Re.zone = w("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/", Cb), Re.isDSTShifted = w("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information", Ib);
1967
+ var Se = Re,
1968
+ Te = B.prototype;
1969
+ Te.calendar = C, Te.longDateFormat = D, Te.invalidDate = E, Te.ordinal = F, Te.preparse = Lc, Te.postformat = Lc, Te.relativeTime = G, Te.pastFuture = H, Te.set = z,
1970
+ // Month
1971
+ Te.months = ea, Te.monthsShort = fa, Te.monthsParse = ha, Te.monthsRegex = ma, Te.monthsShortRegex = la,
1972
+ // Week
1973
+ Te.week = xa, Te.firstDayOfYear = za, Te.firstDayOfWeek = ya,
1974
+ // Day of Week
1975
+ Te.weekdays = Ea, Te.weekdaysMin = Ga, Te.weekdaysShort = Fa, Te.weekdaysParse = Ia, Te.weekdaysRegex = Ma, Te.weekdaysShortRegex = Na, Te.weekdaysMinRegex = Oa,
1976
+ // Hours
1977
+ Te.isPM = Ua, Te.meridiem = Va, Za("en", {
1978
+ ordinalParse: /\d{1,2}(th|st|nd|rd)/,
1979
+ ordinal: function(a) {
1980
+ var b = a % 10,
1981
+ c = 1 === t(a % 100 / 10) ? "th" : 1 === b ? "st" : 2 === b ? "nd" : 3 === b ? "rd" : "th";
1982
+ return a + c;
1983
+ }
1984
+ }),
1985
+ // Side effect imports
1986
+ a.lang = w("moment.lang is deprecated. Use moment.locale instead.", Za), a.langData = w("moment.langData is deprecated. Use moment.localeData instead.", ab);
1987
+ var Ue = Math.abs,
1988
+ Ve = cd("ms"),
1989
+ We = cd("s"),
1990
+ Xe = cd("m"),
1991
+ Ye = cd("h"),
1992
+ Ze = cd("d"),
1993
+ $e = cd("w"),
1994
+ _e = cd("M"),
1995
+ af = cd("y"),
1996
+ bf = ed("milliseconds"),
1997
+ cf = ed("seconds"),
1998
+ df = ed("minutes"),
1999
+ ef = ed("hours"),
2000
+ ff = ed("days"),
2001
+ gf = ed("months"),
2002
+ hf = ed("years"),
2003
+ jf = Math.round,
2004
+ kf = {
2005
+ s: 45, // seconds to minute
2006
+ m: 45, // minutes to hour
2007
+ h: 22, // hours to day
2008
+ d: 26, // days to month
2009
+ M: 11
2010
+ },
2011
+ lf = Math.abs,
2012
+ mf = vb.prototype;
2013
+ mf.abs = Uc, mf.add = Wc, mf.subtract = Xc, mf.as = ad, mf.asMilliseconds = Ve, mf.asSeconds = We, mf.asMinutes = Xe, mf.asHours = Ye, mf.asDays = Ze, mf.asWeeks = $e, mf.asMonths = _e, mf.asYears = af, mf.valueOf = bd, mf._bubble = Zc, mf.get = dd, mf.milliseconds = bf, mf.seconds = cf, mf.minutes = df, mf.hours = ef, mf.days = ff, mf.weeks = fd, mf.months = gf, mf.years = hf, mf.humanize = kd, mf.toISOString = ld, mf.toString = ld, mf.toJSON = ld, mf.locale = jc, mf.localeData = kc,
2014
+ // Deprecations
2015
+ mf.toIsoString = w("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)", ld), mf.lang = Le,
2016
+ // Side effect imports
1954
2017
  // FORMATTING
1955
- T("z", 0, 0, "zoneAbbr"), T("zz", 0, 0, "zoneName");
1956
- var Re = q.prototype;
1957
- Re.add = Je, Re.calendar = Ub, Re.clone = Vb, Re.diff = ac, Re.endOf = mc, Re.format = ec, Re.from = fc, Re.fromNow = gc, Re.to = hc, Re.toNow = ic, Re.get = Q, Re.invalidAt = vc, Re.isAfter = Wb, Re.isBefore = Xb, Re.isBetween = Yb, Re.isSame = Zb, Re.isSameOrAfter = $b, Re.isSameOrBefore = _b, Re.isValid = tc, Re.lang = Le, Re.locale = jc, Re.localeData = kc, Re.max = Ee, Re.min = De, Re.parsingFlags = uc, Re.set = R, Re.startOf = lc, Re.subtract = Ke, Re.toArray = qc, Re.toObject = rc, Re.toDate = pc, Re.toISOString = dc, Re.toJSON = sc, Re.toString = cc, Re.unix = oc, Re.valueOf = nc, Re.creationData = wc,
1958
- // Year
1959
- Re.year = ke, Re.isLeapYear = qa,
1960
- // Week Year
1961
- Re.weekYear = yc, Re.isoWeekYear = zc,
1962
- // Quarter
1963
- Re.quarter = Re.quarters = Ec,
1964
- // Month
1965
- Re.month = ja, Re.daysInMonth = ka,
1966
- // Week
1967
- Re.week = Re.weeks = Aa, Re.isoWeek = Re.isoWeeks = Ba, Re.weeksInYear = Bc, Re.isoWeeksInYear = Ac,
1968
- // Day
1969
- Re.date = Me, Re.day = Re.days = Ja, Re.weekday = Ka, Re.isoWeekday = La, Re.dayOfYear = Fc,
1970
- // Hour
1971
- Re.hour = Re.hours = ue,
1972
- // Minute
1973
- Re.minute = Re.minutes = Ne,
1974
- // Second
1975
- Re.second = Re.seconds = Oe,
1976
- // Millisecond
1977
- Re.millisecond = Re.milliseconds = Qe,
1978
- // Offset
1979
- Re.utcOffset = Bb, Re.utc = Db, Re.local = Eb, Re.parseZone = Fb, Re.hasAlignedHourOffset = Gb, Re.isDST = Hb, Re.isLocal = Jb, Re.isUtcOffset = Kb, Re.isUtc = Lb, Re.isUTC = Lb,
1980
- // Timezone
1981
- Re.zoneAbbr = Hc, Re.zoneName = Ic,
1982
- // Deprecations
1983
- Re.dates = w("dates accessor is deprecated. Use date instead.", Me), Re.months = w("months accessor is deprecated. Use month instead", ja), Re.years = w("years accessor is deprecated. Use year instead", ke), Re.zone = w("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/", Cb), Re.isDSTShifted = w("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information", Ib);
1984
- var Se = Re,
1985
- Te = B.prototype;
1986
- Te.calendar = C, Te.longDateFormat = D, Te.invalidDate = E, Te.ordinal = F, Te.preparse = Lc, Te.postformat = Lc, Te.relativeTime = G, Te.pastFuture = H, Te.set = z,
1987
- // Month
1988
- Te.months = ea, Te.monthsShort = fa, Te.monthsParse = ha, Te.monthsRegex = ma, Te.monthsShortRegex = la,
1989
- // Week
1990
- Te.week = xa, Te.firstDayOfYear = za, Te.firstDayOfWeek = ya,
1991
- // Day of Week
1992
- Te.weekdays = Ea, Te.weekdaysMin = Ga, Te.weekdaysShort = Fa, Te.weekdaysParse = Ia, Te.weekdaysRegex = Ma, Te.weekdaysShortRegex = Na, Te.weekdaysMinRegex = Oa,
1993
- // Hours
1994
- Te.isPM = Ua, Te.meridiem = Va, Za("en", {
1995
- ordinalParse: /\d{1,2}(th|st|nd|rd)/,
1996
- ordinal: function(a) {
1997
- var b = a % 10,
1998
- c = 1 === t(a % 100 / 10) ? "th" : 1 === b ? "st" : 2 === b ? "nd" : 3 === b ? "rd" : "th";
1999
- return a + c;
2000
- }
2001
- }),
2002
- // Side effect imports
2003
- a.lang = w("moment.lang is deprecated. Use moment.locale instead.", Za), a.langData = w("moment.langData is deprecated. Use moment.localeData instead.", ab);
2004
- var Ue = Math.abs,
2005
- Ve = cd("ms"),
2006
- We = cd("s"),
2007
- Xe = cd("m"),
2008
- Ye = cd("h"),
2009
- Ze = cd("d"),
2010
- $e = cd("w"),
2011
- _e = cd("M"),
2012
- af = cd("y"),
2013
- bf = ed("milliseconds"),
2014
- cf = ed("seconds"),
2015
- df = ed("minutes"),
2016
- ef = ed("hours"),
2017
- ff = ed("days"),
2018
- gf = ed("months"),
2019
- hf = ed("years"),
2020
- jf = Math.round,
2021
- kf = {
2022
- s: 45, // seconds to minute
2023
- m: 45, // minutes to hour
2024
- h: 22, // hours to day
2025
- d: 26, // days to month
2026
- M: 11
2027
- },
2028
- lf = Math.abs,
2029
- mf = vb.prototype;
2030
- mf.abs = Uc, mf.add = Wc, mf.subtract = Xc, mf.as = ad, mf.asMilliseconds = Ve, mf.asSeconds = We, mf.asMinutes = Xe, mf.asHours = Ye, mf.asDays = Ze, mf.asWeeks = $e, mf.asMonths = _e, mf.asYears = af, mf.valueOf = bd, mf._bubble = Zc, mf.get = dd, mf.milliseconds = bf, mf.seconds = cf, mf.minutes = df, mf.hours = ef, mf.days = ff, mf.weeks = fd, mf.months = gf, mf.years = hf, mf.humanize = kd, mf.toISOString = ld, mf.toString = ld, mf.toJSON = ld, mf.locale = jc, mf.localeData = kc,
2031
- // Deprecations
2032
- mf.toIsoString = w("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)", ld), mf.lang = Le,
2033
- // Side effect imports
2034
- // FORMATTING
2035
- T("X", 0, 0, "unix"), T("x", 0, 0, "valueOf"),
2036
- // PARSING
2037
- Y("x", Rd), Y("X", Ud), aa("X", function(a, b, c) {
2038
- c._d = new Date(1e3 * parseFloat(a, 10));
2039
- }), aa("x", function(a, b, c) {
2040
- c._d = new Date(t(a));
2041
- }),
2042
- // Side effect imports
2043
- a.version = "2.14.1", b(rb), a.fn = Se, a.min = tb, a.max = ub, a.now = Fe, a.utc = j, a.unix = Jc, a.months = Pc, a.isDate = f, a.locale = Za, a.invalid = n, a.duration = Mb, a.isMoment = r, a.weekdays = Rc, a.parseZone = Kc, a.localeData = ab, a.isDuration = wb, a.monthsShort = Qc, a.weekdaysMin = Tc, a.defineLocale = $a, a.updateLocale = _a, a.locales = bb, a.weekdaysShort = Sc, a.normalizeUnits = J, a.relativeTimeRounding = id, a.relativeTimeThreshold = jd, a.calendarFormat = Tb, a.prototype = Se;
2044
- var moment = a;
2045
-
2046
-
2047
- return {
2048
- "moment": moment
2049
- };
2050
-
2051
- }());
2018
+ T("X", 0, 0, "unix"), T("x", 0, 0, "valueOf"),
2019
+ // PARSING
2020
+ Y("x", Rd), Y("X", Ud), aa("X", function(a, b, c) {
2021
+ c._d = new Date(1e3 * parseFloat(a, 10));
2022
+ }), aa("x", function(a, b, c) {
2023
+ c._d = new Date(t(a));
2024
+ }),
2025
+ // Side effect imports
2026
+ a.version = "2.14.1", b(rb), a.fn = Se, a.min = tb, a.max = ub, a.now = Fe, a.utc = j, a.unix = Jc, a.months = Pc, a.isDate = f, a.locale = Za, a.invalid = n, a.duration = Mb, a.isMoment = r, a.weekdays = Rc, a.parseZone = Kc, a.localeData = ab, a.isDuration = wb, a.monthsShort = Qc, a.weekdaysMin = Tc, a.defineLocale = $a, a.updateLocale = _a, a.locales = bb, a.weekdaysShort = Sc, a.normalizeUnits = J, a.relativeTimeRounding = id, a.relativeTimeThreshold = jd, a.calendarFormat = Tb, a.prototype = Se;
2027
+ var moment = a;
2028
+
2029
+
2030
+ return {
2031
+ "moment": moment
2032
+ };
2033
+ }, true);